Обычно такие штуки никто не трогает. Поставил nginx из репы, запустил, радуешься, что сайт хоть как-то отдает статику и PHP. В заголовки никто не смотрит. А там — привет — версия nginx торчит наружу.
Сценарий простой: кто-то делает nmap или curl -I, видит твой nginx/1.18.0, лезет в CVE — и если ты не обновлял сервак с 2020 года, то тебе гарантирован «подарочек» в виде сканера уязвимостей или автоматизированного ботнета.
Так что если не хочешь кормить школьников, сканеров и скрипткидди — убери версию nginx нахрен из заголовков. А ещё лучше — настрой всё так, чтобы кроме домена ничего лишнего наружу не торчало.
📌 Почему это важно
Все любят безопасность — на словах. На деле 90% проектов держат дефолтную конфигурацию, где заголовки Server, X-Powered-By, X-Frame-Options и прочее светят полную картину. Для атакующего это просто чек-лист:
- какая версия сервера,
- какой стек,
- какие модули могут быть установлены,
- какие дыры можно использовать.
Инфо в заголовках — бесплатный чит для любого бота. И самое смешное — закрывается одной строчкой. Только никто не закрывает.
📌 Как работает Server у nginx
По умолчанию nginx добавляет свой заголовок:
Server: nginx/1.24.0 Этот хедер жёстко захардкожен в ядре. Отключить его совсем штатными средствами нельзя. Можно только скрыть часть — убрать версию.
📌 Базовый уровень: server_tokens
В стандартной конфигурации server_tokens включён:
server_tokens on;
Он и отвечает за то, будет ли nginx показывать свою версию или просто напишет nginx.
Чтобы вырезать версию — достаточно поставить:
server_tokens off;
Где ставить?
В http {} — для всех серверов сразу.
В server {} — если хочется извращаться и настроить выборочно.
В location {} — тоже можно, но смысла мало.
📌 Как проверить, сработало или нет
Сохрани конфиг:
nginx -tЕсли ошибок нет — отлично.
Перезапусти nginx:
nginx -s reloadДёрни свой сайт:
curl -I https://example.comЕсли видишь Server: nginx — всё сработало. Если всё ещё с версией — значит где-то в конфиге каша или у тебя кастомный билд.
Итог
Скрывать версию nginx — это не защита, это элементарная гигиена. Если ты не умеешь делать хотя бы это — не жалуйся, если тебя пробьют. Закрыл — спишь спокойнее.
И помни: скрытый Server не спасёт, если ты забил на патчи и бэкапы.
0 комментариев