Anscheinend basiert / dev / random auf Hardware-Interrupts oder ähnlichen unvorhersehbaren Aspekten physischer Hardware. Da virtuelle Maschinen keine physische Hardware haben, führt das Ausführen cat /dev/random
innerhalb einer virtuellen Maschine zu nichts. Ich verwende Ubuntu Server 11.04 als Host und Gast mit libvirt / KVM.
Ich muss Kerberos in einer VM krb5_newrealm
einrichten, bleibt aber für immer "Zufällige Daten werden geladen", da das System keine produziert.
Weiß jemand, wie man das umgeht? Ist es möglich, das / dev / random des Hosts (das sehr gesprächig ist) an die VM zu übergeben, damit die VM ihre zufälligen Daten verwenden kann?
Ich habe gelesen, dass es einige Software-Alternativen gibt, aber sie sind nicht gut für die Kryptologie, da sie nicht zufällig genug sind.
BEARBEITEN: Es scheint, dass cat / dev / random auf dem VM nur sehr, sehr langsam eine Ausgabe erzeugt. Ich habe mein Reich eingerichtet, indem ich ungefähr zwei Stunden gewartet habe, während es "Zufallsdaten laden" war. Irgendwann hat es gereicht, um weiterzumachen. Ich bin immer noch daran interessiert, dies zu beschleunigen.
cat /proc/sys/kernel/random/entropy_avail
Alles, was zunimmt, funktioniert.python -c 'while True: import time; print str(time.sleep(1))[0:0] + open("/proc/sys/kernel/random/entropy_avail", "rb").read(),'
. Ja, das ist schwer zu lesen, aber ich sehe keine Möglichkeit, neue Zeilen in KommentareIch verwende Haveged auf allen meinen Headless-Servern, die kryptografische Operationen ausführen (z. B. TLS-Handshakes, Kerberos usw.). Es sollte sich im Paket-Repository der meisten Ubuntu-Versionen befinden: http://packages.ubuntu.com/search?keywords=haveged&searchon=names&suite=all§ion=all
haveged verwendet den HAVAGE-Algorithmus, um Entropie aus dem internen Zustand moderner Prozessoren zu extrahieren. Hier ist eine ausführliche Erklärung: http://www.irisa.fr/caps/projects/hipsor/
Sie können die Zufälligkeit der generierten Entropie mit dem ent-Paket überprüfen. Auf meinen Systemen hat die erzeugte Entropie von haveged alle Zufallstests von ent bestanden
quelle
Ja, du kannst es aussäen, von:
http://manpages.ubuntu.com/manpages/jaunty/man4/random.4.html
Sie können das einfach in / dev / urandom einfügen und es sollte den Entropiepool auslösen. Ich konnte dies bestätigen durch:
Bonus, wenn Sie den Befehl ssh über einen Router ausführen, sodass Entropie generiert wird * :)
quelle
Das hat bei mir funktioniert
Das Ausführen von krb5_newrealm in einer VM kann lange dauern (nachdem die Meldung "Zufällige Daten werden geladen" angezeigt wurde). Sie können den folgenden Hack verwenden, um die Dinge ein wenig zu beschleunigen.
Gepostet unter http://fossies.org/linux/john/doc/Kerberos-Auditing-HOWTO.md
quelle
Die X86-Antwort lautet: Stellen Sie sicher, dass Ihre VM RdRand oder RdSeed nicht abfängt. Sie vertrauen Ihrer VM in vielen Dingen, dies ist einer von ihnen.
Ein ausreichend aktueller RNGd auf einer Post-Snady-Bridge-CPU wird (oder kann angewiesen werden) RdRand oder RdSeed verwenden, und ein nicht abgefangener RdRand oder RdSeed wird in die VM entropisiert. / dev / random arbeitet dann mit einer realen (nicht virtuellen) Entropiequelle.
Das ist kein Zufall. Es ist genau dort in den Intel-Architekturdokumenten.
Für eine gerätebasierte Hardware-Entropiequelle (IE verwendet einen Kerneltreiber, um sie freizugeben) muss die VM die physische Quelle ordnungsgemäß virtualisieren. Ich habe keine Ahnung, ob und für welche Geräte sie dies tun.
Wenn Ihr RNGd die unten stehende Option drng nicht hat, aktualisieren Sie sie. Wenn Ihre Hardware kein schnelles Hardware-RNG hat, sind Sie zum Scheitern verurteilt und sollten aus Sicherheitsgründen die Verwendung unterschiedlicher Hardware in Betracht ziehen.
quelle
Ich hatte auch Probleme mit krb5_newrealm. Dies funktionierte gut für mich, basierend auf der obigen Antwort:
Möglicherweise möchten Sie es beenden, wenn Sie mit dem Bedarf an zufälligen Daten fertig sind. / dev / sda enthält wahrscheinlich mehr Daten als Sie benötigen.
Hinweis: Ich bin nicht sicher, wie zufällig die auf diese Weise erzeugten Zufallsdaten tatsächlich sind.
quelle