คลังเก็บป้ายกำกับ: ssl

ทำเว็บให้ปลอดภัยด้วย SSL แบบไม่เสียซักบาท

หายหน้าหายตาไปหลายเดือนเลยครับ ช่วงนี้ผมยุ่งกับงานมากๆ ต้องมาคอยดูแลงานก่อสร้างทั้งๆที่ตัวเองเป็นแค่ IT พูดแล้วมันก็เศร้าครับ แต่ความสนุกมันเพิ่มขึ้นเพราะการได้ลองซื้อ SSL มาเล่นซึ่งมันจะเพิ่มความปลอดภัยของเว็บไซต์ได้มากขึ้น รวมทั้งข้อมูลต่างๆที่ส่งผ่านระหว่างเครื่องลูก และเครื่องแม่จะถูกเข้ารหัสทั้งหมดครับ แถมได้ข่าวเมื่อไม่นานมานี้มา หลายๆ browser เริ่มจะพิจารณาเรื่องนี้อย่างจริงจัง อาจจะทำให้เว็บไซต์ที่ไม่ผ่าน SSL กลายเป็นเว็บไม่ปลอดภัยและมีการแจ้งเตือนตลอดครับ พูดแล้วเรามาเริ่มกันเลยดีกว่าครับ

SSL นั้นย่อมากจาก Secure Sockets layer เป็น Protocol หนึ่งที่ใช้กันอย่างแพร่หลายในเวลานี้ ประโยชน์ของมันเพื่อเข้ารหัสข้อมูลทั้งหมด ที่ส่งและรับจากเครื่องแม่ และเครื่องลูกครับ ทำไมต้องเข้ารหัส แน่นอนครับว่าทุกวันนี้ หลายๆคนอาจจะเล่นเน็ทตาม Wifi Free ต่างๆซึ่ง Network ของ Wifi ฟรีเหล่านี้เราไม่รู้เลยว่ามีการเก็บข้อมูลระหว่างทางของเราหรือเปล่า หรือไม่อาจจะมีมือดีแอบดักข้อมูลของเราอยู่ก็ได้ครับ หากเราไม่ได้เข้าเว็บที่ผ่านการเข้ารหัส เกิดมีการกระทำที่ว่ามาข้างตนอาจทำให้ข้อมูลของท่านรั่วไหลได้ครับ โดยปกติหากไม่เข้ารหัส ข้อมูลส่วนใหญ่จะถูกส่งเป็น plain text หาถูกดักข้อมูล เขาจะรู้ข้อมูลได้ทันที เช่นรหัสผ่าน ที่เข้าเว็บไซต์ต่างๆ ข้อมูล session ที่อาจจะค้างในเครื่องเพื่อใช้ยืนยันตัวตนกับเว็บไซต์ โดยไม่ต้องออกแรงอะไรเลย แต่ถ้าหากเข้ารหัสแล้วเขาสามารถดักข้อมูลเราไปได้จริง แต่เขาจะไม่สามารถรู้ได้เลยว่ามีข้อมูลอะไรอยู่เพราะมันถูกเข้ารหัสอยู่ ตัวอย่างเช่น เราส่งคำว่า AAAA ไปให้เครื่องแม่ หากไม่เข้ารหัส มันก็จะส่ง AAAA ไปเลย แต่ถ้าผ่านการเข้ารหัส มันจะกลายเป็นตัวหนังสือที่ไม่รู้เรื่องเช่น จาก AAAA อาจจะกลายเป็น xdfsa อะไรแบบนี้ครับ เข้าใจประโยชน์ของมันแล้ว คราวนี้เรามาเริ่มดูกันว่าจะไปหาใช้บริการเจ้าพวกนี้ได้ที่ไหน

SSL นั้นไม่ฟรีครับ ต้องเสียเงินซื้อ และการจะซื้อนั้นยังต้องมีการ Validation หรือยืนยันตัวตนกับผู้ที่ขายให้เราอีก โดยราคา SSL นั้นขึ้นอยู่กับประเภทครับ โดยแบ่งเป็นหัวข้อหลักๆเลยดังนี้

แบบที่ 1 DomainSSL เป็น SSL ที่เหมาะกับการทำเว็บไซต์ โดยราคาไม่แพงมาก และยืนยันตัวตัวง่ายๆ เพียงแค่เราเป็นเจ้าของโดเมน ก็สามารถยืนยันตัวตนได้แล้วครับ

cats

