Heartbleed: มันคืออะไรและมีตัวเลือกอะไรบ้างในการลดความมัน?


204

นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการทำความเข้าใจและแก้ไขปัญหาความปลอดภัย Heartbleed

CVE-2014-0160 AKA คืออะไร "Heartbleed" สาเหตุอะไรที่ระบบปฏิบัติการและเวอร์ชั่นของ OpenSSL มีความเสี่ยงมีอาการอะไรบ้างมีวิธีการตรวจสอบหาช่องโหว่ที่ประสบความสำเร็จหรือไม่

ฉันจะตรวจสอบว่าระบบของฉันได้รับผลกระทบได้อย่างไร? ช่องโหว่นี้จะบรรเทาลงได้อย่างไร? ฉันควรกังวลว่ากุญแจหรือข้อมูลส่วนตัวอื่น ๆ ของฉันถูกบุกรุกหรือไม่? ฉันควรคำนึงถึงผลข้างเคียงอะไรบ้าง


14
บรรเทาสาธารณภัยสำหรับ Heartbleed เกี่ยวข้องมากขึ้นกว่าเพียงแค่ปุ่มใหม่ (ลิงก์ไปยังคำตอบของฉันเกี่ยวกับความปลอดภัยของข้อมูลการแลกเปลี่ยน Stack)
scuzzy-delta

ฉันได้ยินคุณ แต่ฉันคิดว่า EEAA ค่อนข้างครอบคลุมครอบคลุมด้านล่าง
MadHatter

ฉันเห็นด้วย: มันเป็นคำตอบที่ยอดเยี่ยม แต่heartbleed.comพยายามอย่างยิ่งที่จะชี้ให้เห็นว่ามีการพิจารณามากกว่าคู่คีย์ใหม่ - เช่นบังคับให้เปลี่ยนรหัสผ่านและการทำให้เซสชันใช้ไม่ได้
scuzzy-delta

1
@ scuzzy-delta - จุดดี ฉันได้ทำคำตอบ CW แล้วดังนั้นอย่าลังเลที่จะแก้ไข / ปรับปรุงด้วยข้อมูลนั้น
EEAA

3
ตัวอย่างที่ดีที่สุดในสิ่งที่มันเป็น - (แปลกใจ) XKCD: xkcd.com/1354
Wayne Werner

คำตอบ:


118

ขั้นแรกก่อนที่จะเริ่มต้นโปรดตรวจสอบให้แน่ใจว่าคุณเข้าใจหรือไม่ว่าช่องโหว่นี้มีผลกับคุณหรือไม่ หากคุณมีเซิร์ฟเวอร์ แต่ไม่เคยมีแอปพลิเคชันใด ๆ ที่ใช้ TLS จริง ๆ นี่ไม่ใช่สิ่งสำคัญสำหรับคุณที่จะแก้ไข ในทางกลับกันถ้าคุณเคยมีแอปพลิเคชั่นที่เปิดใช้งาน TLS อยู่แล้วคุณก็จะได้รับการปฏิบัติ อ่านต่อ:

CVE-2014-0160 คืออะไร "Heartbleed"

มันเป็นเรื่องวุ่นวายที่ยิ่งใหญ่นั่นคือสิ่งที่มันเป็น กล่าวโดยย่อคือช่องโหว่ที่หาประโยชน์จากระยะไกลถูกค้นพบใน OpenSSL เวอร์ชั่น 1.0.1 ถึง 1.0.1f ซึ่งผู้โจมตีสามารถอ่านหน่วยความจำระบบบางส่วนได้ ส่วนเหล่านั้นคือสิ่งที่เก็บข้อมูลที่มีความอ่อนไหวเช่นไพรเวตคีย์, คีย์ที่แบ่งใช้ล่วงหน้า, รหัสผ่านและข้อมูลองค์กรที่มีมูลค่าสูงท่ามกลางสิ่งอื่น ๆ

ข้อผิดพลาดถูกค้นพบโดย Neel Mehta จาก Google Security (21 มีนาคม 2014) และ บริษัท ทดสอบความปลอดภัยด้านไอทีของฟินแลนด์ Codenomicon (2 เมษายน 2014)

สาเหตุคืออะไร?

ดีรหัสผิดใน OpenSSL นี่คือการคอมมิชชันที่แนะนำช่องโหว่และนี่คือคอมมิชชันที่แก้ไขช่องโหว่ ข้อผิดพลาดปรากฏขึ้นในเดือนธันวาคม 2011 และได้รับการติดตั้งแล้ววันนี้ 7 เมษายน 2014

