การจัดเก็บข้อมูลรับรอง AWS อย่างปลอดภัยบนเครื่องส่วนตัว


10

ฉันจะเก็บข้อมูลรับรอง AWS อย่างปลอดภัยบนเครื่องส่วนตัวได้อย่างไร

ในรายละเอียด:

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

ฉันต้องการเก็บข้อมูลประจำตัวเหล่านี้ในรูปแบบที่เข้ารหัส (เช่นคล้ายกับคีย์ ssh เป็นต้น) มีวิธีอัตโนมัติในการทำเช่นนั้นหรือไม่? หรือฉันต้องแฮกสคริปต์ bash ที่ใช้ตัวอย่าง openssl เพื่อเข้ารหัสข้อมูล?

มีข้อมูลมากมายเกี่ยวกับการรักษาความปลอดภัยของข้อมูลรับรองบนอินสแตนซ์ของ EC2 แม้จะมีฟังก์ชั่นการทำงานของ Amazon IAMนี้ แต่มันก็ใช้ได้กับ EC2 เท่านั้น


1
นี่เป็นคำถามที่ยอดเยี่ยมและฉันสนใจคำตอบมาก
ceejayoz

คำตอบ:


4

https://github.com/realestate-com-au/credulousอาจคุ้มค่าที่จะตรวจสอบ จากคำอธิบายโครงการ:

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

มีบทความบล็อกเบื้องต้นอยู่ที่http://techblog.realestate.com.au/protecting-your-aws-keys-with-credulous/


ที่น่ากลัวนี้เป็นว่าสิ่งที่ผมกำลังมองหา (และสิ่งที่ฉันไม่ได้จัดการเพื่อหาของตัวเอง ... )
arnuschky

ดูเพิ่มเติมที่github.com/99designs/aws-vault
Yves M.

4

คำถามยอดเยี่ยม - และขึ้นอยู่กับบุคคลที่ตอบรับคุณอาจมีเส้นทางสองสามเส้นทาง ฉันจะให้ตัวอย่างของสิ่งที่เราใช้:

  1. สร้างบทบาท IAM ตามผู้ใช้ (ผู้พัฒนาโครงสร้างพื้นฐานความปลอดภัยการตรวจสอบและอื่น ๆ ) - กำหนดนโยบายเพื่ออนุญาตหรือปฏิเสธการกระทำที่เฉพาะเจาะจงตามการเข้าถึงของผู้ใช้

ตัวอย่าง: อนุญาตการดำเนินการ ec2 ทั้งหมดสำหรับผู้ดูแลระบบ หรืออนุญาตการเข้าถึงโดยยึดตามแท็กหรือเครือข่ายย่อยสำหรับนักพัฒนาเท่านั้นและอื่น ๆ

  1. เรียกใช้งานอินสแตนซ์ ec2 Linux โดยใช้บทบาท IAM เฉพาะ เรียกใช้อินสแตนซ์สำหรับแต่ละบทบาทหรือผู้ใช้เฉพาะ (ปรับขนาด / ประเภทของอินสแตนซ์ตามความต้องการงบประมาณ ฯลฯ )

  2. กำหนดค่ากลุ่มความปลอดภัยสำหรับแต่ละอินสแตนซ์เพื่ออนุญาตเครือข่ายย่อยเฉพาะหรือ IP แต่ละรายการเท่านั้นดังนั้นคุณสามารถล็อคทราฟฟิกทางเข้า SSH

  3. ตั้งค่าผู้ใช้ / รหัสผ่านที่กำหนดเองสำหรับ SSH หรือเข้าร่วมโดเมน

  4. ให้ผู้ใช้แต่ละคนเข้าสู่ระบบหรือ SSH ให้กับอินสแตนซ์ Linux ที่กำหนดให้กับบทบาทหรือการเข้าถึงของผู้ใช้

  5. คีย์ API และการเข้าถึงได้รับมาจากอินสแตนซ์ของบทบาท IAM ซึ่งทำให้ไม่จำเป็นต้องมีการจัดเก็บคีย์ผู้ใช้ เพียงตรวจสอบให้แน่ใจว่าได้ล็อคกลุ่มความปลอดภัยเท่านั้นให้สิทธิ์การเข้าถึงแก่ผู้ใช้เฉพาะบนกล่อง Linux ผู้ใช้ควรสามารถเขียนสคริปต์โดยใช้ AWS API / ใช้ฟังก์ชันเครื่องมือ API ตามปกติ

เราใช้วิธีนี้ประมาณหนึ่งปีตอนนี้ด้วยการปรับแต่งความปลอดภัยเพิ่มเติมเช่นเวลาเข้าถึงเช่าซื้อใน AWS HSM และใช้งานได้ดี

หวังว่าสิ่งนี้จะช่วยให้คุณหรือคนอื่น ๆ


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