Author: jatuporn.ch

  • วิธีการปิดช่องโหว่ Logjam,Freak,Poodle,Beast สำหรับ Windows Server 2008 / 2008 R2 / 2012 / 2012 R2

    “จะทำอย่างไรทีดีกับช่องโหว่ SSL เยอะซะเหลือเกิน ปิดใช้แต่ TLS ก็ได้นิ นั่นสินะ”

    • อย่างที่ข้างบนกล่าวไว้ครับวิธีการปิดช่องโหว่นี้ทำง่าย ๆ แค่ปิด SSLv2 SSLv3 และปิด Cipher Suite ที่ไม่ปลอดภัยเพิ่มเติม
    • ก่อนที่จะทำการปิดช่องโหว่ลองทดสอบ test ความปลอดภัย ที่ website https://ssltest.psu.ac.th/server ก็จะได้ดังรูปตัวอย่างนี้ (จะเห็นได้ว่า Grade ร้ายแรงมาก)

    2015-11-11_104537

    2015-11-11_054809 2015-11-11_054929

    • จากนั้นทำการ Reboot อีกครั้ง
    • ทำการทดสอบ test ความปลอดภัย ที่ website https://ssltest.psu.ac.th/server อีกครั้งก็ได้ดังรูป

    2015-11-11_112904

  • วิธีการปิดช่องโหว่ Logjam,Freak,Poodle,Beast สำหรับ Windows Server 2003 R2

    “จะทำอย่างไรทีดีกับช่องโหว่ SSL เยอะซะเหลือเกิน ปิดใช้แต่ TLS ก็ได้นิ นั่นสินะ”

    • อย่างที่ข้างบนกล่าวไว้ครับวิธีการปิดช่องโหว่นี้ทำง่าย ๆ แค่ปิด SSLv2 SSLv3 และปิด Cipher Suite ที่ไม่ปลอดภัยเพิ่มเติม
    • แต่สำหรับ Windows Server 2003 เนื่องจากไม่รองรับ Cipher Suite ที่ปลอดภัยบางตัว จึงต้องทำการรัน hotfix ก่อน โดยสามารถโหลดได้ที่นี่ (อย่าลืมเลือกให้ตรง platform x86 x64 นะครับ)
      https://support.microsoft.com/en-us/kb/948963
    • ก่อนจะรัน hotfix ลองทดสอบ test ความปลอดภัย ที่ website https://ssltest.psu.ac.th/server ก็จะได้ดังรูปตัวอย่างนี้ (จะเห็นได้ว่า Grade ร้ายแรงมาก)

    2015-11-11_053418

    • เมื่อโหลดไฟล์เรียบร้อยแล้วทำการแตก zip และ run ด้วยสิทธิ์ administrator ดังรูป

    2015-11-11_0537382015-11-11_053830

    • หลังจากนั้นเลือก Finish และทำการ Restart เครื่อง
    • จากนั้นทำการโหลดโปรแกรมจาก web https://www.nartac.com ดังนี้
      https://www.nartac.com/Downloads/IISCrypto/IISCrypto.exe
    • จากนั้นรันโปรแกรมดังรูป

    2015-11-11_054809 2015-11-11_054929

    • จากนั้นทำการ Reboot อีกครั้ง
    • ทำการทดสอบ test ความปลอดภัย ที่ website https://ssltest.psu.ac.th/server อีกครั้งก็ได้ดังรูป

    2015-11-11_055801

    • จะเห็นได้ว่ายังได้ Grade F (จริง ๆ ถ้าเป็น Windows 2008 R2 ขึ้นไปจะได้ A เนื่องจากรองรับ TLS 1.2) เนื่องจากช่องโหว่ POODLE(TLS) ไม่สามารถแก้ได้ เพราะจะแก้ได้ต้องปิด TLS 1.0 ใช้ TLS 1.2 ขึ้นไป ซึ่งจะ Windows 2003 และ Windows 2008 (ไม่มี R2) รองรับได้แค่ TLS 1.0 จึงแนะนำให้รีบเปลี่ยน Windows Server OS เป็น Windows 2008 R2 ขึ้นไปเพื่อความปลอดภัย

    2015-11-11_065251

    • จากรูปข้างบนซึ่งเป็น Windows 2003 เช่นกัน “สันนิษฐานว่า” อาจเพราะว่า เครื่องนี้ได้ Windows Update จึงทำให้ไม่มีช่องโหว่ ถ้า Update ถึงระดับนึง ทาง Microsoft น่าจะปิดช่องโหว่ POODLE (TLS) เรียบร้อยแล้ว
    • ต้องแยกกันนะครับระหว่างเปิด TLS 1.0 กับ มีช่องโหว่ เพราะมีอีกหลายปัจจัย เพราะ TLS เป็นแค่ Protocol แต่กระบวนการที่เหลือทั้งวิธีการเข้ารหัส วิธีการแลกเปลี่ยน Key เป็นปัจจัยหนี่งของช่องโหว่ รวมถึงช่องโหว่จากบริการในเครื่องที่ใช้ TLS 1.0 ในการรับส่งข้อมูล แต่ถ้าปิด Protocol ตั้งแต่ต้นก็จะมั่นใจได้มากกว่า เพราะไม่แน่ว่าอนาคตอาจมีช่องโหว่เกี่ยวกับ TLS 1.0 ออกมาอีก
    • แต่การปิด TLS 1.0 จะกระทบกับ Browser ค่อนข้างมาก โดยเฉพาะ window xp,vista
    • อ่านเพิ่มเติมได้ที่นี่ครับ
      https://www.blognone.com/node/63653
      https://en.wikipedia.org/wiki/Template:TLS/SSL_support_history_of_web_browsers
    • สามารถอ่านวิธีแก้ไขช่องโหว่เพิ่มเติมได้ที่นี่ครับ
      http://sysadmin.psu.ac.th/2015/11/10/serversecuritypatch
  • การแก้ไข Certificate สำหรับ Lighttpd Web Server (Ubuntu 14.04 LTS)

    “อยากแก้ Certificate บน Linux Lighttpd Server ทำอย่างไร”

      • ในกรณีที่มีไฟล์ Certificate อยู่แล้วให้ทำการวางไฟล์ Certificate ใหม่ทับแล้วสั่ง Restart Apache Server เป็นอันเสร็จครับ (สำหรับการเปลี่ยน Certificate มีแค่ขั้นตอนนี้จบเลยครับ)
      • ในกรณีที่ยังไม่ได้ติดตั้ง https รวมถึง Certificate ให้ทำการติดตั้ง https ก่อนดังนี้
        sudo lighttpd-enable-mod ssl
      • จากนั้นให้สั่ง Restart Apache ตามปกติ
        sudo service lighttpd restart
      • ทำการวางไฟล์ Certificate ไว้ในตำแหน่งที่ Lighttpd สามารถเข้าถึงได้ ในกรณีที่ที่นี้ผมจะวางไว้ที่ /etc/cer
      • ในกรณีที่ได้มาเป็นไฟล์ .cer และไฟล์ .key มาต้องการทำไฟล์ .pem สามารถพิมพ์คำสั่งดังนี้
        sudo cat [file_cer_name].key [file_cer_name].crt > [file_cer_name].pem
      • ทำการแก้ไขไฟล์ 10-ssl.conf ดังนี้
        sudo vim /etc/lighttpd/conf-enabled/10-ssl.conf
      • โดยส่วนที่ทำการเปลี่ยนแปลงจะทำการเปลี่ยน 1 บรรทัดดังนี้
        ssl.pemfile = "/etc/cer/[file_cer_name].pem"
      • จากนั้นให้สั่ง Restart Apache ตามปกติ
        sudo service lighttpd restart

    เป็นอันเสร็จครับ ง่ายมากจริง ๆ ครับ

  • การแก้ไข Certificate สำหรับ Apache Web Server (Ubuntu 14.04 LTS)

    “อยากแก้ Certificate บน Linux Apache Server ทำอย่างไร”

      • ในกรณีที่มีไฟล์ Certificate อยู่แล้วให้ทำการวางไฟล์ Certificate ใหม่ทับแล้วสั่ง Restart Apache Server เป็นอันเสร็จครับ (สำหรับการเปลี่ยน Certificate มีแค่ขั้นตอนนี้จบเลยครับ)
      • ในกรณีที่ยังไม่ได้ติดตั้ง https รวมถึง Certificate ให้ทำการติดตั้ง https ก่อนดังนี้
        sudo a2enmod ssl
        sudo a2ensite default-ssl
      • จากนั้นให้สั่ง Restart Apache ตามปกติ
        sudo service apache2 restart
        
      • ทำการวางไฟล์ Certificate ไว้ในตำแหน่งที่ Apache สามารถเข้าถึงได้ ในกรณีที่ที่นี้ผมจะวางไว้ที่ /etc/apache2/cer
      • ทำการแก้ไขไฟล์ default-ssl.conf ดังนี้
        sudo vim /etc/apache2/sites-enabled/default-ssl.conf
      • โดยส่วนที่ทำการเปลี่ยนแปลงจะทำการเปลี่ยน 3 บรรทัดดังนี้
        SSLCertificateFile /etc/apache2/cer/[cer-file-name].crt
        SSLCertificateKeyFile /etc/apache2/cer/[cer-file-name].key
        SSLCertificateChainFile /etc/apache2/cer/[cer-file-name].ca-bundle
      • จากนั้นให้สั่ง Restart Apache ตามปกติ
        sudo service apache2 restart
        

    เป็นอันเสร็จครับ ง่ายมากจริง ๆ ครับ

  • การแก้ไข Certificate สำหรับ Windows Server 2008 / 2008 R2 / 2012 / 2012 R2

    “อยากแก้ Certificate บน Windows Server 2008 ขึ้นไป ทำอย่างไร”

    เนื่องจาก Windows 2008 R2 ขึ้นไป มีการตั้งค่าคล้ายคลึงกันจึงขอยกตัวอย่างที่เป็น Windows Server 2008 R2 เท่านั้นครับ

    • วิธีการเปลี่ยนให้เข้าไปยัง IIS ในเครื่อง Windows Server 2008 R2

    2015-11-10_181324

    • เลือกชื่อเครื่องจากนั้นเลือกหัวข้อ Server Certificates ทางด้านขวาดังนี้

    2015-11-10_181456

    • ในกรณีที่เคยมี Certificate เก่าอยู่แล้ว (ต้องการเปลี่ยน Certificate) ให้ดำเนินการ Remove ออกก่อนดังรูป จากนั้นทำการ Restart เครื่อง (ถ้ายังไม่เคยใส่ให้ข้ามขั้นตอนนี้ไปเลย)

    2015-11-10_181636 2015-11-10_181702

    • ในกรณีที่ยังไม่เคยมี Certificate ให้ทำการ Import ดังรูป

    2015-11-10_181803 2015-11-10_1819352015-11-10_183936

    • จากนั้นทำการเลือก Web Site ที่ต้องการเปลี่ยน Certificate ในกรณีที่ยังไม่มี https ให้กด Add ในกรณีมีอยู่แล้วให้กด Edit จากนั้นเลือก SSL certificate ที่ต้องการใช้งาน จากนั้นกดปุ่ม OK

    2015-11-10_182305

    เป็นอันเสร็จสิ้นขั้นตอนการเปลี่ยน Certificate ให้ล่าสุดและปลอดภัยครับ

  • การแก้ไข Certificate สำหรับ Windows Server 2003 R2

    “อยากแก้ Certificate บน Windows Server 2003 R2 ทำอย่างไร”

    • วิธีการเปลี่ยนให้เข้าไปยัง IIS ในเครื่อง Windows Server 2003 R2

    2015-11-10_171414

    • จากนั้นเลือกเครื่องกด + เข้าไปเรื่อย ๆ ในหัวข้อ Web Sites และเลือก Web Site ที่ใช้งาน คลิกขวาเลือก Properties

    2015-11-10_171812

    • เข้าไปยังหน้าจัดการ Certificate ดังรูป

    2015-11-10_172407

    • จากนั้นกด Next เพื่อทำการ Import Certificate เข้าสู่ IIS

    2015-11-10_172431

    • ในกรณีที่เคยมี Certificate เก่าอยู่แล้วจะต้องทำการ Remove Certificate เก่าออกก่อนดังนี้ (ถ้ายังไม่เคยมีให้ข้ามขั้นตอนนี้ไป)

    2015-11-10_172833 2015-11-10_172918 2015-11-10_172938

    • ในกรณีที่ยังไม่เคยมี Certificate ให้ดำเนินการ Import Certificate จากไฟล์ .pfx ดังนี้

    2015-11-10_172508 2015-11-10_172558 2015-11-10_172619 2015-11-10_172648 2015-11-10_172709 2015-11-10_172730 2015-11-10_172748เป็นอันเสร็จสิ้นวิธีเปลี่ยน Certificate สำหรับ Windows Server 2003 R2 ครับ

  • วิธีการตรวจสอบระดับความปลอดภัยของ Certificate

    “เราสามารถมั่นใจได้อย่างไรว่า Certificate ที่ใช้อยู่มีความปลอดภัยเพียงพอ”

      • ในกรณีนี้เหมาะกับท่านที่มี Certificate ที่ซื้อมาเอง หรือมีการ Trust กันภายในองค์กร ในกรณีที่เป็น Self Sign Certificate แบบออกเอง ใช้เองไม่จำเป็นต้องเปลี่ยนครับ (เพราะไม่น่าเชื่อถืออยู่แล้วครับ) ใครต้องการเปลี่ยนไปใช้ Public Certificate ต้องตรวจสอบก่อนครับว่าเข้าเงื่อนไขของ Certificate นั้นหรือเปล่า เช่น *.psu.ac.th ถ้าเป็น www.cc.psu.ac.th อันนี้ใช้ไม่ได้ครับ
      • ปกติเราสามารถตรวจสอบง่าย ๆ ได้อยู่แล้วผ่าน Browser ที่ใช้อยู่ ยกตัวอย่าง Chrome สามารถอ่านรายละเอียดเพิ่มเติมได้ที่นี่ครับ
        https://support.google.com/chrome/answer/95617?hl=th
      • สำหรับ Certificate ที่แนะนำจะเป็น SHA-2 ขึ้นไป ซึ่งไม่แนะนำ SHA-1 เพราะไม่แข็งแรงพอ และจะสิ้นสุดระหว่างในปี 2016-2017 นี้ อ่านเพิ่มเติมได้ที่
        https://community.qualys.com/blogs/securitylabs/2014/09/09/sha1-deprecation-what-you-need-to-know
      • ในส่วนของ Windows Server สามารถตรวจสอบโดยการเข้า IIS จากนั้นกดดูในส่วนของ Certificate
      • ในส่วนของ Linux ก็สามารถดูได้โดยกดดู Certificate จาก Browser ครับ

    2015-11-10_0617452015-11-10_055328

    2015-11-10_055735

      • Web ไหนยังใช้ SHA-1 รีบเปลี่ยนไปใช้ SHA-2 กันดีกว่าครับ แต่ SHA-2 รองรับ Windows XP SP3 ขึ้นไปเท่านั้นครับ หน่วยงานใดยังใช้ XP อยู่แนะนำให้ Upgrade เป็น SP3 หรือไม่ก็เปลี่ยนไปใช้ Windows 7/8/8.1/10 ก็ได้ครับ
      • สามารถอ่านบทความเกี่ยวกับรวมวิธีลดช่องโหว่ Server เพิ่มเติมได้ที่นี่ครับ
        http://sysadmin.psu.ac.th/2015/11/10/serversecuritypatch
  • ตรวจสอบความปลอดภัย web server https โดย Qualys

    “จะตรวจสอบได้อย่างไรว่า Web Server ที่ให้บริการ https มีความปลอดภัยเพียงพอ”

    บทความนี้จะอธิบายวิธีการใช้งานและการอ่านค่าคร่าว ๆ ของ Web Qualys ดังนี้

    • เข้า Web Site https://www.ssllabs.com/ssltest จะปรากฏหน้าต่างให้ใส่ Domain Name ที่ต้องการตรวจสอบ ถ้าไม่ต้องการให้โชว์ผลขึ้น Score Board ประจานให้ทั่วโลกเห็น(อันนี้ห้ามคนอื่นกดไม่ได้นะครับ) ให้ติก Do not show the results on the boards จากนั้นกด Submit

    2015-11-10_044047

    • จากนั้นระบบจะทำการตรวจสอบประมาณ 1-2 นาที โดย Web Site ที่สามารถตรวจสอบได้ต้องสามารถเข้าถึงจากภายนอกเท่านั้น
    • จากนั้นจะปรากฎหน้าผลลัพธ์ในรูปแบบ Overall Rating ดังนี้

    2015-11-10_045236

    • ในส่วนแรกคือ Summary อธิบายเป็นส่วน ๆ ได้ดังนี้
    1. Overall Rating :  จะเป็นตัวบอกคร่าว ๆ ว่า Web นี้มีความปลอดภัย Grade อะไรซึ่งจากรูปได้ F แสดงว่าไม่ปลอดภัยอย่างมาก
    2. จะอธิบายเพิ่มเติมโดยแยกเป็น 4 ส่วนคือ
      Certificate - ระดับความแข็งแรงของใบประกาศ (ยากในการปลอมหรือในการถอดรหัสข้อมูล)
      Protocol Support - ระดับความปลอดภัยของ Protocol ที่ให้บริการ SSL/TLS
      Key Exchange - ระดับความปลอดภัยของการแลกเปลี่ยน Key
      Cipher Strength - ระดับความแข็งแรงของ Cipher ซึ่งเป็น Algorithm ที่ใช้ในการเข้ารหัส
      
    3. ในส่วนนี้จะอธิบายลึกลงไปว่ามีผลทำให้เกิดช่องโหว่ร้ายแรงอะไรบ้าง โดยจะบอกว่าเกิดจากอะไร เช่น จากรูป Server รองรับ SSL Version 2 ซึ่งยกเลิกการใช้งานไปแล้วเพราะไม่ปลอดภัย, เกิดช่องโหว่ FREAK, POODLE TLS โดยเราสามารถอ่านรายละเอียดเพิ่มเติมโดยการกด More Info
    4. จะอธิบายรายละเอียดเพิ่มเติม แต่ถือว่าเป็นระดับที่ยังไม่ร้ายแรง แต่แนะนำให้แก้ไข เช่น จากรูปแนะนำให้เลิกใช้ SSL Version 3 ส่วน TLS ควรใช้ Version ล่าสุดซึ่งเป็น TLS 1.2
    • โดยเราสามารถเลื่อนมาดูรายละเอียดเพิ่มเติมได้ ซึ่งจะมีบอกในส่วน Handshake Simulation ซึ่งจะตรวจสอบให้คร่าว ๆ ว่า Browser ใดไม่รองรับบ้าง

    หวังว่าจะเป็นเครื่องมือที่ช่วยยกระดับความปลอดภัยของ Web Server ที่รองรับการใช้งานแบบเข้ารหัสได้เป็นอย่างดีครับ สามารถอ่านวิธีแก้ไขช่องโหว่เพิ่มเติมได้ที่นี่ครับ

    http://sysadmin.psu.ac.th/2015/11/10/serversecuritypatch

    Reference : https://www.ssllabs.com, Qualys SSL LABS

  • รวมวิธีลดช่องโหว่ Server

    “บทความนี้เป็นบทความเกี่ยวกับวิธีการปิดช่องโหว่ รวมถึงวิธีการ Monitor ตรวจสอบช่องโหว่ด้วยโปรแกรมต่าง ๆ ครับ”


    วิธีการตรวจสอบช่องโหว่

    Blog 1 : ตรวจสอบความปลอดภัย web server https โดย Qualys


    Blog 2วิธีการตรวจสอบระดับความปลอดภัยของ Certificate


    วิธีการแก้ไข Certificate เพื่อให้มีความปลอดภัยมากขึ้น

    Blog 1 : Windows Server 2003 R2


    Blog 2 : Windows Server 2008 / 2008 R2 / 2012 / 2012 R2


    Blog 3 : Apache Web Server (Ubuntu 14.04 LTS)


    Blog 4 : Lighttpd Web Server (Ubuntu 14.04 LTS)


    วิธีการปิดช่องโหว่ Logjam,Freak,Poodle,Beast

    Blog 1 : Windows Server 2003 R2


    Blog 2 : Windows Server 2008/2008 R2/2012/2012 R2


    Blog 3 : Apache Web Server (Ubuntu 14.04 LTS)


    Blog 4Lighttpd Web Server (Ubuntu 14.04 LTS)


    อ่านวิธีแก้ไขเพิ่มเติมได้ที่ : http://disablessl3.com/