แก้ไขช่องโหว่ BEAST บน Apache 2.0 ที่ทำงานบน RHEL 4


11

ฉันมีเว็บเซิร์ฟเวอร์ที่ใช้ Apache 2.0 บน RHEL4 เซิร์ฟเวอร์นี้เพิ่งสแกน PCI ไม่สำเร็จ

เหตุผล: SSLv3.0 / TLSv1.0 โปรโตคอลอ่อนแอวิธีแก้ไขช่องโหว่ CBC โหมด: การโจมตีนี้ถูกระบุในปี 2004 และแก้ไข TLS โปรโตคอลในภายหลังซึ่งมีการแก้ไขสำหรับเรื่องนี้ ถ้าเป็นไปได้อัพเกรดเป็น TLSv1.1 หรือ TLSv1.2 หากไม่สามารถอัพเกรดเป็น TLSv1.1 หรือ TLSv1.2 การปิดใช้งาน ciphers โหมด CBC จะเป็นการลบช่องโหว่ การใช้การกำหนดค่า SSL ต่อไปนี้ใน Apache จะช่วยลดช่องโหว่นี้: SSLHonorCipherOrder On SSLCipherSuite RC4-SHA: HIGH:! ADH

แก้ไขง่าย ๆ ฉันคิดว่า ฉันเพิ่มบรรทัดลงในการกำหนดค่า Apache และมันไม่ทำงาน เห็นได้ชัดว่า
"SSLHonorCipherOrder On" จะทำงานบน Apache 2.2 และใหม่กว่าเท่านั้น ฉันลองอัพเกรด Apache เร็ว ๆ นี้จะพบกับนรกพึ่งพาและดูเหมือนว่าฉันจะต้องอัพเกรดทั้งระบบปฏิบัติการเพื่ออัพเกรดเป็น Apache 2.2 เรากำลังจะออกเซิร์ฟเวอร์นี้ในอีกไม่กี่เดือนจึงไม่คุ้มค่า

วิธีแก้ปัญหาระบุว่า"หากไม่สามารถอัพเกรดเป็น TLSv1.1 หรือ TLSv1.2 การปิดใช้งาน ciphers โหมด CBC จะเป็นการลบช่องโหว่"

ฉันจะทำสิ่งนี้บน Apache 2.0 ได้อย่างไร เป็นไปได้ไหม ถ้าไม่ทำงานอื่น ๆ รอบ ๆ มีอะไรบ้าง?


3
เนื่องจากการสนับสนุนการอัปเดตแบบขยายสำหรับ RHEL4 (.7) สิ้นสุดลงเมื่อปีที่แล้วฉันขอแนะนำให้เลิกใช้เซิร์ฟเวอร์เร็วกว่าในภายหลัง มิฉะนั้นคุณอาจต้องสร้าง apache 2.2 จากแหล่งที่มา
DerfK

เซิร์ฟเวอร์ใหม่พร้อมใช้งาน แต่เราไม่สามารถย้ายข้อมูลได้จนถึงเดือนธันวาคม ใช่การรวบรวมและติดตั้ง Apache 2.2 จากแหล่งเป็นตัวเลือกสุดท้ายในตอนนี้ สงสัยไหมว่ามีวิธีแก้ปัญหาได้ง่ายขึ้นหรือไม่?
Debianuser

คำตอบ:


11

นอกเหนือจากการคอมไพล์ Apache รุ่นใหม่ด้วยมือสิ่งเดียวที่ฉันคิดได้คือการทำให้ RC4-SHA เป็นตัวเลขที่รองรับเท่านั้น (ทดสอบด้วยopenssl ciphers RC4-SHAopenssl ปัจจุบันเพื่อให้แน่ใจว่ามันพิมพ์เพียงตัวเลขเดียวคุณอาจต้องการทำสิ่งเดียวกัน เพื่อให้แน่ใจว่ามันไม่ตรงกับตัวเลขเก่าแปลก ๆ ใน openssl เก่าของคุณ):

SSLCipherSuite RC4-SHA

MS กล่าวว่า Windows XP ใช้TLS_RSA_WITH_RC4_128_SHA แทนดังนั้นคุณไม่ควรมีปัญหาความเข้ากันได้


1
สิ่งที่ฉันกำลังมองหา ผมทดสอบประสบความสำเร็จในการใช้beast-check.googlecode.com/files/beast.pl ฉันจะกำหนดเวลาสแกน PCI และแจ้งให้คุณทราบเมื่อเสร็จสิ้น
Debianuser