ข้อผิดพลาดสามารถถูกมองว่าเป็นอาการของปัญหาที่ใหญ่กว่า ปัญหาที่เกี่ยวข้องสองประการคือ (1) กระบวนการใดที่มีอยู่เพื่อให้แน่ใจว่าโค้ดที่ผิดพลาดนั้นไม่ได้ถูกนำมาใช้กับฐานของรหัสและ (2) ทำไมโปรโตคอลและส่วนขยายจึงซับซ้อนและยากที่จะทดสอบ รายการ (1) เป็นปัญหาด้านการกำกับดูแลและการดำเนินการกับ OpenSSL และโครงการอื่น ๆ อีกมากมาย นักพัฒนาหลายคนต่อต้านการปฏิบัติเช่นการตรวจสอบโค้ดการวิเคราะห์และการสแกน กำลังสนทนารายการ (2) ใน TLS WG ของ IETF ดูHeartbleed / ซับซ้อนโปรโตคอล

มีการใส่รหัสผิดพลาดไว้อย่างประสงค์ร้ายหรือไม่?

ฉันจะไม่คาดเดาว่านี่เป็นความผิดพลาดอย่างแท้จริงหรืออาจเป็นรหัสที่ลื่นไหลในนามของนักแสดงที่ไม่ดี อย่างไรก็ตามผู้พัฒนารหัสสำหรับ OpenSSL ระบุว่ามันไม่ได้ตั้งใจ ดูคนที่แนะนำบกพร่องด้านความปลอดภัยร้ายแรง 'Heartbleed' ปฏิเสธเขาแทรกมันจงใจ

ระบบปฏิบัติการและเวอร์ชั่นของ OpenSSL มีช่องโหว่อะไรบ้าง?

ดังกล่าวข้างต้นระบบปฏิบัติการใด ๆ ที่ใช้หรือแอปพลิเคชันที่เชื่อมโยงกับ OpenSSL 1.0.1 ถึง 1.0.1f

มีอาการอะไรบ้างมีวิธีการใดในการตรวจสอบหาช่องโหว่ที่ประสบความสำเร็จ?

นี่คือส่วนที่น่ากลัว เท่าที่เราทราบไม่มีวิธีการตรวจสอบว่าช่องโหว่นี้ถูกใช้ประโยชน์หรือไม่ มีความเป็นไปได้ในทางทฤษฎีว่า IDS จะถูกปล่อยออกมาในไม่ช้าซึ่งสามารถตรวจจับการโกงนี้ได้ แต่จากการเขียนนี้จะไม่สามารถใช้งานได้

มีหลักฐานว่า Heartbleed ถูกเอาเปรียบอย่างแข็งขันในช่วงต้นเดือนพฤศจิกายน 2013 ดู EFF's Wild at Heart: มีสำนักข่าวกรองที่ใช้ Heartbleed ในเดือนพฤศจิกายน 2013 หรือไม่? และ Bloomberg รายงานว่า NSA ได้ใช้ประโยชน์จากช่องโหว่นี้ในไม่ช้าหลังจากที่มีการเปิดช่องโหว่ ดูเอ็นเอสเอกล่าวว่าการใช้ประโยชน์จากข้อผิดพลาด Heartbleed หน่วยสืบราชการลับมานานหลายปี อย่างไรก็ตามชุมชนข่าวกรองสหรัฐปฏิเสธข้อเรียกร้องของ Bloomberg ดูIC ในบันทึก

ฉันจะตรวจสอบว่าระบบของฉันได้รับผลกระทบได้อย่างไร?

หากคุณรักษา OpenSSL ไว้ในระบบของคุณคุณสามารถออกopenssl version:

$ openssl version
OpenSSL 1.0.1g 7 Apr 2014

หากการจัดจำหน่ายคือการรักษา OpenSSL แล้วคุณอาจจะไม่สามารถตรวจสอบรุ่นของ OpenSSL เนื่องจากการกลับมาซ่อมโดยใช้opensslคำสั่งหรือข้อมูลแพคเกจ (ตัวอย่างเช่นapt-get, dpkg, yumหรือrpm) กระบวนการปรับปรุงแก้ไขด้านหลังที่ใช้โดยการแจกแจงส่วนใหญ่ (ทั้งหมด?) จะใช้หมายเลขรุ่นพื้นฐานเท่านั้น (ตัวอย่างเช่น "1.0.1e"); และไม่รวมรุ่นความปลอดภัยที่มีประสิทธิภาพ (ตัวอย่างเช่น "1.0.1g")