แบบที่ 2 OrganizationSSL เป็น SSL สำหรับองค์กร โดย SSL ประเภทนี้จะให้ความน่าเชื่อถือมากกว่าแบบแรก เพราะต้องใช้การยืนยันระดับองค์กร โดยผู้ที่จะซื้อต้องมีบริษัท และใช้เอกสารการจดบริษัทเพื่อยืนยันตัวตนครับ ราคานั้นอยู่ในระดับกลางๆ

cats

แบบที่ 3 ExtendedSSL เป็น SSL ขั้นสูงสุด โดย SSL แบบนี้เหมาะสำหรับองค์กรที่ต้องการความน่าเชื่อถือสูง เช่นธนาคาร ร้านค้า ห้างร้านใหญ่ๆ และจะเห็นได้ชัดที่สุดคือเมื่อเข้าเว็บไซต์แล้วจะมีแถบสีเขียว และแสดงบริษัทอย่างเห็นได้ชัด ส่วนราคานั้นค่อนข้างสูงครับ

2

นอกจาก 3 ประเภทนี้ยังมี Option ย่อยๆของแต่ละแบบด้วยครับ โดยแบ่งย่อยปรมาณนี้1. แบบ Standard แบบนี้รองรองแค่ชื่อโดเมนเดียวครับ เช่นจด kilvalrikan.com ก็สามารถใช้ได้แค่ชื่อนี้เท่านั้นครับ

2. แบบ Wildcard แบบนี้จะรองรับ Subdomain ด้วย เช่นจด kilvalrikan.com แล้วจะสามารถใช้ได้กับ mail.kilvalrikan.com sql.kilvalrikan.com ได้อีกครับ

3.แบบ UC (Unfield Communications) แบบนี้จะสามารถใช้ได้ หลายโดเมน และหลายซับโดเมนอีกด้วย แต่จะ Limit ให้ไม่เกิน 100 ชื่อครับ

สำหรับที่จัดจำหน่าย SSL เราสามารถซื้อเองจากผู้ให้บริการต่างชาติให้เลย หรือสามารถซื้อจากบริษัท Reseller ในไทย ที่จะให้คำแนะนำประเภท SSL ที่เหมาะสม และวิธีการติดตั้ง ใช้งานครับ อยากรู้ก็ลองค้นหาจากพี่กูเกิ้ลเลยครับ

ส่วนที่ผมจะมาแนะนำวันนี้เราจะมาใช้กันแบบฟรีๆครับ ซึ่งตอนนี้มีบริการแบบฟรีๆที่ผมรู้จักก็แค่เจ้าเดียวมั้ง ส่วนที่กำลังจะเปิดให้ใช้กันในเดือนกันยายน อย่าง let’s encrypt ก็ยังต้องรอ ใครใจร้อนมาใช้วิธีผมดีกว่า

ส่วนใหญ่เราเช่าโอสติ้งกัน น่าจะใช้ Directadmin เป็นหลัก งั้นผมจะสอนวิธีทำง่ายๆจาก directadmin ละกันครับ

เริ่มแรกให้เรา login เข้า directadmin ก่อนครับ จากนั้นให้กดปุ่ม domain administrator

1

หากใครไม่มีปุ่มนี้ลองติดต่อทางผู้ให้บริการว่าเราอยากใช้ SSL ให้เขาเปิดให้ละกันครับ

จากนั้นให้เรากดชื่อโดเมนที่เราจะทำครับ

2

ต่อไปให้เลือกตามภาพและครับ โดย Enable SSL และให้เว็บ ssl กับไม่ ssl อยู่ Folder เดียวกัน

3จากนั้นกด save และลองเข้าเว็บ โดยพิมพ์ https://ชื่อเว็บ ดูครับ หากใช้ได้จะเจอหน้าเตือนว่าการเข้ารหัสไม่ปลอดภัย

4ถ้าได้ถึงตรงนี้ถือว่าเสร็จสิ้นการตั้งค่า SSL ของ Hosting ต่อไปจะเป็นการไปทำใน Cloudflare ครับ โดยที่ Cloudflare เป็นบริการจัดการ Dns และช่วยเป็น cache ให้เพื่อเพิ่มความเร็วและลดภาระของ Server ซึ่งไม่นานมานี้เขาเปิดให้สามารถใช้ SSL ได้แบบฟรีๆ แต่ต้องผ่าน Cloudflare นะครับ ส่วนวิธีสมัคร และตั้งค่าโดเมนเข้ากับ Cloudflare นั้นผมว่าไม่น่ายากเกินกำลัง ผมขอข้ามไปเป็นวิธีการตั้งค่า SSL บน Cloudflare เลยละกันครับ

