Патч Redis не спас: как я нашёл дыру на 700 000 ₽ у клиента
На днях разработчики популярной базы для кэша выпустили патч от критической уязвимости — и хакеры обошли его почти сразу. У меня похожий случай был буквально месяц назад.
Оптовая компания, интернет-магазин с полсотней тысяч заказов в базе. Для ускорения сайта админ поставил кэш-сервер на базе Redis — там хранились сессии покупателей и корзины. После шумной истории с уязвимостью в этой системе он честно обновил версию и выдохнул: «патч официальный, всё закрыто».
Я делал плановый аудит и решил проверить не версию, а то, как сервер вообще смотрит в сеть. Оказалось — порт открыт наружу, без пароля и шифрования. Патч закрывал конкретный сценарий атаки, а не саму открытую дверь. Обновление версии люди часто путают с закрытой дырой в настройках — это разные вещи.
Через этот кэш можно было вытащить сессии клиентов и данные заказов: телефоны, адреса, историю покупок. При утечке такого масштаба — штраф по закону о персональных данных плюс отток клиентов, посчитали риск на 700 000 ₽. Часть покупателей просто ушла бы к конкурентам после новости об утечке.
Закрыли за один день: убрали сервер из внешнего доступа, поставили пароль и шифрование соединения, а на попытку подключения снаружи настроили уведомление руководителю в мессенджер. Стоимость работы — несопоставима с потенциальным штрафом и потерей клиентской базы.
Вывод простой: если вам сказали «мы обновили систему после уязвимости» — это не ответ на вопрос «а что у нас открыто наружу». Это два разных вопроса, и второй проверяют отдельно.
А у вас кто-то в компании точно знает, какие серверы и базы видны из интернета, кроме самого сайта?