มีคำถามแบบเปิดเกี่ยวกับ Super User เพื่อพิจารณาเวอร์ชันความปลอดภัยที่มีประสิทธิภาพสำหรับ OpenSSL และแพ็คเกจอื่น ๆ เมื่อแพ็คเกจถูกแบ็คแพ็ต น่าเสียดายที่ไม่มีคำตอบที่เป็นประโยชน์ (นอกเหนือจากตรวจสอบเว็บไซต์ของ distro) ดูกำหนดรุ่นความปลอดภัยที่มีประสิทธิภาพเมื่อประสบกับ Backpatching ?

ตามกฎทั่วไป: หากคุณเคยติดตั้งหนึ่งในเวอร์ชันที่ได้รับผลกระทบและเคยเรียกใช้โปรแกรมหรือบริการที่เชื่อมโยงกับ OpenSSL สำหรับการสนับสนุน TLS แสดงว่าคุณมีความเสี่ยง

ฉันจะหาโปรแกรมที่จะทดสอบช่องโหว่ได้จากที่ใด

ภายในไม่กี่ชั่วโมงหลังจากมีการประกาศ Heartbleed หลายคนบนอินเทอร์เน็ตได้เผยแพร่เว็บแอปพลิเคชั่นที่สาธารณชนเข้าถึงได้ซึ่งคาดว่าจะสามารถใช้เพื่อตรวจสอบเซิร์ฟเวอร์ว่ามีช่องโหว่นี้หรือไม่ จากการเขียนนี้ฉันยังไม่ได้ตรวจสอบใด ๆ ดังนั้นฉันจะไม่เผยแพร่แอปพลิเคชันของพวกเขาต่อไป พวกเขาสามารถพบได้ค่อนข้างง่ายด้วยความช่วยเหลือของเครื่องมือค้นหาที่คุณต้องการ

ช่องโหว่นี้บรรเทาลงได้อย่างไร

อัปเกรดเป็นเวอร์ชันที่ไม่มีความเสี่ยงและรีเซ็ตหรือป้องกันข้อมูลที่มีความเสี่ยงอีกครั้ง ดังที่กล่าวไว้ในเว็บไซต์Heartbleedขั้นตอนการตอบสนองที่เหมาะสมนั้นมีความกว้าง:

  1. แก้ไขระบบที่มีช่องโหว่
  2. สร้างคีย์ส่วนตัวใหม่
  3. ส่ง CSR ใหม่ไปที่ CA ของคุณ
  4. รับและติดตั้งใบรับรองที่ลงนามใหม่
  5. ทำให้คีย์เซสชันและคุกกี้ใช้ไม่ได้
  6. รีเซ็ตรหัสผ่านและความลับที่แชร์
  7. เพิกถอนใบรับรองเก่า

สำหรับการวิเคราะห์และคำตอบโดยละเอียดเพิ่มเติมโปรดดูที่ผู้ให้บริการเว็บไซต์ควรทำอย่างไรเกี่ยวกับการใช้ประโยชน์จาก Heartbleed OpenSSL ในการแลกเปลี่ยนความปลอดภัยสแต็ค

ฉันควรกังวลว่ากุญแจหรือข้อมูลส่วนตัวอื่น ๆ ของฉันถูกบุกรุกหรือไม่? ฉันควรคำนึงถึงผลข้างเคียงอะไรบ้าง

อย่างแน่นอน ผู้ดูแลระบบจำเป็นต้องสมมติว่าเซิร์ฟเวอร์ของพวกเขาซึ่งใช้รุ่น OpenSSL ที่มีช่องโหว่นั้นถูกบุกรุกและตอบสนองตามความเหมาะสม

ไม่นานหลังจากที่มีการเปิดเผยช่องโหว่ Cloudfare เสนอความท้าทายเพื่อดูว่าสามารถกู้คืนคีย์ส่วนตัวของเซิร์ฟเวอร์ในทางปฏิบัติได้หรือไม่ ความท้าทายได้รับรางวัลอย่างเป็นอิสระจาก Fedor Indutny และ Ilkka Mattila ดูHeartbleed ท้าทาย

ฉันจะหาข้อมูลเพิ่มเติมได้ที่ไหน

