เพียงเพื่อทำให้เรื่องยากลีนุกซ์มีห้องสมุดมากกว่าหนึ่งแห่งสำหรับการทำงานกับใบรับรอง
หากคุณใช้ NSS ของ Mozilla คุณสามารถเชื่อถือได้อย่างมั่นใจ (คำศัพท์เฉพาะ) ใบรับรองโดยใช้ตัวเลือกของcertutil-t trustargs
:
$ certutil -d <path to directory containing database> -M -t p -n "Blue Coat Public Services Intermediate CA"
สำหรับ Firefox <path to directory containing database>
มักจะเป็น~/.mozilla/firefox/<???>.profile
ที่ที่<???>
ตัวละครดูสุ่ม (certutil เป็นเช่น. ในแพ็คเกจ libnss3-tools ของ Ubuntu
รายละเอียดมีดังนี้:
-M
เพื่อแก้ไขฐานข้อมูล
-t p
เพื่อตั้งค่าความไว้วางใจเป็น Prohibited
-n
เพื่อดำเนินการกับใบรับรองที่มีชื่อ
แม้แต่ภายใน NSS แอปพลิเคชั่นบางตัวก็ไม่แบ่งปันฐานข้อมูลเดียวกัน ดังนั้นคุณอาจต้องทำซ้ำขั้นตอนนี้ ตัวอย่างเช่นในการทำเช่นเดียวกันสำหรับ Chrome เปลี่ยนไป-d <path>
-d sql:.pki/nssdb/
$ certutil -d sql:.pki/nssdb/ -M -t p -n "Blue Coat Public Services Intermediate CA"
อย่างไรก็ตามไม่ใช่ทุกแอปพลิเคชันที่ใช้ NSS ดังนั้นนี่ไม่ใช่โซลูชันที่สมบูรณ์ ตัวอย่างเช่นฉันไม่เชื่อว่าเป็นไปได้ที่จะทำเช่นนี้กับห้องสมุด OpenSSL
ดังนั้นแอปพลิเคชันใด ๆ ที่ใช้ OpenSSL เพื่อให้การสร้างห่วงโซ่ใบรับรอง (TLS, IPSec ฯลฯ ) จะเชื่อถือห่วงโซ่ที่มีใบรับรอง Blue Coat และไม่มีสิ่งใดที่คุณสามารถทำได้โดยไม่ต้องลบ Root CA ที่ลงนามจาก trust anchor store ของคุณ (ซึ่งโง่มากเมื่อพิจารณาว่าเป็น Symantec Root CA เนื่องจากคุณไม่ไว้ใจอินเทอร์เน็ตครึ่งหนึ่ง) ในขณะที่แอปพลิเคชั่นที่ใช้ NSS สามารถกำหนดค่าได้ละเอียดยิ่งขึ้นเพื่อไม่ไว้วางใจห่วงโซ่ใด ๆ .
ตัวอย่างเช่นฉันเชื่อว่า OpenVPN ใช้ OpenSSL เนื่องจากเป็นห้องสมุดสำหรับใบรับรองดังนั้นพี่ใหญ่อาจฟังทราฟฟิก OpenVPN ของคุณโดยที่คุณไม่รู้ถ้าคุณกำลังเชื่อมต่อกับผู้ให้บริการ VPN เชิงพาณิชย์ที่ใช้ OpenVPN หากคุณกังวลเกี่ยวกับสิ่งนั้นจริงๆให้ตรวจสอบว่า Root CA ของผู้ให้บริการ VPN ในเชิงพาณิชย์ของคุณคือใคร - ถ้าเป็น Symantec / Verisign บางทีอาจถึงเวลาที่คุณควรทิ้งไว้ให้คนอื่น
โปรดทราบว่า SSH ไม่ได้ใช้ใบรับรอง X509 ดังนั้นคุณสามารถเชื่อมต่อและสร้างอุโมงค์โดยใช้ SSH โดยไม่ต้องกังวลเกี่ยวกับการโจมตีของ Blue Coat MITM