makepasswd funktioniert in Debian Stretch nicht richtig

makepasswd funktioniert in Debian Stretch nicht richtig

Ich verwende es makepasswd, um eine Reihe zufälliger Passwörter in einer VM zu generieren.

Nach dem Upgrade auf Stretch/Debian 9 generiert das Skript entweder ein oder zwei Passwörter und stoppt oder gar keines.

Es scheint eine ganze Weile zu dauern, bis erneut ein Passwort generiert wird.

Beim ersten Aufruf:

makepasswd
ndmBXpfp3

Es generiert wie erwartet sofort eine zufällige Zeichenfolge.

Zweites Mal:

makepasswd

Und es wartet dort weiter ... und weiter.

Antwort1

Es scheint, makepasswddass von der Verwendung einer OpenSSL-API zum Generieren von (Pseudo-)Zufallszahlen auf die heutige Verwendung einer auf basierenden API umgestiegen ist /dev/random.

Das Problem ist, dass VMs und iOTs (möglicherweise) eine geringe Aktivität aufweisen und nicht genügend Entropie erzeugen, um das Skript zu erfüllen/ makepasswdtrinken aus/dev/random

Während ich versuchte, eine Option zum Trinken von Zufallszahlen zu finden /dev/urandom, gab es keine.

Ich habe mir also einfach eine alte Version von besorgt makepasswd, da es sich um ein Perl-Skript handelt, und habe das Skript /opt/bin/makepasswdauf meinem System auf gerichtet; und das Skript funktioniert nun wie gewohnt und generiert in Sekundenschnelle die über 100 Passwörter, die ich brauche.

Wie aus der Quelle hervorgeht:

Neu makepasswd:

 my $buf = $RNG->bytes($bytes);

Alt makepasswd:

 my $buf = Crypt::OpenSSL::Random::random_pseudo_bytes($bytes);

Interessanterweise wurden die Daten und die Version in der Nähe des Copyrights nicht geändert, was mich eine Weile lang verwirrte.

In beiden:

$Program        = 'makepasswd';
$Version        = '1.10';
$Author         = 'Rob Levin <[email protected]>';
$Date           = "Monday, 7 April 1999 at 22:56 (UCT)";
$Copyright      = '1997-1999';

Doch vonchangelog.Debian.gz

Convert from Crypt::OpenSSL::Random to Bytes::Random::Secure (closes:
#792535).

 -- Colin Watson <[email protected]>  Thu, 16 Jul 2015 11:45:20 +0100

Antwort2

Eine andere alternative Lösung, anstatt die Makepasswd-Quellen zu ändern, ist die Installation des Daemons, havegedum den Schlüsselgenerierungsprozess zu beschleunigen. So installieren Sie ihn:

sudo apt-get install haveged

Nach der Installation makepasswdfunktioniert es auch wie es soll.

Der havegedDaemon wird jetzt in VMs und IoTs (z. B. Raspberry) benötigt, wo die Entropienormalerweiseniedrig.

Von Debian man haveged:

NAME
haveged– Zufallszahlen generieren und das Zufallsgerät von Linux füttern.

BESCHREIBUNG
haveged generiert einen unvorhersehbaren Strom von Zufallszahlen, der aus den indirekten Auswirkungen von Hardwareereignissen auf den verborgenen Prozessorzustand (Caches, Verzweigungsprädiktoren, Speicherübersetzungstabellen usw.) unter Verwendung des HAVEGE-Algorithmus (HArdware Volatile Entropy Gathering and Expansion) gewonnen wird. Der Algorithmus arbeitet im Benutzerbereich, für den Dateisystemzugriff auf den Ausgabestrom sind keine besonderen Berechtigungen erforderlich.

Linux speichert Zufallszahlen für die Verteilung über die /dev/randomGeräteschnittstellen /dev/urandom . Die Standardmechanismen zum Füllen des /dev/randomPools reichen möglicherweise nicht aus, um die Anforderungen von Systemen mit hohen Anforderungen oder eingeschränkter Benutzerinteraktion zu erfüllen. Unter diesen Umständen haveged kann als privilegierter Daemon ausgeführt werden, um den /dev/randomPool zu füllen, wenn die Menge an Zufallsbits /dev/randomunter die Untergrenze des Geräts fällt.

verwandte Informationen