เนื่องจากปัญหาด้านความปลอดภัยจำนวนมากขึ้นเช่นการใช้ประโยชน์จากเบราว์เซอร์ที่ประกาศใหม่ต่อ SSL / TLS (BEAST) ฉันอยากรู้ว่าเราจะเปิดใช้งาน TLS 1.1 และ 1.2 กับ OpenSSL และ Apache ได้อย่างไรเพื่อให้แน่ใจว่าเราจะไม่เสี่ยง เพื่อภัยคุกคามเวกเตอร์
เนื่องจากปัญหาด้านความปลอดภัยจำนวนมากขึ้นเช่นการใช้ประโยชน์จากเบราว์เซอร์ที่ประกาศใหม่ต่อ SSL / TLS (BEAST) ฉันอยากรู้ว่าเราจะเปิดใช้งาน TLS 1.1 และ 1.2 กับ OpenSSL และ Apache ได้อย่างไรเพื่อให้แน่ใจว่าเราจะไม่เสี่ยง เพื่อภัยคุกคามเวกเตอร์
คำตอบ:
TLS1.2 พร้อมใช้งานสำหรับ apache แล้วเพื่อเพิ่ม TLSs1.2 คุณเพียงแค่เพิ่มในการกำหนดค่าโฮสต์เสมือน https ของคุณ:
SSLProtocol -all +TLSv1.2
-all
กำลังลบโปรโตคอล SSL อื่น ๆ (SSL 1,2,3 TLS1)
+TLSv1.2
กำลังเพิ่ม TLS 1.2
สำหรับความเข้ากันได้ของเบราว์เซอร์เพิ่มเติมที่คุณสามารถใช้ได้
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
ด้วยวิธีที่คุณสามารถเพิ่มชุดรหัสได้เช่นกันโดยใช้:
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GC$
คุณสามารถทดสอบความปลอดภัยของเว็บไซต์ https ด้วยเครื่องสแกนออนไลน์เช่น: https://www.ssllabs.com/ssltest/index.html
รวบรวม apache ด้วย OpenSSL เวอร์ชันล่าสุดเพื่อเปิดใช้งาน TLSv1.1 และ TLSv1.2
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslprotocol
SSLProtocol +TLSv1.1 +TLSv1.2
ตามOpenSSL changelogการสนับสนุน TLS 1.2 ถูกเพิ่มเข้าไปในสาขาการพัฒนาของ OpenSSL 1.0.1 แต่รุ่นนี้ยังไม่วางจำหน่าย อาจจำเป็นต้องมีการเปลี่ยนแปลงบางอย่างในรหัส mod_ssl เพื่อเปิดใช้งาน TLS 1.2 สำหรับ Apache อย่างแท้จริง
อีกประการหนึ่งที่ใช้กันทั่วไป SSL / TLS ห้องสมุดNSS ; มันถูกใช้โดยโมดูล Apache ที่รู้จักกันดีน้อยmod_nss ; น่าเสียดายที่รุ่น NSS ปัจจุบันยังไม่รองรับ TLS 1.2
อีกหนึ่งห้องสมุด SSL / TLS คือGnuTLSและมันแกล้งสนับสนุน TLS 1.2 ในรีลีสปัจจุบันแล้ว มีโมดูล Apache ที่ใช้ GnuTLS: mod_gnutlsซึ่งอ้างว่ารองรับ TLS 1.2 ด้วย อย่างไรก็ตามโมดูลนี้ดูเหมือนจะค่อนข้างใหม่และอาจไม่เสถียรมาก ฉันไม่เคยลองใช้มัน
คุณทำไม่ได้ OpenSSL ยังไม่เปิดให้ใช้งาน TLS 1.1
หนึ่งความคิดเห็นที่เกี่ยวข้องใน / สำหรับปัญหานี้:
คุณจะอธิบายกลุ่มที่ไม่คุ้นเคยได้อย่างไรว่าคุณจะใช้การสนับสนุน TLS 1.1 และ 1.2 ในโลกที่ห้องสมุดที่โดดเด่น OpenSSL ยังไม่สนับสนุนโปรโตคอลใดโปรโตคอลหนึ่งในการเผยแพร่ที่เสถียรหรือไม่ แน่นอนว่าคุณสามารถใช้ GnuTLS และ mod_gnutls ได้และฉันได้ลองแล้ว แต่ไม่มีประเด็นเพราะไม่มีเบราว์เซอร์นอกเหนือจาก Opera ที่รองรับและมีข้อผิดพลาดแปลก ๆ ในโมดูล IE 8/9 ควรสนับสนุนพวกเขาภายใต้ Vista และ 7 แต่ไม่สามารถเข้าถึงไซต์ที่ให้บริการโดย mod_gnutls เมื่อเปิดใช้งาน 1.1 และ 1.2 บนฝั่งไคลเอ็นต์ ฉันลองใหม่อีกครั้งเมื่อวานนี้จากความอยากรู้และตอนนี้แม้แต่ Opera 11.51 ฉายาบน TLS 1.1 และ 1.2 ดังนั้นที่นั่น ไม่มีอะไรรองรับโปรโตคอลจริงๆ ต้องรอ OpenSSL 1.0.1 สำหรับ TLS 1.1 และไม่มีใครรู้ว่าเมื่อไรที่จะเข้าสู่ repos
Adam Langley วิศวกร Google Chrome ชี้ให้เห็นว่า TLS 1.1 จะไม่สามารถแก้ไขปัญหานี้ได้เนื่องจากปัญหาการติดตั้ง SSLv3 ที่ทุกคนต้องทำงาน: เบราว์เซอร์จะต้องปรับลดรุ่นเป็น SSLv3 เพื่อรองรับเซิร์ฟเวอร์รถบั๊กและผู้โจมตีสามารถเริ่มต้น มือตก
http://www.imperialviolet.org/2011/09/23/chromeandbeast.html
Gnu_tls ใช้งานได้อย่างมีเสน่ห์และยังใช้ SNI (การระบุชื่อเซิร์ฟเวอร์) ซึ่งเป็นประโยชน์อย่างมากในการโฮสต์เสมือน ....
ไม่มีปัญหาในการค้นหาแพ็คเกจ bin สำหรับ mod_gnutls ใน linux distros ฉันใช้มาตั้งแต่ 2 ปีและไม่มีปัญหาเลยมันมีประสิทธิภาพมากกว่า openssl imho
แต่ปัญหาก็คือเบราว์เซอร์ส่วนใหญ่ไม่รองรับ tls 1.1 หรือ 1.2 ดังนั้นโปรดเริ่มกระจายแนวคิดในการอัปเกรดเบราว์เซอร์ที่เป็นข้อบังคับให้กับผู้คน