Přeskočit na hlavní obsah

Pomalé odezvy Linux serveru při práci se šifrováním

Může docházet například k zasekávání REST API požadavků při ukládání hesla ke kontaktu (hashování)

Autor: Petr Pech

Běží-li ABRA Flexi na Linuxu a některé operace se zasekávají — typicky ukládání hesla ke kontaktu nebo jiné činnosti spojené se šifrováním — bývá příčinou nedostatek entropie („náhody") na serveru.


Jak to poznat

Množství dostupné entropie vypíše:

cat /proc/sys/kernel/random/entropy_avail

Hodnota by se měla pohybovat v tisících. Je-li výrazně nižší a systém se zrovna zadrhává na operacích se šifrováním, je to silný signál, že jde právě o tento problém.

ℹ️ Záleží na distribuci a verzi Javy, jaký zdroj entropie používá. Bývá to /dev/random, který při nedostatku náhody blokuje — proto se čekání projeví jako „zaseknutí" aplikace, ne jako chyba.


Řešení

Nejspolehlivější je doplnit do systému generátor entropie — démona rngd z balíčku rng-tools. Na distribucích rodiny RHEL/CentOS se instaluje a zapíná takto:

yum -y install rng-tools
systemctl enable --now rngd

Na starších systémech, kde rngd běží jako klasická služba, je potřeba jej ještě nasměrovat na /dev/urandom — v souboru /etc/sysconfig/rngd doplňte:

EXTRAOPTIONS="-r /dev/urandom"

a službu spusťte (service rngd start, chkconfig rngd on). V novějších distribucích je démon obvykle aktivní už z výroby.

⚠️ Zásah do konfigurace serveru dělejte po dohodě se správcem. U cloudového provozu se na nastavení serveru nedostanete — obraťte se na podporu, která běh instance prověří.

💡 Zasekávají-li se požadavky i tam, kde šifrování nehraje roli, půjde spíš o jinou příčinu — dlouho běžící požadavky popisuje článek REST API vrací timeout.


Související

Dostali jste odpověď na svou otázku?