ฉันจะถอดรหัส gpg โดยอัตโนมัติซึ่งใช้ข้อความรหัสผ่านในขณะที่เก็บเป็นความลับได้อย่างไร


13

ฉันได้รับมอบหมายให้ถอดรหัส gpg โดยอัตโนมัติโดยใช้ cron (หรือเครื่องมือการจัดตารางงานที่เข้ากันได้กับเซิร์ฟเวอร์ Ubuntu) เนื่องจากมันต้องเป็นแบบอัตโนมัติฉันใช้--passphraseแต่มันจะจบลงในประวัติเชลล์ดังนั้นมันจึงมองเห็นได้ในรายการกระบวนการ

ฉันจะไปเกี่ยวกับการถอดรหัสอัตโนมัติในขณะที่รักษามาตรฐานความปลอดภัยที่ดี (ดีกว่า) ได้อย่างไร

ตัวอย่างจะได้รับการชื่นชมอย่างมาก


ข้อโต้แย้งเช่นนี้จะมองเห็นได้ในpsฯลฯ ถ้าคุณมีhidepidใน/procแต่เปลือกทำงานสคริปต์ (จาก cron หรืออื่น ๆ ) คือไม่โต้ตอบและไม่ได้เขียนประวัติศาสตร์ควรเว้นแต่ misconfigured
dave_thompson_085

คำตอบ:


23

เก็บข้อความรหัสผ่านในไฟล์ที่ผู้ใช้งาน cron อ่านได้เท่านั้นและใช้--passphrase-fileตัวเลือกเพื่อบอกgpgให้อ่านข้อความรหัสผ่านที่นั่น

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

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


+1 สำหรับการกล่าวถึงโมดูลความปลอดภัยของฮาร์ดแวร์ทางออกเดียวสำหรับปริศนานี้
MariusMatutiae

Stephen ขอบคุณสำหรับการกล่าวถึงโมดูลความปลอดภัยฮาร์ดแวร์ฉันจะทำวิจัยบางอย่าง ขอบคุณที่ชี้นำฉันในทิศทางที่ถูกต้อง
Zakk Coetzee

@StephenKitt Hardware keys ยอดเยี่ยมเมื่อใช้งาน เมื่อพวกเขาทำไม่ดี ...
Satō Katsura

@ SatōKatsuraจริงแม้ว่าฉันจะชี้ให้เห็นว่า Yubikey ไม่ใช่ HSM (ซึ่งไม่ได้หมายความว่า HSM จะไม่อ่อนไหวอย่างแน่นอน )
Stephen Kitt

"ถ้าคุณต้องการมาตรฐานความปลอดภัยที่ยอดเยี่ยม" คุณจะไม่สามารถถอดรหัสงานอัตโนมัติหรือเซ็นชื่ออะไรเลย
JimmyB

5

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

เช่นความต้องการของคุณเข้ากันไม่ได้กับความปลอดภัย

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

--passphrase-file <file-name>ตัวเลือกที่จะป้องกันไม่ให้รหัสผ่านสำหรับการแสดงในรายการกระบวนการคือ

อย่างไรก็ตามนั่นไม่ปลอดภัยกว่าเพียงแค่ลบข้อความรหัสผ่านในตอนแรก


ขอบคุณสำหรับการอธิบายโทนี่คุณให้มุมมองที่ดีขึ้นในเรื่องนี้ โมดูลความปลอดภัยของฮาร์ดแวร์ตามที่ Stephen กล่าวไว้จะเป็นเป้าหมายหลัก
Zakk Coetzee

@ZakkCoetzee: ตามที่ฉันพูดในคำตอบอื่น ๆ สิ่งที่จะหยุดการโจมตีจากการใช้ HSM ถ้าพวกเขาเป็นราก?
Martin Bonner สนับสนุน Monica

@MartinBonner ดังที่ได้กล่าวไว้ข้างต้นโดย Stephen Kitt มันหยุดพวกเขาจากการรับกุญแจซึ่งดีกว่าการรับกุญแจ
Zakk Coetzee

มันเป็น แต่ไม่ดีขึ้นมาก ถาม Diginotar (ผู้มีกุญแจของพวกเขาใน HSM แต่ทิ้งการเชื่อมต่อ HSM และสมาร์ทการ์ดที่เกี่ยวข้องในสล็อต - เพื่อให้ผู้โจมตีสามารถลงนามในใบรับรองการโจมตีจำนวนหนึ่ง)
Martin Bonner สนับสนุน Monica
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.