โดยทั่วไป บริษัท จะเก็บใบรับรอง SSL ไว้ที่ใดเพื่อใช้ในอนาคต


26

เราเพิ่งซื้อใบรับรองไวลด์การ์ด SSL สำหรับโดเมนของเรา เราแปลง certs ทั้งหมดเป็นที่เก็บคีย์ Java แต่ตอนนี้เราถามตัวเองว่าเราควรเก็บไว้ที่ใดเพื่อใช้ในภายหลัง

ผู้คนใช้การควบคุมแหล่งข้อมูลเช่น BitBucket สำหรับไฟล์ประเภทนี้หรือเพียงแค่สร้างทุกครั้งที่ต้องการหรืออย่างอื่น?

เราสงสัยว่ามีวิธีแก้ปัญหามาตรฐานหรือ "แนวปฏิบัติที่ดีที่สุด" รอบการจัดเก็บใบรับรองเหล่านี้เพื่อใช้ในอนาคตหรือไม่


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

คำตอบ:


22

มีหลายวิธี:

One avenue เป็นห้องนิรภัยที่มีความเฉพาะเจาะจงไม่ว่าจะเป็นเครื่องใช้ฮาร์ดแวร์โมดูลความปลอดภัยของฮาร์ดแวร์หรือซอฟต์แวร์ที่เทียบเท่า

อีกวิธีหนึ่งคือยกเลิกคีย์เก่าและสร้างคู่คีย์ส่วนตัว / สาธารณะใหม่เมื่อเกิดสถานการณ์ขึ้น ซึ่งค่อนข้างเปลี่ยนปัญหาจากการรักษาความปลอดภัยที่สำคัญเพื่อรักษาความปลอดภัยชื่อผู้ใช้ / รหัสผ่านของบัญชีกับผู้ให้บริการใบรับรองและขั้นตอนของพวกเขาสำหรับการออกใหม่ ข้อดีคือองค์กรส่วนใหญ่มีโซลูชันการจัดการบัญชีที่มีสิทธิพิเศษเช่น1 2

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

สถานที่ที่เลวจริงๆคือ GitHub ทีม WiKi ของคุณหรือเครือข่ายแชร์ (และคุณจะได้รับแนวคิด)

อัพเดท 2015/4/29: Keywhizดูเหมือนจะเป็นวิธีที่น่าสนใจเช่นกัน


ฉันอยากรู้อยากเห็นคุณหมายถึงอะไรโดย "ซอฟต์แวร์ที่เทียบเท่า" สำหรับ HSM

ผู้ขายอุปกรณ์ฮาร์ดแวร์บางรายในปัจจุบันขายอุปกรณ์ของพวกเขาในรูปแบบของอุปกรณ์เสมือน, VM นอกจากนี้ยังมีสิ่งต่าง ๆ เช่นOracle key vaultและ The Open Source SoftHSMเพื่อตั้งชื่อ
HBruijn

ดังนั้นโดยทั่วไปที่อนุญาตให้เปลี่ยนคอมพิวเตอร์มาตรฐานเป็น HSM ...

1
"แต่นั่นจะเป็นสุนัขตัวเมียที่จะฟื้นฟู" -> อันนี้ทำให้วันของฉัน! เรื่องตลกกันคุณควรเข้ารหัสก่อนที่จะบันทึก
Ismael Miguel

ตามคำจำกัดความคุณจะเปิดเผยกุญแจสาธารณะให้ทุกคน ไม่มีเหตุผลที่จะเข้ารหัสสิ่งนั้น แต่นั่นก็เป็นเหตุผลที่ไม่เลอะเทอะกับมัน ความปลอดภัยส่วนใหญ่สำหรับไพรเวตคีย์ซึ่งโดยทั่วไปควรได้รับการเข้ารหัส / ป้องกันด้วยรหัสผ่าน คุณควรตั้งเป้าที่จะมีสำเนาให้น้อยที่สุดเท่าที่จะทำได้
HBruijn

21

ไม่ใบรับรอง SSL ไม่ได้อยู่ในการควบคุมแหล่งที่มาอย่างน้อยก็ไม่ใช่ส่วนของรหัสส่วนตัว

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


3

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

คุณสามารถป้องกันคีย์โดย DES หรือ AES เข้ารหัสด้วยวลีรหัสผ่านโดยใช้ OpenSSL OpenSSL พร้อมใช้งานสำหรับ Linux, OSX และ Windows

OpenSSL สามารถลบข้อความรหัสผ่านเมื่อข้อความรหัสผ่านไม่สะดวก (เช่นบนเว็บเซิร์ฟเวอร์ที่เริ่มต้นโดยอัตโนมัติ แต่ไม่สนับสนุนรายการข้อความรหัสผ่านอัตโนมัติ)

การเพิ่มข้อความรหัสผ่านโดยใช้การเข้ารหัส AES (ปลอดภัยกว่า DES): -

openssl rsa -aes256 -in private.key -out encrypted.private.key

การลบข้อความรหัสผ่าน (คุณจะได้รับแจ้งให้ใส่ข้อความรหัสผ่าน): -

openssl rsa -in encrypted.private.key -out decrypted.private.key

1
หากคุณกำลังทำสิ่งต่าง ๆ อย่างถูกต้องแม้กระทั่งการเปิดรับกุญแจส่วนตัวก็ไม่ควรนำไปสู่การลดทอนปริมาณการใช้ข้อมูลในอดีตแม้ว่ามันจะทำให้ MITM'ing เพื่อลดทอนการรับส่งข้อมูลในอนาคตได้ง่ายขึ้น
CVn

สวัสดี @Michael ตามทฤษฎีแล้ว แต่น่าเสียดายที่ฉันสามารถถอดรหัส Apache และ IIS ได้จำนวนมากดังนั้นฉันจึงสามารถสันนิษฐานได้ว่า PFS ถูกปิดใช้งานตามค่าเริ่มต้นเท่านั้น แม้แต่ IPSec VPN จำนวนมากก็ยังปิดอยู่
Tricky

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

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

1

อีกทางเลือกหนึ่งหลังจากอ่านเกี่ยวกับ KeyWhiz คือ Vault ของ HashiCorp ไม่ใช่เพียงผู้จัดการรหัสผ่าน แต่เป็นที่เก็บความลับฉันเชื่อว่าคล้ายกับ KeyWhiz มันเขียนใน GO และลูกค้าทำงานเป็นเซิร์ฟเวอร์เช่นกันและขอเป็นแบ็กเอนด์และวิธีการตรวจสอบ ห้องนิรภัยยังเป็นโอเพ่นซอร์สพร้อมตัวเลือก Enterprise เช่นกัน

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

  1. https://www.vaultproject.io/
  2. https://github.com/hashicorp/vault

0

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

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


ทำไมต้องลงคะแนน ไม่บ่น อยากรู้อยากเห็นว่ามีอะไรผิดปกติกับคำตอบนี้
แมตต์

ไม่แน่ใจว่าทำไมมันลงคะแนน HSM ได้รับการออกแบบมาโดยเฉพาะสำหรับการจัดเก็บคีย์ที่ปลอดภัยและการเข้ารหัสความเร็วสูง ฉันสามารถเดาได้ว่ามันเกี่ยวข้องกับค่าใช้จ่ายหรือการจัดการที่ซับซ้อนมากขึ้นเท่านั้น ธนาคารใหญ่ ๆ ทุกแห่งใช้ HSM สำหรับการดำเนินงานที่สำคัญในการทำธุรกรรมเช่น Chip & Pin
Tricky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.