ลิงก์ดัมพ์สำหรับผู้ที่ต้องการรายละเอียดเพิ่มเติม:


รายละเอียดระยะเวลาค่อนข้างของเหตุการณ์เปิดเผยสามารถพบได้ที่Heartbleed เปิดเผยระยะเวลา: ใครจะรู้ว่าสิ่งที่และเมื่อ


หากคุณเป็นโปรแกรมเมอร์และมีความสนใจในเทคนิคการเขียนโปรแกรมต่างๆเช่นการตรวจจับการโจมตี Heartbleed ผ่าน OpenSSL ของmsg_cbการเรียกกลับแล้วเห็น OpenSSL ของการรักษาความปลอดภัยที่ปรึกษา 2014047


42
+1 สำหรับSHUT ลง. ของคุณ เซิร์ฟเวอร์ * - หากคุณทำสิ่งใดที่ SSL มีความสำคัญจริงๆให้ปิดจนกว่าคุณจะแก้ไขปัญหา นอกจากนี้อย่าลืมติดตั้งใบรับรองใหม่ (ด้วยคีย์ใหม่ ) หลังจากคุณแก้ไขเซิร์ฟเวอร์ - การนำคีย์เก่าของคุณ (ซึ่งอาจถูกบุกรุก) นำมาใช้ใหม่เพื่อเอาชนะจุดประสงค์ทั้งหมดของการแก้ไขช่องโหว่ ...
voretaq7

29
ALSO - รีสตาร์ทเซอร์วิสใด ๆ ที่ลิงก์ไปยังไลบรารี OpenSSL การอัพเกรด OpenSSL โดยไม่ต้องรีสตาร์ท daemons ของคุณนั้นดีพอที่จะไม่อัพเกรดเลย
EEAA

14
แน่นอน - หลังจาก patch สำคัญ ๆ (เช่น OpenSSL) ฉันคิดว่ามันเป็นกฎที่ดีที่จะรีบูตเครื่องเพื่อให้แน่ใจว่าคุณจะไม่พลาดอะไรเลย
voretaq7

5
หนึ่งในผู้ทดสอบได้รับการเปิดแหล่งที่มา: github.com/FiloSottile/Heartbleed
Riking

3
@EEAA "การปิดเซิร์ฟเวอร์ของคุณ" ไม่ได้หมายความว่าคุณต้องดึงพลังงาน มันหมายถึงการปิด (หรือกำหนดค่าใหม่เพื่อปิดการใช้งาน ssl / tls) apache หรือบริการใด ๆ ที่กำลังทำหน้าที่ให้บริการ
psusi


36

Ubuntu 12.04, 12.10 และ 13.10

Ubuntu ได้ออกUSN-2165-1ซึ่งระบุว่าแพ็คเกจที่อัพเดทมีอยู่ในคลังข้อมูลแล้ว รันสองคำสั่งต่อไปนี้เพื่อแก้ไขปัญหา

sudo apt-get update
sudo apt-get upgrade

Ubuntu 14.04

ฉันได้อัปโหลดแพ็คเกจ Debian ที่มีรีลีสใหม่ (1.0.1g) ไปยัง PPA ที่ฉันตั้งค่าไว้สำหรับวัตถุประสงค์นี้ คำสั่งทั้งสามนี้จะเพิ่ม PPA ของฉันลงในระบบของคุณอัปเดตรายการแพ็คเกจที่มีอยู่และอัปเกรดทุกอย่าง:

sudo add-apt-repository ppa:george-edison55/openssl-heartbleed-fix
sudo apt-get update
sudo apt-get upgrade

หมายเหตุ: PPA ยังมีแพ็คเกจสำหรับ Ubuntu 12.04 และ 13.10 ในกรณีที่คุณต้องการเรียกใช้เวอร์ชั่นใหม่ (1.0.1g) แทนการใช้เวอร์ชั่นที่ได้รับการแก้ไขในคลังข้อมูล

Ubuntu 10.04

นี่เป็นรุ่น LTS เวอร์ชันเซิร์ฟเวอร์ยังคงได้รับการสนับสนุนและรับการอัพเดทความปลอดภัย แต่ช่องโหว่ที่ได้รับการสั่นสะเทือนไม่ได้ส่งผลกระทบต่อแพ็คเกจ openssl ของการติดตั้งมาตรฐานของ Ubuntu 10.04 เนื่องจากรุ่นดังกล่าวต่ำกว่า 1.0.1

