วิธีเปิดใช้งาน TLS 1.1 และ 1.2 ด้วย OpenSSL และ Apache


33

เนื่องจากปัญหาด้านความปลอดภัยจำนวนมากขึ้นเช่นการใช้ประโยชน์จากเบราว์เซอร์ที่ประกาศใหม่ต่อ SSL / TLS (BEAST) ฉันอยากรู้ว่าเราจะเปิดใช้งาน TLS 1.1 และ 1.2 กับ OpenSSL และ Apache ได้อย่างไรเพื่อให้แน่ใจว่าเราจะไม่เสี่ยง เพื่อภัยคุกคามเวกเตอร์

คำตอบ:


25

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


2
ฉันไม่แน่ใจว่าทำไมโพสต์นี้ถูกทำเครื่องหมายว่า "ล้าสมัย" ฉันใช้โซลูชันที่แนะนำและเว็บไซต์ของลูกค้าของฉันเปลี่ยนจากอันดับ "C" ใน Qualsys SSL Labs เป็น "A"
Michael Sobczak

สวัสดีฉันลบคำเตือนที่ล้าสมัยเพื่อป้องกันการเข้าใจผิดมันเป็นลิงก์ไปยังคำตอบที่ถูกต้องเก่า ฉันมีความสุขที่ความปลอดภัยของคุณเพิ่มขึ้น;)
Froggiz

ใน sites-available / 000-default.conf ฉันเพิ่มไปยังโฮสต์เสมือน 'SSLProtocol -all + TLSv1.2' และได้รับ: AH00526: ข้อผิดพลาดทางไวยากรณ์ในบรรทัดที่ 31 ของ /etc/apache2/sites-enabled/000-default.conf : คำสั่งไม่ถูกต้อง 'SSLProtocol' อาจถูกสะกดผิดหรือถูกกำหนดโดยโมดูลที่ไม่ได้รับการแจ้งเตือนในการกำหนดค่าเซิร์ฟเวอร์การกระทำ 'configtest' ล้มเหลว
Elia Weiss

คุณเปิดใช้งาน mod_ssl หรือไม่ (คำสั่ง: a2enmod ssl)
Froggiz

"SSLProtocol: โปรโตคอลที่ผิดกฎหมาย 'TLSv1.2'" (OS X 10.10.5)
ไมเคิล


10

ตาม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 ด้วย อย่างไรก็ตามโมดูลนี้ดูเหมือนจะค่อนข้างใหม่และอาจไม่เสถียรมาก ฉันไม่เคยลองใช้มัน


1
@ Sergey ขอบคุณสำหรับลิงค์และข้อมูล ฉันยังเสียใจที่เราไม่สามารถใช้มาตรฐานเหล่านี้เมื่อพิจารณาอายุของพวกเขา ดูเหมือนจะแปลกสำหรับฉันที่เราต้องเป็นผู้ปกป้องระบบของเราและเครือข่ายของเรา แต่เราไม่สามารถใช้เครื่องมือที่จะช่วยปรับปรุงท่าความปลอดภัยของเรา นอกจากนี้ดูเหมือนว่าผู้ใช้เว็บเบราว์เซอร์มีวิธีที่จะช่วยเปิดใช้งานการสนับสนุนมาตรฐานเหล่านี้นอกเหนือไปจากผู้ใช้เซิร์ฟเวอร์อย่าง Apache และ IIS
จอห์น

2
คำตอบนี้ถูกต้องหรือไม่ในอีกหนึ่งปีต่อมา
Ben Walther

2
@BenWalther OpenSSL 1.0.1 เปิดตัวในเดือนมีนาคม 2012 ด้วยการสนับสนุน TLS 1.2 รุ่นล่าสุด ณ ขณะนี้คือ 1.0.1c ฉันไม่แน่ใจว่าส่วนที่เหลือของโพสต์ยังคงใช้ได้
Burhan Ali

6

คุณทำไม่ได้ 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

http://it.slashdot.org/comments.pl?sid=2439924&cid=37477890


1
@ Steve-o ขอบคุณสำหรับข้อมูล นี่เป็นเรื่องที่น่าผิดหวังที่ TLS 1.1 เปิดตัวตั้งแต่เดือนเมษายน 2549 และ TLS 1.2 ได้เปิดตัวตั้งแต่เดือนสิงหาคม 2551 พร้อมการอัปเดตในเดือนมีนาคม 2554 และเรายังไม่สามารถใช้ประโยชน์ได้
จอห์น

4

Adam Langley วิศวกร Google Chrome ชี้ให้เห็นว่า TLS 1.1 จะไม่สามารถแก้ไขปัญหานี้ได้เนื่องจากปัญหาการติดตั้ง SSLv3 ที่ทุกคนต้องทำงาน: เบราว์เซอร์จะต้องปรับลดรุ่นเป็น SSLv3 เพื่อรองรับเซิร์ฟเวอร์รถบั๊กและผู้โจมตีสามารถเริ่มต้น มือตก

http://www.imperialviolet.org/2011/09/23/chromeandbeast.html


3

Gnu_tls ใช้งานได้อย่างมีเสน่ห์และยังใช้ SNI (การระบุชื่อเซิร์ฟเวอร์) ซึ่งเป็นประโยชน์อย่างมากในการโฮสต์เสมือน ....

ไม่มีปัญหาในการค้นหาแพ็คเกจ bin สำหรับ mod_gnutls ใน linux distros ฉันใช้มาตั้งแต่ 2 ปีและไม่มีปัญหาเลยมันมีประสิทธิภาพมากกว่า openssl imho

แต่ปัญหาก็คือเบราว์เซอร์ส่วนใหญ่ไม่รองรับ tls 1.1 หรือ 1.2 ดังนั้นโปรดเริ่มกระจายแนวคิดในการอัปเกรดเบราว์เซอร์ที่เป็นข้อบังคับให้กับผู้คน


@ Rastrano - คุณมีข้อเสนอแนะหรือลิงค์ในการใช้งานหรือไม่? ขอบคุณสำหรับข้อมูลและมันแย่มากที่เบราว์เซอร์ "ทันสมัย" ยังไม่รองรับ
จอห์น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.