วิธีจัดการเว็บเซิร์ฟเวอร์การป้องกันคีย์ส่วนตัว SSL (รหัสผ่านกับไม่มีรหัสผ่าน)


18

เรามีการสนทนาในกลุ่มความปลอดภัยของ บริษัท ของฉันเกี่ยวกับตัวเลือกต่อไปนี้ในการจัดการคีย์ส่วนตัว SSL ที่แย่กว่านั้นคือ

เว็บเซิร์ฟเวอร์ต้องการการเข้าถึงคีย์ส่วนตัวสำหรับการดำเนินการเข้ารหัส ไฟล์นี้ควรได้รับการปกป้องจากการเข้าถึงโดยไม่ได้รับอนุญาต ในเวลาเดียวกันเซิร์ฟเวอร์ควรเริ่มต้นโดยอัตโนมัติโดยไม่มีการแทรกแซงของมนุษย์ (หากปลอดภัยพอ)

เรากำลังพูดถึงสามตัวเลือก:

  1. ปกป้องคีย์ด้วย perms ของระบบไฟล์

  2. ใช้รหัสป้องกันด้วยรหัสผ่านและป้อนรหัสด้วยตนเองทุกครั้งที่รีสตาร์ท

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

ความกังวลของเรามีดังต่อไปนี้:

  1. ด้วยตัวเลือกที่ 1 การรีสตาร์ทจะเป็นไปโดยอัตโนมัติ แต่การประนีประนอมสามารถคัดลอกคีย์ส่วนตัวและในฐานะที่ไม่ได้รับการป้องกันสามารถใช้เพื่อแยกแยะการสื่อสารหรือเลียนแบบเซิร์ฟเวอร์ของเรา

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

  3. ตัวเลือกที่ 3 มีตัวเลือกที่ดีที่สุดทั้งคู่ก่อนหน้านี้ แต่ถ้าใครบางคนสามารถเข้าถึงกุญแจก็สามารถเข้าถึงรหัสผ่านได้ :( ดังนั้นมันจึงดูไม่ปลอดภัยเลย

คุณจะจัดการความปลอดภัยของคีย์ส่วนตัวของเซิร์ฟเวอร์ได้อย่างไร? มีตัวเลือกอื่น ๆ (ปลอดภัยมากขึ้น) หรือไม่?

คำตอบ:


10

ตัวเลือกที่ 1 คือฉันคิดว่ามาตรฐานที่ยอมรับได้

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

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


5

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

หากคุณไม่ต้องการตื่นขึ้นมากลางดึกเพื่อพิมพ์รหัสผ่านให้เลือกตัวเลือก 1 เมื่อคุณมีเซิร์ฟเวอร์จำนวนมากคุณต้องการรีสตาร์ทอัตโนมัติเมื่อเกิดข้อผิดพลาดและตัวเลือก 2 ไม่อนุญาตให้ทำเช่นนั้น


1

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

ตามที่คุณรู้จักตัวเลือกที่ 3 ไม่ได้ให้ความปลอดภัยเพิ่มเติมใด ๆ มากกว่า 1


1

การปฏิบัติจริงเป็นตัวกำหนดว่าในเกือบทุกสถานการณ์คุณจะต้องใช้ตัวเลือก (1) ระบบไฟล์ perms เป็นวิธีที่ดีที่สุดในการรักษาความปลอดภัยส่วนใหญ่กับสถานการณ์จริง

บนระบบ * nix คุณสามารถ จำกัด ไพรเวตคีย์เพื่อรูทเท่านั้นเนื่องจากเว็บเซิร์ฟเวอร์ที่ดีที่สุด (เช่น apache) จะเริ่มต้นเป็นรูท แต่ลดระดับไพรเวตของพวกเขาเป็นผู้ใช้ที่ จำกัด เมื่อพวกเขามีพอร์ตพิเศษที่พวกเขาต้องการ (80, 443 เป็นต้น) .

ตามที่คุณกล่าวถึงตัวเลือก (3) มาจากมุมมองความปลอดภัยเหมือนกับตัวเลือก (1)

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