ฉันจะตรวจสอบได้อย่างไรว่าใบรับรอง SSL ของฉันถูกเพิกถอนแล้ว


23

การค้นพบช่องโหว่ที่ผ่านมาเร็ว ๆ นี้ได้กระตุ้นให้หน่วยงานออกใบรับรองออกใบรับรองอีกครั้ง

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

หากความเข้าใจของฉันถูกต้องแล้วใบรับรองเก่าควรถูกเพิกถอนโดย CA และควรส่งไปที่ CRL (รายการเพิกถอนใบรับรอง) หรือฐานข้อมูล OCSP (โพรโทคอลสถานะสถานะใบรับรองออนไลน์) มิฉะนั้นเป็นไปได้ทางเทคนิคสำหรับบุคคลที่จะดำเนินการ " คนที่อยู่ตรงกลางโจมตี "โดยการสร้างใบรับรองจากข้อมูลที่หยิบมาจากใบรับรองที่ถูกบุกรุก

มีวิธีการตรวจสอบว่าใบรับรองเก่าของฉันทำกับ CRL และ OCSP หรือไม่ หากพวกเขาไม่ได้มีวิธีที่จะรวมพวกเขา?

อัปเดต: สถานการณ์คือฉันได้แทนที่ใบรับรองทั้งหมดที่ฉันมีแล้วคือไฟล์. crt ของใบรับรองเก่าดังนั้นการใช้ url เพื่อตรวจสอบจึงเป็นไปไม่ได้จริงๆ


คุณสามารถตรวจสอบโดยใช้ประกาศนียบัตรที่ฉันเชื่อ อ่านที่นี่
MichelZ

1
ฉันใช้ Ubuntu เป็นเดสก์ท็อปและ Centos บนเซิร์ฟเวอร์ของฉัน
sridhar pandurangiah

จากนั้นฉันแนะนำให้คุณติดแท็กคำถามของคุณเช่นนี้
MichelZ

ฉันแนะนำให้อ่านสิ่งนี้สำหรับ * nix
MichelZ

@MichelZ - ฉันติดแท็กคำถามกับ Ubuntu
sridhar pandurangiah

คำตอบ:


10

รับ ocsp url จากใบรับรองของคุณ:

$ openssl x509 -noout -ocsp_uri -in /etc/letsencrypt/archive/31337.it/cert1.pem
http://ocsp.int-x1.letsencrypt.org/
$

ส่งคำขอไปยังเซิร์ฟเวอร์ ocsp เพื่อตรวจสอบว่าใบรับรองถูกเพิกถอนหรือไม่:

$ openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain4.pem -cert /etc/letsencrypt/archive/31337.it/cert4.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 10:00:00 2015 GMT
        Next Update: Nov  5 10:00:00 2015 GMT
$

นี่เป็นใบรับรองที่ดี

นี่คือใบรับรองที่ถูกเพิกถอน:

$  openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain3.pem -cert /etc/letsencrypt/archive/31337.it/cert3.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "HOST" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 12:00:00 2015 GMT
        Next Update: Nov  5 12:00:00 2015 GMT
        Revocation Time: Oct 29 12:33:57 2015 GMT
$

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

10

คุณสามารถใช้ certutil บน Windows:

หากคุณมีใบรับรองและต้องการตรวจสอบความถูกต้องให้ปฏิบัติตามคำสั่งต่อไปนี้:

certutil -f –urlfetch -verify [FilenameOfCertificate]

ตัวอย่างเช่นใช้

certutil -f –urlfetch -verify mycertificatefile.cer

แหล่งที่มา / ข้อมูลเพิ่มเติม: TechNet

นอกจากนี้โปรดตรวจสอบกับ CA ของคุณ เพียงเพราะคุณ rekey ใบรับรอง / รับใหม่ไม่ได้หมายความว่าพวกเขาเพิกถอนโดยอัตโนมัติ!


1
การติดตั้งcertutilบนเซิร์ฟเวอร์ Ubuntu sudo apt-get install libnss3-toolsใช้คำสั่ง นี้ไม่ได้เป็นที่เห็นได้ชัดในขณะที่การค้นหา apt-get certutilแคชผลตอบแทนที่ไม่มีผลการค้นหาสำหรับสตริง ฉันรู้ว่าเซิร์ฟเวอร์ของ OP คือ CentOS แต่เป็นไปได้ว่าผู้ดูแลระบบ Ubuntu Server คนอื่น ๆ จะพบว่าคำถามนี้มีประโยชน์เช่นกัน
dotancohen

คำตอบของฉันถูกหมดจดของ Windowsตาม ฉันไม่รู้การใช้ * nix ของสิ่งนี้ ดูที่นี่สำหรับวิธีแก้ปัญหา * ระวังที่เป็นไปได้
MichelZ

2
@dotancohen ในขณะที่เรียกว่าโปรแกรมcertutilมันไม่ได้เป็นโปรแกรมเดียวcertutil.exeกับบน Windows และไม่ได้ใช้ในลักษณะเดียวกัน
Dan Getz

1

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


สิ่งนี้ต้องการให้เซิร์ฟเวอร์ทำงานด้วยใบรับรองเก่า แต่เมื่อสร้างใบรับรองของฉันใหม่ทั้งหมดที่ฉันมีก็คือไฟล์. crt ของใบรับรองเก่า
sridhar pandurangiah

1

หากคุณเพิกถอนใบรับรองผ่าน CA ที่สร้างพวกเขาแล้วพวกเขาก็จะทำให้มันเป็น OCSP และ CRL

หากคุณต้องการตรวจสอบให้แน่ใจว่าเป็นกรณีนี้โปรดแยก ocsp url ออกจากใบรับรองแล้วสร้างคำร้องขอ ocsp ไปยัง url นั้นรวมถึงหมายเลขซีเรียลใบรับรอง, ผู้ออกใบรับรอง ca และเรียกการตอบกลับ ocsp จากนั้นหนึ่งสามารถ แยกมันเพื่อตรวจสอบและยืนยันว่ามันถูกเพิกถอนแน่นอน

รายละเอียดเพิ่มเติมได้ที่หน้ามีประโยชน์นี้: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

หมายเหตุ: ต้องใช้การใช้ไลบรารี openssl

แก้ไข 1: ฉันเห็นว่าคุณได้เพิ่มข้อมูลเกี่ยวกับ OCSP และ CRL อย่างชัดเจนหลังจากคำตอบนี้

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