GNU/Linux >> Znalost Linux >  >> Debian

Debian – když se přihlásím, zablokuje se, dokud není dokončeno Crng Init?

Když se přihlásím pomocí LightDM na svém notebooku s Debian Unstable, nedávno začal asi 2 minuty viset, dokud journalctl zobrazí zprávu kernel: random: crng init done . Když na klávesnici stisknu náhodné klávesy, když visí, přihlásí se rychleji (asi 10 sekund). Než jsem tento problém neměl, existuje způsob, jak jej mohu opravit?

Upravit:pomocí linux-image-4.15.0-3-amd64 místo linux-image-4.16.0-1-amd64 funguje, ale nechci používat starší jádro.

Přijatá odpověď:

Vypadá to, že nějaká součást vašeho systému blokuje při pokusu o získání náhodných dat z jádra (tj. čtení z /dev/urandom nebo volání getrandom() ) z důvodu nedostatečné dostupné entropie (náhodnosti).

Nemám připravené vysvětlení, proč problém závisí na konkrétní verzi jádra nebo která komponenta ve vašem systému skutečně blokuje, ale bez ohledu na hlavní příčinu,

Ve skutečnosti, jak poukázal Bigon ve své odpovědi, zdá se, že jde o chybu jádra zavedenou v 4.16:

Tato chyba je zavedena změnou „crng_init> 0“ až „crng_init> 1“
v tomto potvrzení:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux. git/commit/?id=43838a23a05fbd13e47d750d3dfd77001536dd33

Tato změna neúmyslně ovlivní urandom_read, což způsobí, že stav
crng_init==1 bude považován za neinicializovaný a způsobí zablokování urandom
, přestože tento stav existuje konkrétně pro podporu
nekryptografických potřeb při spouštění:https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/char/random.c# n1863

Vrácení 43838a23a05f (“random:fix crng_ready() test”) opravuje chybu
(testováno s 4.16.5-1), ale to může způsobit bezpečnostní problémy
(CVE-2018-1108 je zmíněno v 43838a23a05f ). Testuji více
lokalizovanou opravu, která by měla být příjemnější pro upstream.

(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82)

…Přesto můžete zkusit použít haveged nebo rng-tools rychleji shromáždit entropii.


Debian
  1. Vlastní jádra v Ubuntu/Debianu – jak, kdy a proč

  2. Vytváření linuxových jader způsobem Debian

  3. Debian – používat Aes-ni v Debianu?

  1. Instalace jádra deb v chrootovém prostředí Debianu

  2. Debian – kam /etc/init.d/skeleton?

  3. Panika jádra při upgradu na 10.10?

  1. Jak zkompilovat jádro – způsob Debianu

  2. Debian – Najít spouštěcí přihlášení Debian 8 (pro ladění problémů s automatickým spuštěním)?

  3. Prostředí hackování jádra