Мониторинг VDS и сайтов

Security Headers за 5 минут

Браузер смотрит не только на HTML, но и на HTTP-заголовки ответа. Без HSTS и X-Frame-Options сайт «работает», но легче кликнуть на phishing-редирект или встроить страницу во фрейм. Это baseline, не пентест.

Серия «Периметр VPS»: 404 в access.logDNSBL → этот чеклист.

Проверка одной командой

curl -sI https://example.com | grep -iE 'strict-transport|x-frame|x-content|referrer-policy|content-security|permissions-policy'

Подставьте свой домен. Если вывод пустой — заголовков нет или почти нет.

Связка: SSL и код ответа снаружи — site-check. Заголовки безопасности смотрите curl -I (или DevTools → Network → Response Headers).

Минимум, который стоит иметь

ЗаголовокЗачемОриентир
Strict-Transport-SecurityБраузер не откатывается на HTTPmax-age=31536000; includeSubDomains
X-Frame-OptionsНе встраивать в чужой iframe (clickjacking)SAMEORIGIN или DENY
X-Content-Type-OptionsНе угадывать MIMEnosniff
Referrer-PolicyМеньше утечки URL в Refererstrict-origin-when-cross-origin
Content-Security-PolicyОграничить скрипты/источникиСначала Report-Only, потом enforce

Permissions-Policy (бывший Feature-Policy) — по желанию: камера, геолокация и т.п.

Пример для nginx

В блок server { … } (или в include):

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
# CSP — осторожно: легко сломать админку Bitrix / аналитику
# add_header Content-Security-Policy "default-src 'self'; ..." always;
sudo nginx -t && sudo systemctl reload nginx
curl -sI https://ваш-домен.ru | grep -iE 'strict-transport|x-frame|x-content|referrer-policy'
CSP: не копируйте жёсткую политику с чужого сайта вслепую. Начните с Content-Security-Policy-Report-Only, посмотрите отчёты, потом уже enforce.

Что это не заменяет

Чеклист на 5 минут

  1. curl -sI https://… — есть ли HSTS и X-Frame-Options
  2. HTTPS и редирект с HTTP (иначе HSTS почти бесполезен)
  3. Добавить 3–4 заголовка в nginx, reload
  4. Проверить главную и админку: ничего не сломалось
  5. CSP — только если готовы отладить