Настройка безопасности Nginx как обратного прокси сервера

Настройка безопасности Nginx как обратного прокси сервера

Настройка безопасности обратного прокси Nginx

Введение

Обратный прокси на базе Nginx стал стандартом для маршрутизации трафика и защиты бэкендов. Базовая конфигурация не защищает от современных угроз. Чтобы правильно настроить безопасность nginx, внедрите многоуровневый подход: шифрование, фильтрацию и контроль доступа.

Минимизация поверхности атак

Скройте служебную информацию. Отключите версию сервера и лишние заголовки. Это усложнит подбор уязвимостей.

server_tokens off;
server_name_in_redirect off;
proxy_hide_header X-Powered-By;
add_header X-Content-Type-Options nosniff always;

Настройка TLS

Используйте только TLS 1.2 и 1.3. Отключите слабые шифры, включите HSTS и OCSP-stapling.

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
add_header Strict-Transport-Security "max-age=63072000" always;

Ограничение скорости

Без rate limiting сервер быстро исчерпает ресурсы. Используйте limit_req для защиты от брутфорса.

limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
limit_req zone=api burst=20 nodelay;

Сравнение методов фильтрации

Метод Назначение Производительность
limit_req Защита от сканеров Высокая
geo / map Блокировка по IP Средняя
ModSecurity WAF и анализ Низкая

Интеграция с CDN

Связка Nginx с Cloudflare снимет L3/L4 атаки. Передавайте реальный IP через X-Forwarded-For для логирования и геоблокировки.

Вопрос-ответ (FAQ)

Как проверить конфигурацию?

Запустите nginx -t. При успехе примените nginx -s reload без разрыва соединений.

Влияет ли WAF на скорость?

Да, анализ payload добавляет задержку. Размещайте модуль в отдельном контейнере или используйте ускорители.

Что делать при утечке заголовков?

Добавьте proxy_hide_header для каждого заголовка. Используйте proxy_pass_request_headers off и явно укажите нужные через proxy_set_header.

Comments are closed.