รุ่นเดสก์ท็อปหมดอายุการใช้งานและต้องได้รับการอัพเกรด / ติดตั้งใหม่

Ubuntu 13.04 และรุ่นที่ล้าสมัยอื่น ๆ

Ubuntu 13.04 มีรอบการสนับสนุนสั้นมากซึ่งคุณอาจไม่คาดคิด หมดอายุแล้วและไม่ได้รับการอัปเดตความปลอดภัยอีกต่อไป มันควรจะได้รับการอัพเกรดนาน หากยังมีใครบางคนกำลังใช้งานอยู่โปรดอัปเกรดทันทีตั้งแต่เริ่มต้นหรือสามารถอัปเกรดแบบไม่ทำลายเป็น 13.10 โดยทำตามขั้นตอนง่าย ๆ นี้: http://www.tecmint.com/upgrade-ubuntu-13-04-raring-ringtail -to-ubuntu-13-10-saucy-salamander /หลังจากการอัพเกรดระบบจะได้รับโปรแกรมแก้ไข heartbleed จาก 13.10

สำหรับอูบุนตูรุ่นเก่า ๆ อื่น ๆ ทั้งหมดนั้นหมายความว่าจำเป็นต้องทำการติดตั้งใหม่

ตรวจสอบว่ามีการใช้โปรแกรมแก้ไข

โดยพื้นฐานแล้วเรียกใช้openssl version -aและให้แน่ใจว่าวันที่สร้างคือ 7 เมษายน 2014 หรือหลังจากนั้น แต่ดูรายละเอียดเพิ่มเติมที่นี่

Reboot

วิธีที่ดีที่สุดเพื่อให้แน่ใจว่าบริการทั้งหมดขึ้นอยู่กับ OpenSSL จะเริ่มต้นใหม่คือการรีบูต


ฉันไม่สามารถพูดรุ่นอื่น ๆ ได้ แต่ดูเหมือนจะมีโปรแกรมแก้ไขสำหรับความแม่นยำ (12.04) แม้ว่าฉันจะไม่สามารถบอกได้ว่านี่เป็นการแก้ไขช่องโหว่ แต่อย่างน้อยก็คอมไพล์หลังจากการคอมมิทที่เกี่ยวข้อง ( Mon Apr 7 20:31:55 UTC 2014)
Calrion

@Calrion: แพทช์สำหรับ OpenSSL หรือบรรจุภัณฑ์ Debian สำหรับ OpenSSL? OpenSSL ได้รับการแก้ไขแล้วและออกใหม่
นาธานออสมัน

จะเกิดอะไรขึ้นกับการเชื่อมต่อที่มีอยู่ในขณะที่ openssl กำลังได้รับการอัปเดต พวกเขาจะถูกทิ้ง?
pdeva

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

3
14.04 ได้รับตั้งแต่แพทช์
เซท

14

RedHat 6.5 และ CentOS 6.5

สิ่งเหล่านี้มีความเสี่ยง erratum's RedHat RHSA-2014-0376กล่าวว่ามีห้องสมุดที่มีการปะแก้แล้วและใครก็ตามที่ได้รับผลกระทบควรอัปเกรดโดยเร็วที่สุด

ในขณะที่เขียน CentOS ยังไม่มีรุ่นที่แน่นอน แต่Karanbir Singh โพสต์ไปยัง CentOS - ประกาศบอกว่าพวกเขาได้ผลิต openssl รุ่นที่อัปเดตแล้ว ( openssl-1.0.1e-16.el6_5.4.0.1โปรดสังเกตตัวเลขสี่หลักสุดท้ายที่มีความสำคัญ) ที่มีประโยชน์ TLS คำสั่งถูกปิดใช้งานและสามารถนำไปใช้ได้อย่างปลอดภัยเนื่องจากจะถูกเขียนทับโดยรุ่นคงที่เมื่อมีการเปิดตัวในที่สุด

รุ่นที่แก้ไขชั่วคราวดูเหมือนจะยังไม่ได้ติดตั้งลงในมิเรอร์ทั้งหมด แต่อยู่ในแหล่งเก็บข้อมูลหลักที่http://mirror.centos.org/centos/6/updates/x86_64/Packages/และในทำนองเดียวกันสำหรับ i686)

