ข้อมูลความเป็นมา
SSL ถูกออกแบบมาเพื่อรักษาความปลอดภัยระดับการขนส่งบนอินเทอร์เน็ต สำหรับ HTTP 'aka' เว็บคุณจะรู้ว่านี่เป็น HTTPS แต่มันก็ใช้สำหรับโปรโตคอลแอปพลิเคชันอื่น SSLv2 เป็นโปรโตคอลความปลอดภัยการขนส่งที่ใช้กันอย่างแพร่หลายเป็นครั้งแรก แต่ไม่ปลอดภัยหลังจากนั้นไม่นาน ตอนนี้รองรับ SSLv3 และ TLSv1 อย่างกว้างขวาง TLSv1.1 และ TLSv1.2 เป็นรุ่นใหม่กว่าและได้รับการสนับสนุนเป็นจำนวนมากเช่นกัน เว็บเบราว์เซอร์ส่วนใหญ่ถ้าไม่ใช่ทุกรุ่นที่ออกจำหน่ายในปี 2014 จะมีการสนับสนุน
การค้นพบล่าสุดโดยวิศวกรของ Google ชี้ให้เห็นว่าไม่ควรใช้ SSLv3 อีกต่อไป (เช่น SSLv2 ถูกคัดค้านเมื่อนานมาแล้ว) ลูกค้าที่ไม่สามารถเชื่อมต่อกับเว็บไซต์ / บริการของคุณอาจมีข้อ จำกัด มาก CloudFlare ประกาศว่าผู้เยี่ยมชมน้อยกว่า 0.09% ของพวกเขายังคงใช้ SSLv3
วิธีแก้ปัญหาง่าย ๆ : ปิดการใช้งาน SSLv3
Ubuntu ให้การปรับปรุงใด ๆ หรือไม่?
ใช่ผ่านusn-2385-1พร้อมกับการเพิ่มคุณสมบัติ SCSV แต่ก็ไม่ได้ช่วยลดปัญหาอย่างสมบูรณ์เนื่องจากไม่ได้ปิดการใช้งาน SSLv3 และแพทช์จะทำงานได้ก็ต่อเมื่อการเชื่อมต่อทั้งสองด้านได้รับการแก้ไขแล้ว คุณจะได้รับผ่านการอัพเดทความปลอดภัยปกติของคุณในแพ็คเกจผู้จัดการ
ดังนั้นคุณยังต้องดำเนินการเองเพื่อปิดใช้งาน SSLv3 (สามารถกำหนดค่าได้) ไคลเอ็นต์ / เบราว์เซอร์เวอร์ชันในอนาคตจะปิดใช้งาน SSLv3 ได้มากที่สุด เช่น Firefox 34 จะทำเช่นนั้น
การปิดใช้งาน SSLv3 อย่างสมบูรณ์โดยค่าเริ่มต้นใน Ubuntu ในระดับการใช้งานอาจเป็นสิ่งที่แตกต่างออกไปสำหรับการใช้งานที่ไม่ใช่ HTTPS SSL ซึ่งไม่ได้รับความเสี่ยงมากนักดังนั้นฉันจึงสันนิษฐานว่าผู้ดูแลระบบจะไม่ทำเช่นนั้น
เหตุใดการอัปเดต SCSV ใน OpenSSL ผ่าน usn-2385-1 จึงไม่สามารถบรรเทาปัญหาได้
จริงๆหยุดถามคำถามดังกล่าวและเพียงข้ามสองสามย่อหน้าและปิดการใช้งาน SSLv3 แต่เดี๋ยวก่อนถ้าคุณไม่มั่นใจคุณไปที่นี่:
POODLE แสดงให้เห็นว่า SSLv3 ที่มี CBC ciphers ใช้งานไม่ได้การใช้ SCSV จะไม่เปลี่ยนแปลง SCSV ทำให้แน่ใจว่าคุณไม่ได้ลดระดับจากโปรโตคอล TLS บางตัวเป็นโปรโตคอล TLS / SSL ใด ๆ ที่ต่ำกว่าตามที่จำเป็นด้วยการโจมตีแบบ Man-in-the-Middle ที่จำเป็นสำหรับกรณีปกติ
หากคุณต้องเข้าถึงเซิร์ฟเวอร์บางตัวที่ไม่ได้ให้ TLS เลย แต่มีเพียง SSLv3 เบราว์เซอร์ของคุณก็ไม่มีทางเลือกและต้องพูดคุยกับเซิร์ฟเวอร์โดยใช้ SSLv3 ซึ่งจะมีช่องโหว่โดยไม่ต้องลดระดับการโจมตีใด ๆ
หากคุณต้องเข้าถึงเซิร์ฟเวอร์ที่ให้บริการ TLSv1 + และ SSLv3 ด้วย (ซึ่งไม่สนับสนุน) และคุณต้องการแน่ใจว่าการเชื่อมต่อของคุณจะไม่ถูกลดระดับเป็น SSLv3 โดยผู้โจมตีดังนั้นทั้งเซิร์ฟเวอร์และไคลเอนต์จำเป็นต้องใช้ SCSV นี้
สำหรับการบรรเทาปัญหาอย่างสมบูรณ์การปิดใช้งาน SSLv3 จุดจบของคุณก็เพียงพอแล้วและคุณสามารถมั่นใจได้ว่าคุณจะไม่ถูกลดระดับ และคุณจะไม่สามารถคุยกับเซิร์ฟเวอร์ SSLv3 เท่านั้นได้
ตกลงฉันจะปิดใช้งาน SSLv3 ได้อย่างไร
ดูด้านล่างในส่วนเฉพาะของแอปพลิเคชัน: Firefox, Chrome, Apache, Nginx และ Postfix ได้รับการคุ้มครองแล้ว
เฉพาะเซิร์ฟเวอร์หรือลูกค้าที่ได้รับผลกระทบด้วยหรือไม่?
ช่องโหว่นี้มีอยู่หากทั้งเซิร์ฟเวอร์และไคลเอนต์ยอมรับ SSLv3 (แม้ว่าทั้งคู่จะมีความสามารถใน TLSv1 / TLSv1.1 / TLS1.2 เนื่องจากการโจมตีที่ลดระดับ)
ในฐานะที่เป็นผู้ดูแลระบบเซิร์ฟเวอร์ที่คุณควรปิด SSLv3 ตอนนี้เพื่อความปลอดภัยของผู้ใช้
ในฐานะผู้ใช้คุณควรปิดการใช้งาน SSLv3 ในเบราว์เซอร์ของคุณตอนนี้เพื่อความปลอดภัยของตัวเองเมื่อเยี่ยมชมเว็บไซต์ที่ยังคงรองรับ SSLv3
OpenSSL / GnuTLS / เบราว์เซอร์นี้เฉพาะเจาะจงหรือไม่
ไม่มันเป็นข้อผิดพลาดของโปรโตคอล (การออกแบบ) ไม่ใช่ข้อผิดพลาดในการใช้งาน ซึ่งหมายความว่าคุณไม่สามารถแก้ไขได้ (เว้นแต่คุณจะเปลี่ยนการออกแบบ SSLv3 เก่า)
และใช่มีการเปิดตัวการรักษาความปลอดภัย OpenSSLใหม่แต่อ่านด้านล่าง ( แต่ฉันต้องการการสนับสนุน SSLv3 จริงๆ ... ด้วยเหตุผล X, Y, Z! ) เกี่ยวกับสาเหตุที่คุณควรให้ความสำคัญกับการปิดใช้งาน SSLv3 โดยสิ้นเชิง
ฉันสามารถฆ่า SSLv3 ในระดับเครือข่าย (ไฟร์วอลล์) ได้หรือไม่
ก็ใช่ ฉันใส่สิ่งนี้ในบล็อกโพสต์แยกต่างหากสำหรับความคิดและการทำงานเพิ่มเติม เราอาจมีiptables
กฎเวทมนต์ที่คุณสามารถใช้ได้!
โพสต์บล็อกของฉัน: จะลบ SSLv3 ในเครือข่ายของคุณโดยใช้ iptables สำหรับ POODLE ได้อย่างไร
เกี่ยวข้องกับ HTTPS เท่านั้นหรือสำหรับ IMAP / SMTP / OpenVPN และโปรโตคอลอื่น ๆ ที่รองรับ SSL หรือไม่
เวกเตอร์การโจมตีในปัจจุบันดังที่แสดงโดยนักวิจัยทำงานกับการควบคุมข้อความธรรมดาที่ส่งไปยังเซิร์ฟเวอร์โดยใช้ Javascript ที่ถูกเรียกใช้บนเครื่องของเหยื่อ เวกเตอร์นี้ใช้ไม่ได้กับสถานการณ์ที่ไม่ใช่ HTTPS โดยไม่ต้องใช้เบราว์เซอร์
นอกจากนี้โดยทั่วไปแล้วไคลเอนต์ SSL จะไม่อนุญาตให้ลดระดับเซสชันเป็น SSLv3 (มี TLSv1 + เห็นในความสามารถในการจับมือกัน) แต่เบราว์เซอร์ต้องการใช้งานร่วมกันได้มาก การรวมกันกับการควบคุมข้อความธรรมดาและวิธีเฉพาะที่ส่วนหัว HTTP ถูกสร้างขึ้นทำให้สามารถใช้ประโยชน์ได้
สรุป: ปิดการใช้งาน SSLv3 สำหรับ HTTPS ในขณะนี้ , ปิดการใช้งาน SSLv3 สำหรับบริการอื่น ๆ ในหน้าต่างบริการของคุณต่อไป
ผลกระทบคืออะไร? ฉันต้องเพิกถอนและสร้างใบรับรองเซิร์ฟเวอร์ของฉันใหม่หรือไม่ (เช่นเดียวกับ Heartbleed)
ไม่คุณไม่จำเป็นต้องหมุนใบรับรองสำหรับสิ่งนี้ ช่องโหว่เปิดเผยการกู้คืนข้อความธรรมดาจากข้อมูลเซสชันไม่ให้การเข้าถึงความลับใด ๆ (ไม่คีย์เซสชันหรือคีย์ใบรับรอง)
ผู้โจมตีมีแนวโน้มมากที่สุดเท่านั้นที่สามารถขโมยหัวธรรมดาเช่นคุกกี้เซสชั่นเพื่อให้ดำเนินการหักหลังเซสชั่น ข้อ จำกัด เพิ่มเติมคือความจำเป็นในการเต็มรูปแบบ (ใช้งาน) เดอะโจมตี MITM
มีอะไรอีกบ้างที่ฉันสามารถทำได้เพื่อปรับปรุงการกำหนดค่า SSL โดยทั่วไป
ในฐานะผู้ใช้นอกเหนือจากการปิดใช้งาน SSLv3 ในเบราว์เซอร์ของคุณไม่ใช่อย่างแท้จริง ดีเพียงติดตั้งการปรับปรุงความปลอดภัยล่าสุดเสมอ
สำหรับเซิร์ฟเวอร์ทำตามคู่มือเซิร์ฟเวอร์ของ Mozilla TLS และการทดสอบกับQualys' ทดสอบ ไม่ใช่เรื่องยากที่จะได้รับคะแนน A + บนเว็บไซต์ของคุณ เพียงอัปเดตแพ็คเกจของคุณและใช้คำแนะนำจากคู่มือ Mozilla
แต่ฉันต้องการการสนับสนุน SSLv3 จริงๆ ... ด้วยเหตุผล X, Y, Z! ตอนนี้คืออะไร
มีแพตช์ที่หลีกเลี่ยงการจู่โจมการดาวน์เกรดของ TLSv1 ที่มีความสามารถซึ่งเรียกว่า SSLv3 Fallback Protection มันจะปรับปรุงความปลอดภัยของ TLSv1 + ด้วยเช่นกัน (การลดระดับการโจมตีนั้นยาก / เป็นไปไม่ได้) มันนำเสนอเป็นย้ายกลับจากรุ่น OpenSSL ที่ผ่านมามากขึ้นในการรักษาความปลอดภัยที่ปรึกษาอูบุนตูUSN-2385-1
Big catch: ทั้งไคลเอนต์และเซิร์ฟเวอร์ต้องการแพตช์นี้เพื่อให้ทำงานได้ ดังนั้นในความคิดของฉันในขณะที่คุณกำลังอัปเดตทั้งไคลเอนต์และเซิร์ฟเวอร์คุณควรอัปเกรดเป็น TLSv1 + ต่อไป
อย่างไรก็ตามโปรดได้โปรดเกษียณ SSLv3 ในเครือข่ายของคุณในตอนนี้ ใช้ความพยายามในการอัพเกรดมาตรฐานความปลอดภัยและเพียงทิ้ง SSLv3
ฉันได้ยินเกี่ยวกับการสนับสนุน SCSV เพื่อกำจัดการโจมตีที่ลดระดับโปรโตคอล ฉันต้องการมันไหม
เฉพาะในกรณีที่คุณต้องการ SSLv3 ด้วยเหตุผลแปลก ๆ แต่ก็ช่วยเพิ่มความปลอดภัยใน TLSv1 + ด้วยใช่ฉันอยากแนะนำให้คุณติดตั้ง อูบุนตูให้การปรับปรุงสำหรับคุณลักษณะนี้ในUSN-2385-1 คุณจะได้รับผ่านการอัพเดทความปลอดภัยปกติของคุณในแพ็คเกจผู้จัดการ
ทดสอบช่องโหว่สำหรับไซต์ที่โฮสต์เป็นส่วนตัว (เช่นอินทราเน็ต / ออฟไลน์)
เซิร์ฟเวอร์ของคุณมีช่องโหว่หากรองรับ SSLv3 ตัวเลือกมากมายที่นี่:
ด้วย OpenSSL s_client:
openssl s_client -connect <server>:<port> -ssl3
หากการเชื่อมต่อสำเร็จ sslv3 จะถูกเปิดใช้งาน ถ้ามันล้มเหลวมันถูกปิดใช้งาน เมื่อล้มเหลวคุณควรเห็นสิ่งต่อไปนี้:
error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
การใช้nmap
:
nmap --script ssl-enum-ciphers -p 443 myhostname.tld
มันควรจะออก ' SSLv3: No supported ciphers found
' ปรับสำหรับชื่อโฮสต์ / พอร์ตของคุณ
ใช้cipherscan โคลน / ดาวน์โหลดไบนารีและดำเนินการ:
./cipherscan myhostname.tld
ไม่ควรแสดงรายการอะไรด้วย SSLv3 ใต้คอลัมน์ 'โปรโตคอล'
เบราว์เซอร์ Firefox
เปิดabout:config
การค้นหาและการตั้งค่าsecurity.tls.version.min
1
จากนั้นรีสตาร์ทเบราว์เซอร์ของคุณเพื่อปล่อยการเชื่อมต่อ SSL ที่เปิดอยู่
Firefox จากเวอร์ชัน 34 เป็นต้นไปจะปิดใช้งาน SSLv3 โดยค่าเริ่มต้นดังนั้นจึงไม่จำเป็นต้องดำเนินการใด ๆ (ที่มา ) อย่างไรก็ตามในขณะที่เขียนมีเพียง 33 ที่เพิ่งเปิดตัวและ 34 ถูกตั้งค่าสำหรับ 25 พฤศจิกายน
Google Chrome (Linux)
แก้ไข/usr/share/applications/google-chrome.desktop
ไฟล์เช่น
sudo nano /usr/share/applications/google-chrome.desktop
แก้ไขทุกสายเริ่มต้นด้วยการที่จะรวมExec=
--ssl-version-min=tls1
เช่นบรรทัดที่ชอบ
Exec=/usr/bin/google-chrome-stable %U
กลายเป็น
Exec=/usr/bin/google-chrome-stable --ssl-version-min=tls1 %U
จากนั้นตรวจสอบให้แน่ใจว่าได้ปิดเบราว์เซอร์อย่างสมบูรณ์ (แอป Chrome อาจทำให้เบราว์เซอร์ของคุณทำงานอยู่ในพื้นหลัง!)
หมายเหตุ: คุณอาจต้องทำซ้ำทุกครั้งที่มีการอัปเดตแพ็คเกจ google-chrome โดยเขียนทับ.desktop
ไฟล์ตัวเรียกใช้นี้ เบราว์เซอร์ Google Chrome หรือ Chromium ที่ปิดใช้งาน SSLv3 เป็นค่าเริ่มต้นยังไม่ได้ประกาศในขณะที่เขียน
เซิร์ฟเวอร์ Apache HTTPD
หากคุณใช้งานเว็บเซิร์ฟเวอร์ Apache ที่อนุญาต SSLv3 ในปัจจุบันคุณจะต้องแก้ไขการกำหนดค่า Apache ใน Debian และ Ubuntu ระบบไฟล์เป็น/etc/apache2/mods-available/ssl.conf บน CentOS และ Fedora ไฟล์เป็น/etc/httpd/conf.d/ssl.conf คุณจะต้องเพิ่มบรรทัดต่อไปนี้ในการกำหนดค่า Apache ของคุณด้วยคำสั่ง SSL อื่น ๆ
SSLProtocol All -SSLv2 -SSLv3
สิ่งนี้จะอนุญาตโปรโตคอลทั้งหมดยกเว้น SSLv2 และ SSLv3
ในขณะที่คุณกำลังที่มันคุณอาจต้องการที่จะต้องพิจารณาการปรับปรุงการกำหนดค่า ciphersuite สำหรับเว็บเซิร์ฟเวอร์ของคุณตามที่อธิบายไว้ในTLS คู่มือเซิร์ฟเวอร์ของ เพิ่มตัวอย่าง:
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on
SSLCompression off
# Read up on HSTS before you enable it (recommended)
# Header add Strict-Transport-Security "max-age=15768000"
จากนั้นตรวจสอบว่าการกำหนดค่าใหม่นั้นถูกต้อง (ไม่มีการพิมพ์ผิดหรือไม่):
sudo apache2ctl configtest
และรีสตาร์ทเซิร์ฟเวอร์เช่น
sudo service apache2 restart
ใน CentOS และ Fedora:
systemctl restart httpd
ข้อมูลเพิ่มเติม: เอกสาร Apache
ตอนนี้ทดสอบ: ถ้าเว็บไซต์ของคุณเป็นที่เปิดเผยต่อสาธารณชนทดสอบโดยใช้Qualys' เครื่องมือ
เซิร์ฟเวอร์ Nginx
หากคุณใช้ Nginx เพียงแค่รวมบรรทัดต่อไปนี้ในการกำหนดค่าของคุณในคำสั่ง SSL อื่น ๆ :
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ในขณะที่คุณกำลังที่มันคุณอาจต้องการที่จะต้องพิจารณาการปรับปรุงการกำหนดค่า ciphersuite สำหรับเว็บเซิร์ฟเวอร์ของคุณตามที่อธิบายไว้ในTLS คู่มือเซิร์ฟเวอร์ของ เพิ่มตัวอย่าง:
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
# Read up on HSTS before you enable it (recommended)
# add_header Strict-Transport-Security max-age=15768000;
และรีสตาร์ทเซิร์ฟเวอร์เช่น
sudo service nginx restart
การอ้างอิง: เอกสารประกอบ Nginx
ตอนนี้ทดสอบ: ถ้าเว็บไซต์ของคุณเป็นที่สาธารณะที่มีอยู่แล้วให้ทดสอบโดยใช้เครื่องมือ Qualys' SSL Labs
เว็บเซิร์ฟเวอร์ Lighttpd
Lighttpd เวอร์ชั่น> 1.4.28 รองรับตัวเลือกการกำหนดค่าเพื่อปิดใช้งาน SSLv2 และ v3 Lighttpd ออกก่อน 1.4.28 อนุญาตให้คุณปิดการใช้งาน SSLv2 เท่านั้น โปรดทราบว่า Ubuntu 12.04 LTS และการติดตั้งรุ่นก่อนหน้านี้ที่ lighttpd v1.4.28 ที่ดีที่สุดและดังนั้นจึงไม่มีการแก้ไขที่ง่ายสำหรับการแจกจ่ายเหล่านั้น ดังนั้นการแก้ไขนี้ควรใช้กับอูบุนตูที่มีรุ่นมากกว่า 12.04 เท่านั้น
สำหรับ Ubuntu รุ่น 12.04 หรือ Debian 6 แพ็คเกจ lighttpd ที่อัปเดตมีอยู่ในที่เก็บ openSUSE:
http://download.opensuse.org/repositories/server:/http/Debian_6.0
แพคเกจมีไว้สำหรับ Debian 6 (บีบ) แต่ทำงานบน 12.04 (แม่นยำ)
แก้ไขของคุณ/etc/lighttpd/lighttpd.conf
เพื่อเพิ่มบรรทัดต่อไปนี้หลังจากssl.engine = "enable"
คำสั่ง
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
จากนั้นคุณควรรีสตาร์ทเซอร์วิส lighttpd ด้วยsudo service lighttpd restart
และทำการทดสอบ ssl3 handshake ดังที่อธิบายไว้ในส่วนก่อนหน้าเพื่อให้แน่ใจว่าการเปลี่ยนแปลงนั้นได้ดำเนินการเรียบร้อยแล้ว
ที่นำมาจากhttp://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_SSL
SMTP Postfix
สำหรับ 'ฉวยโอกาส SSL' (ไม่บังคับใช้นโยบายการเข้ารหัสและธรรมดาก็ยอมรับได้เช่นกัน) คุณไม่จำเป็นต้องเปลี่ยนแปลงอะไรเลย แม้ SSLv2 จะดีกว่าธรรมดาดังนั้นหากคุณต้องการรักษาความปลอดภัยเซิร์ฟเวอร์ของคุณคุณควรใช้โหมด 'SSL ที่จำเป็น' ต่อไป
สำหรับโหมด 'ข้อบังคับ SSL' ที่กำหนดค่าไว้แล้วให้เพิ่ม / เปลี่ยนการตั้งค่าsmtpd_tls_mandatory_protocolsสำหรับการเชื่อมต่อขาเข้าและsmtp_tls_mandatory_protocolsสำหรับการเชื่อมต่อขาออก:
smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3
smtp_tls_mandatory_protocols=!SSLv2,!SSLv3
ทางเลือกถ้าคุณต้องการปิดการใช้งาน SSLv3 สำหรับการเข้ารหัสแบบฉวยโอกาสเช่นกัน (แม้ว่าจะไม่จำเป็นตามที่อธิบายไว้ข้างต้น) ให้ทำดังนี้:
smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3
และรีสตาร์ท Postfix:
sudo service postfix restart
ส่งอีเมล์
(แก้ไขโดยผู้ใช้ที่ไม่ระบุชื่อฉันไม่พอใจกับ Sendmail โปรดยืนยัน)
ตัวเลือกเหล่านี้ได้รับการกำหนดค่าในLOCAL_CONFIG
ส่วนของคุณsendmail.mc
LOCAL_CONFIG
O CipherList=HIGH
O ServerSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3 +SSL_OP_CIPHER_SERVER_PREFERENCE
O ClientSSLOptions=+SSL_OP_NO_SSLv2 +SSL_OP_NO_SSLv3
Dovecot
ใน Dovecot v2.1 + ให้เพิ่มสิ่งต่อไปนี้/etc/dovecot/local.conf
ในไฟล์ (หรือไฟล์ใหม่ของคุณ/etc/dovecot/conf.d
):
ssl_protocols = !SSLv2 !SSLv3
และรีสตาร์ท Dovecot:
sudo service dovecot restart
สำหรับรุ่นเก่าคุณจะต้องแก้ไขรหัสที่มา
Courier-imap (imapd-ssl)
Courier-imap อนุญาตให้ SSLv3 เป็นค่าเริ่มต้นบน Ubuntu 12.04 และอื่น ๆ คุณควรปิดการใช้งานและใช้ STARTTLS แทนเพื่อบังคับใช้ TLS แก้ไข/etc/courier/imapd-ssl
ไฟล์กำหนดค่าของคุณเพื่อสะท้อนถึงการเปลี่ยนแปลงต่อไปนี้
IMAPDSSLSTART=NO
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
TLS_CIPHER_LIST="<take those from the Mozilla TLS Server guide!>"
เซิร์ฟเวอร์ HAProxy
SSL รองรับ HAProxy> = 1.5
แก้ไข/etc/haproxy.cfg
ไฟล์และค้นหาbind
บรรทัดของคุณ no-sslv3
ผนวก ตัวอย่างเช่น:
bind :443 ssl crt <crt> ciphers <ciphers> no-sslv3
การอ้างอิง: เอกสาร HAProxy
OpenVPN
ดูเหมือนจะไม่ได้รับผลกระทบ ( แหล่งที่มา )
OpenVPN ใช้ TLSv1.0 หรือ (พร้อม> = 2.3.3) เป็นทางเลือก TLSv1.2 และดังนั้นจึงไม่ได้รับผลกระทบจาก POODLE
หุ่นเชิด
Puppet ใช้ SSL ผ่าน HTTPS แต่ไม่ได้ใช้งานโดยไคลเอนต์ 'เบราว์เซอร์' เพียงตัวแทนหุ่นเชิดซึ่งไม่เสี่ยงต่อการถูกโจมตีจากเวคเตอร์ อย่างไรก็ตามวิธีที่ดีที่สุดคือปิดใช้งาน SSLv3
คำแนะนำของฉันคือการใช้โมดูล stephenrjohnson / puppetmodule Puppet เพื่อตั้งค่า Puppet master ของคุณซึ่งฉันฆ่า SSLv3เมื่อไม่นานมานี้