จะแก้ไข Heartbleed bug (CVE-2014-0160) ใน OpenSSL ได้อย่างไร?


152

ณ วันนี้มีข้อผิดพลาดใน OpenSSLได้รับพบว่ามีผลกระทบต่อรุ่น1.0.1ผ่าน1.0.1f(รวม) 1.0.2-betaและ

ตั้งแต่ Ubuntu 12.04 เราทุกคนมีความเสี่ยงต่อข้อผิดพลาดนี้ เพื่อที่จะแก้ไขช่องโหว่นี้ผู้ใช้จะได้รับผลกระทบควรปรับปรุงเพื่อ 1.0.1gOpenSSL

ผู้ใช้ที่ได้รับผลกระทบทุกคนจะสามารถใช้การอัปเดตนี้ได้อย่างไร?


คุณมี openssl เวอร์ชันที่ได้รับผลกระทบหรือไม่?
Braiam

ฉันได้รับแพตช์เวอร์ชั่น 1.0.1-4ubuntu5.12 แล้วและฉันได้เริ่มบริการ apache ใหม่ แต่filippo.io/การทดสอบหัวใจบนเว็บไซต์ของฉันยังคงบอกว่าฉันมีความเสี่ยง

1
@ ฉันไม่ทราบว่าไซต์นั้นทดสอบอะไร แต่อาจตรวจพบว่าคุณกำลังใช้รหัสเดิม เนื่องจากคีย์อาจรั่วไหลออกมาคุณจะต้องสร้างใหม่
Gilles

1
คุณไม่ต้องการที่จะอัปเดต OpenSSL เป็นเวอร์ชั่นใหม่ขายส่งนั่นเป็นความเจ็บปวดที่ไม่น่าเชื่อ ง่ายกว่านั้นคือเพียงแค่ติดตั้งแพคเกจที่อัพเดทซึ่งแก้ไขปัญหา: ubuntu.com/usn/usn-2165-1
sarnold

คุณเริ่มบริการของคุณใหม่หลังจากอัปเกรดแล้วหรือยัง
Axel

คำตอบ:


141

การปรับปรุงการรักษาความปลอดภัยที่มีอยู่สำหรับ 12.04, 12.10, 13.10 และ 14.04เห็นUbuntu การรักษาความปลอดภัย Notice USN-2165-1

ดังนั้นก่อนอื่นคุณต้องใช้การอัปเดตความปลอดภัยที่มีอยู่ตัวอย่างเช่นเมื่อรัน

sudo apt-get update
sudo apt-get upgrade

จากบรรทัดคำสั่ง

อย่าลืมรีสตาร์ทบริการ (HTTP, SMTP, ฯลฯ ) ที่ใช้เวอร์ชัน OpenSSL ที่ได้รับผลกระทบมิฉะนั้นคุณจะยังมีช่องโหว่ ดูHeartbleed เพิ่มเติม: มันคืออะไรและมีตัวเลือกอะไรบ้างในการลดความมัน? บน Serverfault.com

คำสั่งต่อไปนี้แสดง (หลังจากอัปเกรด) บริการทั้งหมดที่ต้องเริ่มต้นใหม่:

sudo find /proc -maxdepth 2 -name maps -exec grep -HE '/libssl\.so.* \(deleted\)' {} \; | cut -d/ -f3 | sort -u | xargs --no-run-if-empty ps uwwp

หลังจากนั้นคุณจะต้องสร้างคีย์ SSL เซิร์ฟเวอร์ทั้งหมดใหม่จากนั้นประเมินว่าคีย์ของคุณอาจรั่วหรือไม่ซึ่งในกรณีนี้ผู้โจมตีอาจดึงข้อมูลที่เป็นความลับจากเซิร์ฟเวอร์ของคุณ