แก้ไข : ดังที่ Iain กล่าวขณะนี้ดูเหมือนว่าจะเป็นเวอร์ชั่นเต็มสำหรับ C6.5 และดูเหมือนว่าจะถูกผลักไปทั่วกระจกอย่างเร่งด่วน ตรงไปyum updateหามันสำหรับเซิร์ฟเวอร์ของฉัน; openssl-1.0.1e-16.el6_5.7มันเป็น

รุ่น RH6 และ C6 ก่อนหน้า 6.5

สิ่งเหล่านี้ไม่เสี่ยง ตามคำแนะนำนี้จาก Red Hat ,

ปัญหานี้ไม่ได้ส่งผลกระทบต่อรุ่นของ openssl เมื่อจัดส่งพร้อมกับ Red Hat Enterprise Linux 5 และ Red Hat Enterprise Linux 6.4 และรุ่นก่อนหน้า

Karanbir Singh ประกาศไปยัง CentOSอย่างชัดเจนเกี่ยวกับการกำหนดเวอร์ชัน:

ก่อนหน้านี้ในวันนี้เราได้ตระหนักถึงปัญหาร้ายแรงใน openssl ที่จัดส่งใน CentOS-6.5


ไม่ใช่lists.centos.org/pipermail/centos-announce/2014-April/?hl=thการเปิดตัวการแก้ไขใช่หรือไม่
user619714

13

Debian Wheezy

Debian ได้ issed DSA-2896-1และห้องสมุด patched มีอยู่ที่นี่ เชลล์สคริปต์เป็นอยู่ที่นี่

1. แพทช์

ที่เก็บ Apt-get ได้รับการอัปเดตดังนั้นตอนนี้ห้องสมุดที่ได้รับการแก้ไขจะพร้อมใช้งานผ่าน apt-get update && apt-get upgrade

apt-get upgrade libssl1.0.0 openssl

อีกทางเลือกหนึ่ง (ไม่แนะนำ) แพ็คเกจนี้สามารถอัพเกรดได้ด้วยตนเอง:

wget http://security.debian.org/pool/updates/main/o/openssl/libssl1.0.0-dbg_1.0.1e-2+deb7u5_amd64.deb
wget http://security.debian.org/pool/updates/main/o/openssl/openssl_1.0.1e-2+deb7u5_amd64.deb
wget http://security.debian.org/pool/updates/main/o/openssl/libssl1.0.0_1.0.1e-2+deb7u5_amd64.deb
wget http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_1.0.1e-2+deb7u5_amd64.deb

dpkg -i openssl_1.0.1e-2+deb7u5_amd64.deb
dpkg -i libssl1.0.0_1.0.1e-2+deb7u5_amd64.deb
dpkg -i libssl1.0.0-dbg_1.0.1e-2+deb7u5_amd64.deb
dpkg -i libssl-dev_1.0.1e-2+deb7u5_amd64.deb

2. รีสตาร์ทเซิร์ฟเวอร์ / บริการ

เพื่อการป้องกันที่ดีที่สุดให้รีสตาร์ทเซิร์ฟเวอร์ทั้งหมดหรือหากเซิร์ฟเวอร์ไม่สามารถออฟไลน์ได้ให้รีสตาร์ทบริการที่จำเป็น

3. ตรวจสอบเวอร์ชั่น OpenSSL

love@server:~$ openssl version
OpenSSL 1.0.1e 11 Feb 2013
love@server:~$ dpkg -l libssl1.0.0
||/ Name                    Version          Architecture     Description
+++-=======================-================-================-====================================================
ii  libssl1.0.0                 1.0.1e-2+deb7u6  amd64            SSL shared libraries

1
หากคุณได้รับการปรับปรุงจากนั้นคุณจะต้องดีด้วยwheezy/security apt-get update && apt-get upgradeหรือใช้เป็นผู้จัดการแพคเกจการโต้ตอบที่จะปรับปรุงเฉพาะแพคเกจopenssl, libssl1.0.0, libssl1.0.0-dbgและlibssl-dev(ในขณะที่ติดตั้งในระบบของคุณ)
CVN

การใช้ apt-get ไม่ได้แก้ปัญหาสำหรับฉัน - ยังคงแสดง OpenSSL 1.0.1e 11 Feb 2013
user568829

ขอบคุณ @ michael-kjorling มันไม่สามารถใช้ได้เมื่อฉันทำสิ่งนี้ แต่เป็นวิธีที่ปลอดภัยที่สุดและถูกต้องในการอัปเกรด
jacksoncage

