Вернуться к статьям

Мифы о /dev/urandom: правда, которую вы (не) знали

14 мая 2026
1 мин чтения
Мифы о /dev/urandom: правда, которую вы (не) знали

Разбираем популярные заблуждения о /dev/urandom — и это не очередной скучный мануал.

Если вы хоть раз писали код, генерирующий случайные числа, то наверняка слышали: «urandom — это небезопасно, используй /dev/random». Спойлер: это миф, который живёт в головах разработчиков упорнее, чем баги в легаси.

Давайте разберёмся. /dev/urandom не блокируется, если энтропии мало — вот откуда ноги растут. Когда-то (на заре Linux) это действительно могло давать слабые случайные числа. Но с версии ядра 4.8 (2016 год) /dev/urandom инициализируется один раз при загрузке, используя аппаратный источник энтропии. После этого он так же криптостоек, как его старший брат /dev/random, но без блокировок.

А вот /dev/random — тот ещё тормоз. Он может встать колом, дожидаясь «достаточной энтропии», что в продакшене чревато паникой и таймаутами. Представьте, что ваш сервер завис, пока ждёт, когда мышь пошевелят или клавишу нажмут — а это сервер в облаке, где мыши нет.

Кстати, в современных системах /dev/random тоже перестал блокироваться (с ядра 5.4), но мифы живут. Так что в следующий раз, когда кто-то на code review скажет «используй /dev/random», можете вежливо ткнуть ссылкой на эту статью. Или просто улыбнуться и кинуть в него /dev/urandom.

Комментарий студии METABYTE: Мифы о безопасности — как баги: чем старше, тем упорнее. Мы в своих проектах всегда проверяем такие вещи, чтобы ваш продакшен не зависал в ожидании энтропии.

Мифы о /dev/urandom: правда и заблуждения | METABYTE — METABYTE