23
ไม่แน่ใจว่าใช้งานได้กับ Ubuntu 12.04.4 LTS หลังจากการปรับปรุงเต็มรูปแบบให้openssl version OpenSSL 1.0.1 14 Mar 2012นั่นไม่ใช่เวอร์ชั่นที่ถูกแก้ไขใช่ไหม หรือฉันอ่านผิด
Paul Cantrell

7
จะทำอย่างไรกับ Ubuntu 13.04 ไม่มี openssl ที่อัปเกรดแล้ว :-(
Frodik

20
บน Ubuntu 12.04 แม้แต่ OpenSSL 1.0.1 14 Mar 2012คงแสดงรุ่น อ่านคำตอบของ crimiเพื่อดูว่าการติดตั้งของคุณรวมถึงการแก้ไขหรือไม่
แดน

7
ขอบคุณ @dan! Resummarizing @ crimi คำตอบของที่นี่: ถ้าคุณเรียกใช้dpkg -l | grep ' openssl 'และคุณได้รับ1.0.1-4ubuntu5.12แล้วคุณจะดีไป
Paul Cantrell

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

71

ข้อผิดพลาดเป็นที่รู้จักกันHeartbleed

ฉันกำลังเสี่ยงไหม

โดยทั่วไปแล้วคุณจะได้รับผลกระทบหากคุณใช้เซิร์ฟเวอร์บางตัวที่คุณสร้างคีย์ SSL ไว้ในบางจุด ผู้ใช้ปลายทางส่วนใหญ่จะไม่ได้รับผลกระทบ (โดยตรง) อย่างน้อย Firefox และ Chrome ไม่ใช้ OpenSSL SSH ไม่ได้รับผลกระทบ การกระจายของแพ็คเกจ Ubuntu จะไม่ได้รับผลกระทบ (ขึ้นอยู่กับลายเซ็นของ GPG)

คุณมีความเสี่ยงหากคุณเรียกใช้เซิร์ฟเวอร์ชนิดใดก็ตามที่ใช้ OpenSSL เวอร์ชั่น 1.0–1.0.1f (ยกเว้นรุ่นของหลักสูตรที่ได้รับการแก้ไขเนื่องจากข้อผิดพลาดถูกค้นพบ) เวอร์ชัน Ubuntu ที่ได้รับผลกระทบคือ 11.10 oneiric ผ่าน 14.04 trusty pre-release มันเป็นข้อผิดพลาดในการใช้งานไม่ใช่ข้อบกพร่องในโปรโตคอลดังนั้นเฉพาะโปรแกรมที่ใช้ไลบรารี OpenSSL เท่านั้นที่จะได้รับผลกระทบ หากคุณมีโปรแกรมที่เชื่อมโยงกับ OpenSSL เวอร์ชัน 0.9.x เก่ามันจะไม่ได้รับผลกระทบ เฉพาะโปรแกรมที่ใช้ไลบรารี OpenSSL เพื่อใช้งานโปรโตคอล SSL เท่านั้นที่ได้รับผลกระทบ โปรแกรมที่ใช้ OpenSSL สำหรับสิ่งอื่น ๆ จะไม่ได้รับผลกระทบ

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

ผลกระทบคืออะไร?

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

ข้อมูลสำคัญชิ้นหนึ่งที่ผู้โจมตีอาจสามารถเรียกคืนได้คือคีย์ส่วนตัว SSL ของเซิร์ฟเวอร์ ด้วยข้อมูลนี้ผู้โจมตีสามารถเลียนแบบเซิร์ฟเวอร์ของคุณ

ฉันจะกู้คืนบนเซิร์ฟเวอร์ได้อย่างไร

  1. ทำให้เซิร์ฟเวอร์ที่ได้รับผลกระทบทั้งหมดออฟไลน์ ตราบใดที่พวกเขากำลังทำงานพวกเขากำลังรั่วข้อมูลสำคัญ

  2. อัปเกรดlibssl1.0.0แพคเกจและตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ที่ได้รับผลกระทบทั้งหมดเริ่มต้นใหม่
    คุณสามารถตรวจสอบว่ากระบวนการที่ได้รับผลกระทบยังคงทำงานอยู่หรือไม่ด้วย `` grep 'libssl (ลบแล้ว) '/ proc / / maps`

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

    • หากคุณใช้ใบรับรองที่ลงนามโดยผู้ออกใบรับรองให้ส่งกุญแจสาธารณะใหม่ของคุณไปที่ CA เมื่อคุณได้รับใบรับรองใหม่ให้ติดตั้งบนเซิร์ฟเวอร์ของคุณ
    • หากคุณใช้ใบรับรองที่ลงนามเองให้ติดตั้งบนเซิร์ฟเวอร์ของคุณ
    • ไม่ว่าจะด้วยวิธีใดให้ย้ายคีย์เก่าและใบรับรองออกไป (แต่ไม่ต้องลบทิ้งเพียงแค่ให้แน่ใจว่าพวกเขาจะไม่ได้ใช้งานอีกต่อไป)
  4. ตอนนี้คุณมีคีย์ใหม่ที่ไม่ยอมแพ้คุณสามารถนำเซิร์ฟเวอร์ของคุณกลับมาออนไลน์ได้

  5. เพิกถอนใบรับรองเก่า

  6. การประเมินความเสียหาย : ข้อมูลใด ๆ ที่อยู่ในหน่วยความจำของกระบวนการที่ให้บริการการเชื่อมต่อ SSL อาจมีการรั่วไหลออกไป ซึ่งอาจรวมถึงรหัสผ่านผู้ใช้และข้อมูลลับอื่น ๆ คุณต้องประเมินว่าข้อมูลนี้อาจเป็นอะไร

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

ฉันจะกู้คืนลูกค้าได้อย่างไร?

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

  • โปรแกรมไคลเอ็นต์ใช้ไลบรารี OpenSSL เวอร์ชัน buggy เพื่อใช้โปรโตคอล SSL
  • ไคลเอ็นต์เชื่อมต่อกับเซิร์ฟเวอร์ที่เป็นอันตราย (ตัวอย่างเช่นหากคุณเชื่อมต่อกับผู้ให้บริการอีเมลนี่ไม่ใช่ข้อกังวล) สิ่งนี้จะเกิดขึ้นหลังจากเจ้าของเซิร์ฟเวอร์เริ่มตระหนักถึงความเสี่ยงดังกล่าวดังนั้นหลังจาก 2014-04-07
  • กระบวนการไคลเอนต์มีข้อมูลลับในหน่วยความจำที่ไม่ได้แชร์กับเซิร์ฟเวอร์ (ดังนั้นหากคุณเพิ่งwgetจะดาวน์โหลดไฟล์ไม่มีข้อมูลรั่วไหล)

หากคุณทำเช่นนั้นระหว่าง 2014-04-07 ตอนเย็น UTC และอัปเกรดไลบรารี OpenSSL ของคุณให้พิจารณาข้อมูลใด ๆ ที่อยู่ในหน่วยความจำของกระบวนการไคลเอนต์เพื่อให้ถูกบุกรุก

อ้างอิง


4
ฉันไม่เชื่อ "เฉพาะฝั่งเซิร์ฟเวอร์ของการเชื่อมต่อ SSL / TLS เท่านั้นที่ได้รับผลกระทบ" เป็นจริง openssl.org/news/secadv_20140407.txtบอกว่าสามารถเปิดเผยความลับจากไคลเอนต์หรือเซิร์ฟเวอร์ ubuntu.com/usn/usn-2165-1ตกลง โอกาสที่คุณใช้ใบรับรองไคลเอ็นต์ในขณะที่เชื่อมต่อกับเซิร์ฟเวอร์ที่เป็นอันตรายมีขนาดเล็ก แต่มีความเป็นไปได้
armb

@armb คุณทำดีจุด ไม่สำคัญว่าจะใช้ใบรับรองไคลเอ็นต์หรือไม่ก็ตามการรั่วไหลของข้อมูลไม่เกี่ยวข้องกับการใช้ใบรับรอง ผมเคยขอความช่วยเหลือจากมืออาชีพ
Gilles

ใบรับรองไคลเอ็นต์เป็นกรณีที่คุณรั่วคีย์ส่วนตัว แต่ใช่รหัสผ่านคุกกี้การอนุญาต ฯลฯ อาจรั่วไหลได้ อย่างไรก็ตามด้วยไคลเอนต์ที่ใช้ OpenSSL เช่น curl หรือ wget ในการใช้งานทั่วไปคุณจะไม่มีความลับสำหรับไซต์อื่น ๆ ในหน่วยความจำในขณะที่เชื่อมต่อกับเซิร์ฟเวอร์ที่เป็นอันตรายดังนั้นในกรณีนี้ฉันคิดว่าการรั่วไหลเพียงอย่างเดียว คาดหวังให้พวกเขาไปยังเว็บไซต์ที่ถูกกฎหมายและ Heartbleed รั่วไหลออกมาในระหว่างการจับมือก่อนที่การตรวจสอบใบรับรองจะเปิดเผยว่าคุณไม่ได้เชื่อมต่อกับเว็บไซต์ที่ถูกต้อง
armb

1
@Gilles คุณอาจสนใจคำตอบของสิ่งที่ลูกค้าได้รับการพิสูจน์แล้วว่ามีความเสี่ยงต่อ Heartbleed? . ฉันจัดการเพื่อให้ได้หน่วยความจำ "น่าสนใจ" ใน nginx (โหมดพร็อกซี), wget, ลิงก์และอื่น ๆ
Lekensteyn

1
@ MuhamedHuseinbašićแพคเกจopensslประกอบด้วยเครื่องมือบรรทัดคำสั่ง ไม่ได้ใช้โดยแอปพลิเคชันที่ใช้ไลบรารี OpenSSL เพื่อใช้งานโปรโตคอล SSL (เช่น Apache) แต่คุณควรใช้การปรับปรุงความปลอดภัยของการแจกจ่าย
Gilles

40

หากต้องการดูเวอร์ชัน OpenSSL ที่ติดตั้งบน Ubuntu ให้ทำดังนี้

dpkg -l | grep openssl

หากคุณเห็นเอาต์พุตเวอร์ชันต่อไปนี้ควรรวม patch สำหรับ CVE-2014-0160

ii  openssl      1.0.1-4ubuntu5.12      Secure Socket Layer (SSL)...

ดูที่https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12จะแสดงว่ามีการแก้ไขข้อบกพร่องชนิดใด:

...
 SECURITY UPDATE: memory disclosure in TLS heartbeat extension
    - debian/patches/CVE-2014-0160.patch: use correct lengths in
      ssl/d1_both.c, ssl/t1_lib.c.
    - CVE-2014-0160
 -- Marc Deslauriers <email address hidden>   Mon, 07 Apr 2014 15:45:14 -0400
...

2
ฉันได้รับการอัพเกรดและได้รับรุ่น 5.12 แต่เครื่องมือนี้ยังบอกฉันฉันมีช่องโหว่filippo.io/Heartbleedคิด?
toxaq

3
ฉันได้ทดสอบเซิร์ฟเวอร์ที่อัปเดตของเราทางฝั่งนี้แล้วและมันก็บอกว่าฉันไม่ได้รับผลกระทบ คุณรีบูทระบบของคุณหรืออย่างน้อยคุณแน่ใจหรือไม่ว่ากระบวนการที่จำเป็นทั้งหมดได้รับการรีสตาร์ทหรือไม่
crimi

3
หลังจากอัปเดต OPENSSL สิ่งที่ฉันต้องทำก็คือรีสตาร์ทเซอร์วิส apache แต่ไม่ได้ช่วยอะไรดี ฉันต้องไปและเริ่มต้นใหม่โดยใช้sudo service apache2 restart
Tom Hertz

1
ฉันเพิ่งพบสาเหตุของความเสี่ยงของฉัน: ฉันได้ติดตั้ง mod-spdy-beta หลังจากลบออกแล้วรีสตาร์ท apache การทดสอบทั้งหมดเป็นสีเขียวทันที
Andreas Roth

3
การอัปเดตopensslไม่ได้แก้ไขแอปพลิเคชันเช่น Apache, Nginx หรือ postfix คุณต้องอัปเดตlibssl1.0.0และเริ่มใหม่ตามที่อธิบายในโพสต์อื่น ๆ
tnj

17

หากที่เก็บ apt-get ของคุณไม่มีไฟล์ OpenSSLเวอร์ชั่น1.0.1g ที่คอมไพล์แล้วให้ดาวน์โหลดแหล่งข้อมูลจากเว็บไซต์ทางการแล้วคอมไพล์

ด้านล่างบรรทัดคำสั่งเดียวในการรวบรวมและติดตั้งรุ่น openssl ล่าสุด

curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install

แทนที่ไฟล์ไบนารี openssl เก่าด้วยไฟล์ใหม่ผ่าน symlink

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`

คุณเป็นคนดี!

# openssl version should return
openssl version
OpenSSL 1.0.1g 7 Apr 2014

CF นี้โพสต์บล็อก

หมายเหตุ:ตามที่ระบุไว้ในโพสต์บล็อกวิธีแก้ปัญหานี้จะไม่แก้ไข "Nginx และเซิร์ฟเวอร์ Apache ที่จะต้องคอมไพล์ใหม่ด้วยแหล่งที่มาของ OpenSSL 1.0.1g"


2
ตามปกติแล้ว Ubuntu จะไม่ให้บริการอัปสตรีมเวอร์ชันใหม่ แต่ทำการติดตั้งเวอร์ชั่นสำหรับรีลีสที่รองรับทั้งหมดเพื่อให้การเปลี่ยนแปลงมีค่าน้อยที่สุด
Florian Diesch

1
หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณรีสตาร์ทเซิร์ฟเวอร์หลังจากอัปเดต OpenSSL Apache และ Nginx เลือก lib ใหม่และช่องโหว่ถูกปิด
dAngelov

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

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

2
@sarnold openssl.orgดูเหมือนจะไม่สุ่มเลือกแหล่งดาวน์โหลดสำหรับ openssl Canonical ควรทำให้สิ่งนี้ไม่จำเป็น แต่ openssl.org ควรเป็นข้อมูลต้นน้ำที่เชื่อถือได้สำหรับใช้งาน
Rustavore

12

สำหรับผู้ที่ไม่ต้องการอัพเกรดแพ็คเกจทั่วทั้งเซิร์ฟเวอร์ ฉันได้อ่านคำแนะนำเหล่านี้แล้ววันนี้และapt-get upgrade openssl=== apt-get upgradeสิ่งนี้จะใช้การแก้ไขด้านความปลอดภัยทั้งหมดที่เครื่องของคุณต้องการ ยอดเยี่ยมเว้นแต่คุณจะพึ่งพาแพคเกจรุ่นเก่าอย่างชัดเจน

นี่คือการกระทำขั้นต่ำที่จำเป็นสำหรับ Ubuntu 12.04 LTS ที่ใช้ Apache 2:

  • ไปที่ที่อยู่นี้และพิสูจน์ว่าคุณมีช่องโหว่ คุณควรใช้ที่อยู่ภายนอกโดยตรงของเว็บเซิร์ฟเวอร์ของคุณ หากคุณใช้ loadbalancer (เช่น ELB) คุณอาจไม่ติดต่อเว็บเซิร์ฟเวอร์ของคุณโดยตรง

  • รัน 1 ซับต่อไปนี้เพื่ออัพเกรดแพ็กเกจและรีสตาร์ท ใช่ฉันเห็นมัคคุเทศก์ทั้งหมดบอกว่าคุณควรจะมีการประทับเวลาช้ากว่าวันที่ 4 เมษายน 2014 ดูเหมือนจะไม่เป็นเช่นนั้นสำหรับฉัน

    apt-get update && apt-get install openssl libssl1.0.0 && /etc/init.d/apache2 รีสตาร์ท

  • ตรวจสอบให้แน่ใจว่าคุณติดตั้งรุ่นแพ็คเกจที่เหมาะสมและตรวจสอบเว็บเซิร์ฟเวอร์ของคุณเพื่อหาช่องโหว่อีกครั้ง

แพ็คเกจสำคัญมีดังต่อไปนี้ฉันได้พิจารณาข้อมูลนี้โดยใช้คำสั่งด้านล่างแล้วแก้ไข cruft (คุณไม่จำเป็นต้องรู้อะไรเกี่ยวกับสถานะของเครื่องของฉัน)

$ dpkg -l | grep ssl

ii  libssl-dev                       1.0.1-4ubuntu5.12          SSL development libraries, header files and documentation
ii  libssl1.0.0                      1.0.1-4ubuntu5.12          SSL shared libraries
ii  openssl                          1.0.1-4ubuntu5.12          Secure Socket Layer (SSL)* binary and related cryptographic tools

1.0.1-4ubuntu5.12ไม่ควรมีช่องโหว่ ตรวจสอบให้แน่ใจว่าเป็นกรณีนี้โดยไปที่เว็บไซต์ด้านล่างอีกครั้งและทดสอบเว็บเซิร์ฟเวอร์ของคุณ

http://filippo.io/Heartbleed/


2
การใช้ไซต์ภายนอกเพื่อพิสูจน์ว่าช่องโหว่ในเซิร์ฟเวอร์ดูเหมือนจะเป็นวิธีที่ผิดสำหรับฉัน
Rinzwind

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

ทำไมต้องติดตั้งแพ็คเกจหากมีการอัพเกรด
Braiam

1
apt-get install openssl libssl1.0.0ทำเพื่อฉัน openssl version -aแสดงการทำงานในขณะนี้:built on: Mon Apr 7 20:33:29 UTC 2014
topher

"สคริปต์การทดสอบความเสี่ยงจากภายนอกกำลังกลายเป็นเรื่องธรรมดาไปทั่วทุกวันนี้" ซึ่งเปิดโอกาสให้เว็บไซต์ภายนอกใช้ระบบของฉันได้: พวกเขาจำเป็นต้องรู้ว่ามันล้มเหลวและแฮ็คระบบของฉันก่อนที่ฉันจะทำการแก้ไข ไม่ใช่นี่ไม่ใช่วิธีที่ถูกต้อง (และใช่ฉันโฮสต์เว็บไซต์ของตัวเองด้วย apache และ openssl)
Rinzwind

11

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

คุณต้องตรวจสอบเพื่อให้แน่ใจว่าคุณไม่มีแพ็คเกจที่ถูกระงับเช่น libssl

:~$ sudo apt-get upgrade -V
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  libssl-dev (1.0.1-4ubuntu5.10 => 1.0.1-4ubuntu5.12)
  libssl1.0.0 (1.0.1-4ubuntu5.10 => 1.0.1-4ubuntu5.12)
  linux-image-virtual (3.2.0.31.34 => 3.2.0.60.71)
  linux-virtual (3.2.0.31.34 => 3.2.0.60.71)
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.

เพื่ออัพเกรดเหล่านั้นapt-mark unhold libssl1.0.0(ตัวอย่าง) จากนั้นอัปเกรด: apt-get upgrade -V. จากนั้นเริ่มบริการที่ได้รับผลกระทบ

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