2
@ user568829 หลังจากใช้โปรแกรมแก้ไขรุ่น openssl จะยังคงแสดงOpenSSL 1.0.1e 11 Feb 2013เป็นโปรแกรมแก้ไขเรียกว่า 1.0.1e-2 คุณสามารถตรวจสอบด้วยdpkg -l opensslและมันควรจะแสดงรุ่น1.0.1e-2+deb7u6
jacksoncage

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

9

ฉันต้องการชี้ให้เห็นว่ากุญแจส่วนตัวไม่ใช่ทรัพย์สินเพียงอย่างเดียวที่ควรถูกพิจารณาว่าเป็นอันตราย ข้อผิดพลาดมีศักยภาพที่จะรั่วไหลหน่วยความจำใด ๆ ที่ทำงานในพื้นที่ที่อยู่เดียวกัน (เช่นกระบวนการเดียวกัน) เป็น OpenSSL ดังนั้นหากคุณกำลังเรียกใช้กระบวนการเซิร์ฟเวอร์ที่เวอร์ชันที่มีช่องโหว่ของ OpenSSL ถูกเชื่อมโยงแบบไดนามิกหรือแบบไดนามิกข้อมูลใด ๆ ที่กระบวนการนั้นเคยจัดการมาแล้วรวมถึงรหัสผ่านหมายเลขบัตรเครดิตและข้อมูลส่วนบุคคลอื่น ๆ


9

FreeBSD 10.0หรือopensslจากพอร์ต

ทีมรักษาความปลอดภัย FreeBSDได้ออกคำปรึกษาเกี่ยวกับการ CVE-2014-0160 (aka "Heartbleed") และ: FreeBSD-SA-14: 06.openssl

  1. กำลังอัปเดต FreeBSD

    • การอัพเดต FreeBSD ผ่านทางแพทช์ไบนารี

      ระบบที่ใช้FreeBSD เวอร์ชัน RELEASEบน แพลตฟอร์มi386หรือamd64สามารถอัปเดตผ่านทางยูทิลิตี้ freebsd-update (8):

      # freebsd-update fetch
      # freebsd-update install
      
    • อัปเดต FreeBSD จากแหล่งต่าง ๆ

      1. ดาวน์โหลดแพตช์ที่เกี่ยวข้องจากตำแหน่งด้านล่างและตรวจสอบลายเซ็น PGP ที่ถอดออกโดยใช้ยูทิลิตี้ PGP ของคุณ

        # fetch http://security.FreeBSD.org/patches/SA-14:06/openssl-10.patch
        # fetch http://security.FreeBSD.org/patches/SA-14:06/openssl-10.patch.asc
        # gpg --verify openssl-10.patch.asc
        
      2. ดำเนินการคำสั่งต่อไปนี้เป็น root:

        # cd /usr/src
        # patch < /path/to/patch
        
      3. คอมไพล์ระบบปฏิบัติการใหม่

        ใช้buildworldและinstallworldที่อธิบายไว้ในหนังสือคู่มือ FreeBSD

  2. อัปเดตพอร์ตopensslด้วยเวอร์ชั่นต่ำสุด1.0.1_10

  3. รีสตาร์ท daemons ทั้งหมดโดยใช้ไลบรารีหรือรีบูตระบบ

  4. ทำหน้าที่เสมือนว่าระบบของคุณถูกบุกรุกให้ออกคีย์ ssl และ / หรือใบรับรองทั้งหมดของคุณอีกครั้งและข้อมูลที่รั่วไหลออกมา (ดูคำตอบทั่วไปของEEAAเพิ่มเติม)

FreeBSD 9.x และ FreeBSD 8.x

ระบบเหล่านี้ไม่เสี่ยงต่อปัญหาHeartbleedตามค่าเริ่มต้นโดยอาศัยไลบรารีopensslเวอร์ชันเก่ากว่า 0.9.x ยกเว้นว่าคุณติดตั้งopenssl จากพอร์ต (ดูที่ด้านบน)

หากระบบเหล่านี้ไม่เสี่ยงต่อปัญหาHeartbleedคุณควรอัพเกรดระบบของคุณค่อนข้างเร็วกว่าในภายหลังเนื่องจากมีช่องโหว่ในระบบ (ดูFreeBSD-SA-14: 06.opensslและส่วน "FreeBSD 10.0" ด้านบน):

ผู้โจมตีในพื้นที่อาจสามารถสอดแนมกระบวนการเซ็นชื่อและอาจกู้คืนรหัสการลงนามได้ [CVE-2014-0076]

