ฉันกำลังมองหาวิธีที่เชื่อถือได้และพกพาเพื่อตรวจสอบเวอร์ชัน OpenSSL บน GNU / Linux และระบบอื่น ๆ เพื่อให้ผู้ใช้สามารถค้นพบว่าพวกเขาควรอัปเกรด SSL ของพวกเขาหรือไม่เพราะ Heartbleed bug
ฉันคิดว่ามันจะง่าย แต่ฉันพบปัญหาอย่างรวดเร็วบน Ubuntu 12.04 LTS ด้วย OpenSSL 1.0.1g ล่าสุด:
openssl เวอร์ชัน -a
ฉันคาดหวังว่าจะเห็นเวอร์ชันเต็ม แต่ฉันได้รับสิ่งนี้:
OpenSSL 1.0.1 14 มีนาคม 2012 สร้างเมื่อ: อ. มิ.ย. 4 07:26:06 UTC 2013 แพลตฟอร์ม: [... ]
สำหรับความประหลาดใจอันไม่พึงประสงค์ของฉันจดหมายฉบับไม่แสดง ไม่ f ไม่มี g เพียงแค่ "1.0.1" และนั่นคือ วันที่ที่ระบุไว้ไม่ช่วยในการค้นหาเวอร์ชันที่มีช่องโหว่
ความแตกต่างระหว่าง 1.0.1 (af) และ 1.0.1g นั้นสำคัญมาก
คำถาม:
- เป็นวิธีที่เชื่อถือได้ในการตรวจสอบรุ่นโดยเฉพาะข้าม distro อะไร
- ทำไมตัวอักษรเวอร์ชั่นไม่แสดงตั้งแต่แรก? ฉันไม่สามารถทดสอบสิ่งนี้ได้นอกจาก Ubuntu 12.04 LTS
คนอื่น ๆ กำลังรายงานพฤติกรรมนี้เช่นกัน ตัวอย่างบางส่วน:
- https://twitter.com/orblivion/status/453323034955223040
- https://twitter.com/axiomsofchoice/status/453309436816535554
คำแนะนำ (เฉพาะ distro) บางคำแนะนำใน:
- Ubuntu และ Debian: และ
apt-cache policy openssl
apt-cache policy libssl1.0.0
เปรียบเทียบหมายเลขรุ่นกับแพ็คเกจที่นี่: http://www.ubuntu.com/usn/usn-2165-1/ - Fedora 20:
yum info openssl
(ขอบคุณ @znmeb บนทวิตเตอร์) และyum info openssl-libs
ตรวจสอบว่า OpenSSL เวอร์ชั่นเก่ากว่านั้นยังคงใช้งานได้หรือไม่:
- มันไม่น่าเชื่อถืออย่างสมบูรณ์
lsof -n | grep ssl | grep DEL
แต่คุณสามารถลอง ดูHeartbleed: วิธีตรวจสอบเวอร์ชั่น OpenSSL อย่างเชื่อถือได้และพกพาได้อย่างไร ว่าทำไมสิ่งนี้อาจไม่เหมาะกับคุณ
ปรากฎว่าการอัพเดทแพ็คเกจ OpenSSL บน Ubuntu และ Debian นั้นไม่เพียงพอเสมอไป คุณควรอัพเดตแพ็คเกจ libssl1.0.0 และ - จากนั้นตรวจสอบว่ามีการopenssl version -a
ระบุไว้built on: Mon Apr 7 20:33:29 UTC 2014
หรือไม่
[root@null~]# openssl version -a OpenSSL 1.0.1e-fips 11 Feb 2013
apt-cache policy openssl
แล้วและตอบกลับด้วย: Installed: 1.0.1-4ubuntu5.12
ซึ่งเป็น Ubuntu เวอร์ชั่น 1.0.1 ที่เพิ่งออกวางจำหน่ายในราคา 12.04 LTS ฉันออกจากระบบและกลับเข้ามามีอะไรอีกบ้างที่ฉันสามารถทำได้เพื่อตรวจสอบ?