Перед публикацией достаточно пройти короткий защитный маршрут. Он не заменяет аудит, но быстро убирает типовые риски, которые чаще всего всплывают в первые дни после выкладки.
Публичная поверхность
- Открыты только нужные порты: обычно
80и443, SSH ограничен по IP или вынесен в отдельный контур. - Админки, staging и технические панели закрыты авторизацией, VPN или allowlist.
- Старые домены, тестовые поддомены и временные reverse proxy не смотрят на production.
- В корне сайта нет архивов, дампов,
.env, логов и резервных копий.
ss -lntup
find /var/www -maxdepth 3 -type f \( -name '*.sql' -o -name '*.zip' -o -name '.env' \)
TLS и заголовки
Минимум для обычного сайта: корректный сертификат, редирект HTTP на HTTPS, HSTS после проверки всех поддоменов и запрет небезопасного встраивания.
curl -I https://example.com
curl -I http://example.com
Strict-Transport-Securityвключать только когда HTTPS стабилен на всех нужных именах.X-Content-Type-Options: nosniffснижает риск неверной интерпретации файлов.Content-Security-Policyлучше вводить постепенно: сначала в report-only, потом в enforcement.
Наблюдаемость
Защита без наблюдения быстро превращается в надежду. Нужны access/error logs, алерт на всплеск 4xx/5xx, контроль свободного места и понятная процедура отката.