เมื่อใดก็ตามที่ฉัน แมว /proc/sys/kernel/random/entropy_avail
ภายในคอนเทนเนอร์ Docker ของฉัน (ใช้ Linux 5.10) ฉันได้รับผลลัพธ์เป็นเลขสองหลักซึ่งเห็นได้ชัดว่าต่ำอย่างน่าขันอะไรก็ตามที่ต่ำกว่า 4 หลักถือว่าไม่ดี และการรักษาไว้ใกล้กับ 4096 (สูงสุด) นั้นเหมาะสมที่สุด
ฉันได้อ่านเกี่ยวกับภูตรวบรวมเอนโทรปีที่เรียกว่า ได้
แต่คาดว่าล้าสมัยไปแล้วตั้งแต่ Linux kernel 5.6 ดังนั้นฉันจึงไม่แน่ใจว่านั่นเป็นวิธีแก้ปัญหาที่ถูกต้องอีกต่อไป
เหตุใดเอนโทรปีของฉันจึงต่ำมากภายในคอนเทนเนอร์ Docker ที่ใช้เคอร์เนล 5.10 และฉันจะแก้ไขได้อย่างไร
เดิมทีฉันค้นพบสิ่งนี้เมื่อสคริปต์ "คำพูดประจำวัน" ของ Python ยังคงเลือกคำพูดสองสามคำเหมือนเดิม ฉันไม่ได้ทำการ seed โมดูล Random มาตรฐานของ Python ด้วยตนเอง แต่ตามเอกสารและซอร์สโค้ด มันควรจะทำการ seed ตัวเองจากเอนโทรปีของระบบ (โดยตรงผ่าน เกเต็นโทรปี(3)
หรือได้รับ สุ่ม(2)
หากมีซึ่งฉันคิดว่าพวกเขาจะอยู่ในสภาพแวดล้อม Linux สมัยใหม่ทั่วไปหรือผ่าน /dev/สุ่ม
หรือ /dev/urandom
หรือถอยกลับไปใช้เวลาของระบบและ PID เป็นทางเลือกสุดท้าย) ดังนั้นฉันเดาว่าเอนโทรปีของฉันต่ำมาก เกเต็นโทรปี(3)
กำลังคืนค่าเอนโทรปีที่ไม่ดี? อย่างไรก็ตาม การ seed โมดูล Random ของ Python ด้วยตนเองพร้อมเวลาของระบบจะช่วยแก้ปัญหานั้นได้
อย่างไรก็ตาม ตอนนี้ฉันกังวลว่าเว็บเซิร์ฟเวอร์ของฉันที่ใช้ TLS และเซิร์ฟเวอร์การตรวจสอบสิทธิ์ของฉัน ซึ่งทั้งหมดนี้ทำงานในคอนเทนเนอร์ Docker ที่คล้ายกัน อาจมีค่าเอนโทรปีไม่เพียงพอที่จะสร้างคีย์ที่รัดกุมและแพดแบบใช้ครั้งเดียว และความท้าทาย และอื่นๆ ดังนั้นฉันต้องการทราบวิธีการรับประกันว่าคอนเทนเนอร์ Docker ของฉันได้รับเอนโทรปีเพียงพอที่จะทำงานได้ดี
นี่ไม่ใช่โครงสร้างพื้นฐานระดับชาติที่สำคัญหรือเป็นสิ่งที่ควรติดตั้งโมดูลฮาร์ดแวร์ RNG นี่เป็นเพียงคอนเทนเนอร์ Docker ที่โฮสต์บนคลาวด์ ดังนั้นฉันจึงหวังว่าจะมีโซลูชันที่ฉันสามารถนำไปใช้ภายในคอนเทนเนอร์/อิมเมจ Docker ของฉัน