หมายเหตุ :

คำแนะนำHeartbleedดั้งเดิมแสดงรายการ FreeBSD 8.4 และ 9.1 ว่ามีความเสี่ยง สิ่งนี้ไม่เป็นจริงเนื่องจากการขาดHeartbeat Extension (ไลบรารี FreeBSD openssl เริ่มต้นเป็นรุ่น 0.9.x)


3

ฉันพบว่าเป็นไปไม่ได้เลยที่จะระบุรุ่นของ SSL ที่ใช้กับอุปกรณ์ที่ฉันทำงานด้วย แม้ว่าในทางเทคนิคแล้วการไม่สามารถลดความสามารถในการใช้ ID ของโฮสต์ที่มีช่องโหว่ในขณะนี้ก็อยู่ในอันดับต้น ๆ

ฉันใส่กัน VM ขนาดเล็กที่จะดำเนินการตรวจสอบกับเจ้าภาพโดยพลการและพอร์ตโดยใช้โมดูลทดสอบ FiloSottile ของ เมื่อดูข้อมูลเบื้องต้นรหัสจะดูเป็นเสียง

การเปิดตัวของ VM เสร็จสิ้นเป็นที่นี่ มันอยู่ในรูปแบบ VMX

คำเตือน

สคริปต์นี้และ VM จะเพียงแสดงสถานะปัจจุบันของระบบของคุณ อาจเป็นไปได้ว่าในบางครั้งที่ผ่านมาระบบของคุณอยู่ในภาวะเสี่ยงและอาจถูกใช้ในทางที่ผิด

สิ่งที่แสดงอยู่ที่นี่เป็นสิ่งสำคัญที่จะต้องแก้ไข แต่มันไม่ได้ทำให้คุณติดใจที่จะใช้การอัปเดตและเปลี่ยนกุญแจทั้งหมดของคุณ


ฉันเพิ่งได้รับอีเมล์จาก Snapt พวกเขา BOLO (ระวัง) !
จาค็อบ

2

Amazon Linux (distro Linux ที่ใช้ใน Amazon EC2)

https://aws.amazon.com/amazon-linux-ami/security-bulletins/ALAS-2014-320/

ภาพรวมของปัญหา: พบการตรวจสอบขอบเขตที่ขาดหายไปในวิธีที่ OpenSSL จัดการกับแพ็กเก็ตส่วนขยาย heartbeat TLS ข้อบกพร่องนี้สามารถใช้เพื่อเปิดเผยหน่วยความจำสูงสุด 64k จากไคลเอนต์ที่เชื่อมต่อหรือเซิร์ฟเวอร์

เวอร์ชันที่ได้รับผลกระทบ: Amazon Linux AMI ใด ๆ ที่ติดตั้ง openssl 1.0.1 ซึ่งเป็น Amazon Linux AMI 2013.03 ใด ๆ หรือใหม่กว่าและ Amazon Linux AMI ใด ๆ ที่อัพเกรดเป็น 2013.03 ขึ้นไป OpenSSL ได้รับการติดตั้งตามค่าเริ่มต้นบน Amazon Linux AMI

แพ็คเกจที่ได้รับผลกระทบ: openssl

แก้ไขปัญหา: เรียกใช้ yum update openssl เพื่ออัปเดตระบบของคุณ เมื่อติดตั้งแพคเกจใหม่แล้วคุณจะต้องรีสตาร์ทบริการทั้งหมดที่ใช้ openssl ด้วยตนเองหรือคุณรีบูตอินสแตนซ์ของคุณ ในขณะที่แพ็คเกจใหม่นั้นยังคงชื่อ openssl-1.0.1e แต่ก็มีการแก้ไขสำหรับ CVE-2014-0160

แพ็คเกจใหม่: i686:

openssl-1.0.1e-37.66.amzn1.i686

openssl-static-1.0.1e-37.66.amzn1.i686

openssl-perl-1.0.1e-37.66.amzn1.i686

openssl-devel-1.0.1e-37.66.amzn1.i686

openssl-debuginfo-1.0.1e-37.66.amzn1.i686

x86_64:

openssl-devel-1.0.1e-37.66.amzn1.x86_64

openssl-1.0.1e-37.66.amzn1.x86_64

openssl-debuginfo-1.0.1e-37.66.amzn1.x86_64

openssl-perl-1.0.1e-37.66.amzn1.x86_64

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