ฉันสามารถยืนยันสิ่งนี้ได้ผล เซิร์ฟเวอร์ผ่านการสแกน PCI ขอบคุณมาก.
Debianuser

6

มีเพียงสองวิธีในการ "แก้ไข" BEAST ในระดับเซิร์ฟเวอร์

ตัวเลือกที่ดีที่สุดคือการอัปเกรดไลบรารี SSL ของเซิร์ฟเวอร์ของคุณเป็นหนึ่งที่รองรับ TLS v1.1 หรือใหม่กว่า (และตรวจสอบให้แน่ใจว่าไคลเอนต์ของคุณรองรับด้วยเช่นกันดังนั้นคุณสามารถบังคับให้พวกเขาใช้มันได้)

อีกทางเลือกหนึ่งคือปิดการใช้งานอัลกอริทึมการเข้ารหัส CBC (Cypher-Block-Chaining) และเปลี่ยนเป็นไซเบอร์ ECB (Electronic Code Book) หรืออะไรทำนอง RC4 (อัลกอริธึม ECB ในทางทฤษฎี "ปลอดภัยน้อยกว่า" เนื่องจากการป้อนข้อความธรรมดา คีย์จะแมปกลับไปที่ข้อความ Cyphertext แบบเดียวกันซึ่งทำให้ง่ายต่อการทำลายด้วยการโจมตีธรรมดาที่รู้จัก แต่ในแง่ปฏิบัติแล้วสิ่งนี้ไม่น่าจะเป็นปัญหาใหญ่ Google (เป็นตัวอย่าง) ยังคงใช้ RC4)

เนื่องจากเซิร์ฟเวอร์ที่คุณใช้งานอยู่นั้นถูกฝังอยู่และแยกส่วนนี่อาจไม่คุ้มค่ากับความพยายามที่จะต้องสร้าง Apache ที่ได้รับการติดตั้ง (คุณจะต้องสร้าง Apache และ OpenSSL ใหม่แยกกันเพื่อไม่ให้เสียสิ่งใด ๆ ต้องใช้เวอร์ชันของ OpenSSL ที่ติดตั้งในระบบของคุณโดยค่าเริ่มต้น - ถ้าคุณทำงานหนักมากคุณอาจอัพเกรดทั้งระบบเป็นสิ่งที่รองรับได้จริง) เพื่อให้คุณเปลี่ยน "ECT Cyphers" เป็น ทางออกที่ทำงานได้ของคุณ


BEAST เป็นสิ่งที่ไม่มีการโจมตีเลยในทุกวันนี้ - เบราว์เซอร์ยอดนิยมทั้งหมด (IE, Chrome, Safari, Opera) ได้ใช้วิธีการแก้ปัญหาที่มีประสิทธิภาพและเนื่องจากวิธีการโจมตีนั้นทำงานได้ยาก (ดังนั้นaptและyumยังคงปลอดภัยมาก)

Adam Langley จาก Google ได้พูดคุยอย่างดีเยี่ยมเมื่อต้นปีที่ผ่านมาซึ่งสรุปประเด็นปัญหาบางประการที่คุณควรให้ความสำคัญในเรื่อง SSL และความปลอดภัยขณะที่ BEAST ได้รับการกล่าวถึงมันอยู่ใกล้กับรายการด้านล่าง


RC4 ไม่ใช่รหัสโหมด ECB การใช้โหมด ECB จะเป็นความผิดพลาดครั้งใหญ่และมีเหตุผลที่ดี TLS ไม่รองรับชุดรหัส ECB การใช้การเข้ารหัสแบบสตรีมเช่น RC4 เป็นความคิดที่เลวน้อยกว่ามาก แต่ผลลัพธ์ล่าสุดหมายความว่ามันดูดีกว่าisg.rhul.ac.uk/tls
armb

4

ทางออกเดียวที่ฉันพบว่าจะให้คุณผ่านการทดสอบ ssllabs.com คือการเพิ่มสี่บรรทัดต่อไปนี้ใน apache httpd.conf และไฟล์ ssl.conf ของคุณ:

SSLHonorCipherOrder เปิด

SSLProtocol - ทั้งหมด + TLSv1 + SSLv3

SSLCipherSuite RC4-SHA: สูง:! MD5:! aNULL:! EDH:! ADH

SSLInsecureRenegiation ปิดการใช้งาน

ตรวจสอบให้แน่ใจว่าคุณไม่มีการตั้งค่าใด ๆ เหล่านี้โพสต์สองครั้งในไฟล์ ssl.conf

ตอนนี้เว็บไซต์ของฉันผ่านด้วย A

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