ขั้นแรกเลย โดเมนของท่านต้องผ่าน Cloudflare วิธีผ่านคือเข้าหน้า DNS และกฎเมฆให้มันเป็นสีส้มๆครับ โดบ Record ที่ต้องทำคือ A ชื่อเว็บเต็มๆของเรา กับ cname www ครับ ซึ่งถ้าเราตั้งค่าตอนแรกกับ Cloudflare เขาจะตั้งเป็น Default ให้อยู่แล้วครับ

6

ให้เราเข้าเมนู crypto ครับและเปิด SSL ให้เป็นแบบ Full

5พอเสร็จแล้วก็เซฟ จากนั้นรอซักแปปนึงแล้วดูผลที่ทำโดยการเข้าเว็บผ่าน https://เว็บไซต์ ดูครับถ้าไม่มี Warning เตือนแสดงว่าทำได้ถูกวิธีและครับทุกขั้นตอนครับ

เท่านี้เว็บเราก็จะปลอดภัยสำหรับผู้เข้าชม และตัว admin เองที่ต้องทำงานหลังเว็บบ่อยๆครับ หวังว่าบทความนี้จะเป็นประโยชน์สำหรับหลายคนนะครับ เพราะเป็นบทความในรอบ 2 – 3 เดือนของผม หุหุ เมื่อไหร่ที่ let’s encrypt มา ผมจะมารีวีวกันให้ทราบอีกครั้งครับ

ปล.พบคำผิด Comment แจ้งได้ครับ ผมรีบพิมพ์นิดนึง

วิธีทำ SSL แบบ Single Domain กับ IIS 7

SSL Host Headers in IIS 7 allow you to use one SSL certificate for multiple IIS websites on the same IP address. Through the IIS Manager interface, IIS only allows you to bind one site on each IP address to port 443 using an SSL certificate. If you try to bind a second site on the IP address to the same certificate, IIS 7 will give you an error when starting the site up stating that there is a port conflict. In order to assign a certificate to be used by multiple IIS sites on the same IP address, you will need to set up SSL Host Headers by following the instructions below.

What Type of SSL Certificate Do You Need?

Because you can only use one certificate, that certificate needs to work with all the hostnames of the websites that you use it with (otherwise you will receive a name mismatch error). For example, if each of your IIS 7 websites uses a subdomain of a single common domain name (like in the example below), you can get a Wildcard Certificate for *.mydomain.com and it will secure site1.mydomain.com, site2.mydomain.com, etc.

If, on the other hand, your IIS 7 sites all use different domain names (mail.mydomain1.com, mail.mydomain2.com, etc.), you will need to get a Unified Communications Certificate (also called a SAN certificate).

Setting up SSL Host Headers on IIS 7

  1. Obtain an SSL certificate and install it into IIS 7. For step-by-step instructions on how to do this, see Installing an SSL Certificate in Windows Server 2008 (IIS 7.0).

    Install SSL Certificate into IIS 7

  2. Once the certificate is installed into IIS, bind it to the first site on the IP address.

    Bind the SSL Certificate to the first site on the IP address

  3. Open the command prompt by clicking the start menu and typing “cmd” and hitting enter.
  4. Navigate to C:\Windows\System32\Inetsrv\ by typing “cd C:\Windows\System32\Inetsrv\” on the command line.
  5. In the Inetsrv folder, run the following command for each of the other websites on the IP address that need to use the certificate (copy both lines):

    appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']

    Replace <IISSiteName>  with the name of the IIS site and <hostHeaderValue> with the host header for that site (site1.mydomain.com)

    Run AppCmd to bind the other sites to port 443 using the same certificate

  6. Test each website in a browser. It should bring up the correct page and show the lock icon without any errors. If it brings up the web page of the first IIS site, then SSL Host Headers haven’t been set up correctly.

If you need to set up multiple site to use a single SSL certificate on IIS 6 or Apache, see How To Configure SSL Host Headers in IIS 6. For more information about SSL Host Headers in IIS 7 see IIS 7.0: Add a Binding to a Site and SSL certificates on Sites with Host Headers.

Source : https://www.sslshopper.com/article-ssl-host-headers-in-iis-7.html