Сервер
- IP сервера не опубликован и не встречается в истории DNS — проверка описана в руководстве как скрыть IP сервера.
- Прямой доступ к HTTP(S) открыт только с адресов защиты.
- Выставлены короткие таймауты на заголовки и тело запроса — это главная мера против медленных атак.
- Есть лимиты на число соединений с одного адреса.
- Почта вынесена на отдельный сервер.
- SSH и панель управления доступны только с ваших адресов или через VPN.
- Ограничен максимальный размер тела запроса: загрузка файлов по 2 ГБ туда, где нужны 5 МБ, — лишний риск.
# nginx: таймауты и размеры (значения — отправная точка)
client_header_timeout 10s;
client_body_timeout 10s;
send_timeout 15s;
keepalive_timeout 30s;
client_max_body_size 10m;Приложение
- Тяжёлые страницы (поиск, фильтры) имеют лимиты — см. настройку limit_req.
- Статика и публичные страницы кэшируются.
- Административная панель закрыта по адресам или VPN.
- Вход защищён от перебора и включена двухфакторная аутентификация для админов.
- Формы защищены от спама, коды подтверждения ограничены по частоте и количеству попыток.
- Медленные запросы к базе известны и оптимизированы: журнал медленных запросов включён и просматривается.
- Ошибки приложения не раскрывают пути, версии и адреса серверов.
Процессы
- Настроен внешний мониторинг доступности с уведомлениями в мессенджер или по SMS.
- Есть резервные копии вне основного сервера, восстановление проверено.
- Есть контакты поддержки хостинга и провайдера защиты, в том числе ночные.
- Записан план действий при атаке: кто что делает — образец в руководстве что делать во время атаки.
- Известно, как сообщить клиентам о проблеме и где принимать заказы, если сайт недоступен.
- CMS, модули и плагины обновляются регулярно, лишние удалены.
Как пользоваться списком
Пройдите пункты по порядку и отметьте невыполненные. Начните с серверного блока: скрытый адрес и закрытый прямой доступ делают бесполезными целые классы атак. Пункты процессов не требуют технической работы, но именно их отсутствие чаще всего превращает час атаки в день простоя. Возвращайтесь к списку после крупных изменений на сайте — переезда, смены CMS, запуска нового поддомена.
Вопросы и ответы
Сколько времени занимает прохождение списка?
Для небольшого сайта с доступом к серверу — обычно рабочий день. Дольше всего занимают смена IP и вынос почты, если они нужны.
Что делать, если сайт на виртуальном хостинге без доступа к серверу?
Серверные пункты обсудите с хостингом. Пункты приложения и процессов можно выполнить самостоятельно через CMS и панель управления.