Preskoči na glavno vsebino

Pomalé odozvy Linux servera pri práci so šifrovaním

Môže dochádzať napríklad k zasekávaniu REST API požiadaviek pri ukladaní hesla ku kontaktu (hashovanie)

Avtor: Petr Pech

Ak beží ABRA Flexi na Linuxe a niektoré operácie sa zasekávajú — typicky ukladanie hesla ku kontaktu alebo iné činnosti spojené so šifrovaním — býva príčinou nedostatok entropie („náhodnosti") na serveri.


Ako to spoznať

Množstvo dostupnej entropie vypíše:

cat /proc/sys/kernel/random/entropy_avail

Hodnota by sa mala pohybovať v tisícoch. Ak je výrazne nižšia a systém sa práve zadrháva pri operáciách so šifrovaním, je to silný signál, že ide práve o tento problém.

ℹ️ Záleží od distribúcie a verzie Javy, aký zdroj entropie používa. Býva to /dev/random, ktorý pri nedostatku náhodnosti blokuje — preto sa čakanie prejaví ako „zaseknutie" aplikácie, nie ako chyba.


Riešenie

Najspoľahlivejšie je doplniť do systému generátor entropie — démona rngd z balíčka rng-tools. Na distribúciách rodiny RHEL/CentOS sa inštaluje a zapína takto:

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

Na starších systémoch, kde rngd beží ako klasická služba, je potrebné ho ešte nasmerovať na /dev/urandom — v súbore /etc/sysconfig/rngd doplňte:

EXTRAOPTIONS="-r /dev/urandom"

a službu spustite (service rngd start, chkconfig rngd on). V novších distribúciách je démon zvyčajne aktívny už z výroby.

⚠️ Zásah do konfigurácie servera robte po dohode so správcom. Pri cloudovej prevádzke sa k nastaveniam servera nedostanete — obráťte sa na podporu, ktorá beh inštancie preverí.

💡 Ak sa požiadavky zasekávajú aj tam, kde šifrovanie nehrá rolu, pôjde skôr o inú príčinu — dlho bežiace požiadavky popisuje článok REST API vracia timeout.


Súvisiace

Ste s tem dobili odgovor na svoje vprašanje?