Эталонный блок директив безопасности Nginx: SSL/TLS, HSTS, CSP и OCSP Stapling
Готовый конфигурационный файл /etc/nginx/snippets/security-ssl.conf для оценки A+ на SSL Labs и SecurityHeaders: TLS 1.3, OCSP Stapling, CSP, HSTS.
Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/nginx/snippets/security-ssl.conf
# /etc/nginx/snippets/security-ssl.conf
# Подключается через: include snippets/security-ssl.conf;
# Протоколы и шифры SSL/TLS (Только безопасные TLSv1.2 и TLSv1.3)
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
# SSL Сессии
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:20m;
ssl_session_tickets off;
# OCSP Stapling (Проверка валидности сертификата без обращения клиента к CA)
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s;
resolver_timeout 5s;
# Security Headers (Рейтинг A+ на SecurityHeaders.com)
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "geolocation=(), microphone=(), camera=()" always;
Разбор ключевых директив конфигурации
Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).
| Директива / Блок | Рекомендуемое значение | Зачем нужно и системное влияние (CPU / RAM / I-O) |
|---|---|---|
ssl_stapling on; ssl_stapling_verify on; |
OCSP Stapling | Прикрепляет подписанный ответ удостоверяющего центра к TLS Handshake, ускоряя установку SSL соединения на 50-100 мс. |
add_header Permissions-Policy |
Запрет геолокации и микрофона | Запрещает встроенным фреймам и внешним скриптам обращаться к оборудованию клиента. |
User-agent: * |
* (все поисковые боты) | Базовые инструкции индексации для Яндекса, Google, Bing и Mail.ru. |
Clean-param: ref / utm_source |
clean-param для Яндекса | Указывает Яндексу игнорировать UTM-метки и реферальные хвосты, предотвращая раздувание индекса дублями страниц. |
Рекомендуемые системные требования VDS под этот стек
Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.
Оптимальный сайзинг: 1-2 vCPU, 2 GB RAM
Расчетная нагрузка: Любой HTTPS сервер
1 CPU / 1 GB NVMe
Timeweb Cloud
Рекомендуемые ресурсы
1-2 vCPU /
2 GB RAM /
30 GB NVMe
1 vCPU / 1 GB RAM
Selectel
Рекомендуемые ресурсы
1-2 vCPU /
2 GB RAM /
30 GB NVMe
Старт 1 GB
Beget
Рекомендуемые ресурсы
1-2 vCPU /
2 GB RAM /
30 GB NVMe
Онлайн-утилиты SysKit для проверки этого сервера
Протестируйте корректность применения конфигурации прямо сейчас в один клик.
Частые ошибки при настройке и их решение (FAQ)
Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.
Почему после включения OCSP Stapling Nginx выдает ошибку resolver?
Для проверки OCSP Nginx должен резолвить DNS. Убедитесь в наличии директивы `resolver 1.1.1.1 8.8.8.8 valid=300s;`.
Как проверить корректность robots.txt в Яндексе и Google?
Используйте инструмент «Анализ robots.txt» в Яндекс.Вебмастере и отчет «Файлы Sitemap» в Google Search Console.
Почему после изменения robots.txt страницы остаются в поиске?
Удаление закрытых страниц из индекса поисковиков занимает от 1 до 3 недель по мере повторного обхода роботами.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.