Новый VPS сканируют и прощупывают в течение нескольких минут после запуска. Хорошая новость: час последовательной защиты останавливает подавляющее большинство оппортунистических атак. Вот чек-лист — в том порядке, который действительно важен, — для нового сервера, ориентированного на приватность.
1. Сначала заблокируйте SSH
Создайте непривилегированного пользователя с sudo, добавьте Ваш публичный ключ, а затем отключите аутентификацию по паролю и вход под root в sshd_config (PasswordAuthentication no, PermitRootLogin no). Один только вход по ключам сводит на нет подбор паролей, из которого состоит большая часть шума, бьющего по Вашему серверу. Перезапустите SSH и убедитесь, что новая сессия работает, прежде чем закрывать Вашу текущую.

2. Поставьте файрвол на входе
Запрещайте входящие соединения по умолчанию и разрешайте только то, что нужно именно Вам. С ufw: запретите входящие, разрешите исходящие, затем откройте Ваш SSH-порт и конкретные порты сервисов, которые Вы используете. Файрвол превращает «каждый открытый порт — это мишень» в «существуют только те двери, которые выбрали именно Вы», что резко сокращает поверхность атаки.
3. Добавьте fail2ban
Установите fail2ban, чтобы отслеживать логи аутентификации и временно блокировать IP-адреса, которые многократно проваливают попытки входа. Даже при входе только по ключам он снижает шум в логах и ослабляет попытки перебора против любого сервиса, который Вы открываете наружу. Настройки по умолчанию разумны; включите jail для sshd и любые jail для сервисов, которые Вы используете.
4. Включите автоматические обновления безопасности
Включите unattended-upgrades (Debian/Ubuntu), чтобы патчи безопасности устанавливались, даже если Вы о них не вспомните. Самый распространённый способ взлома серверов — известная уязвимость, для которой уже был доступен патч, — автоматизация обновлений закрывает это окно, пока Вы спите.
5. Сократите поверхность атаки
Удалите сервисы, которыми Вы не пользуетесь, привяжите локальные демоны к 127.0.0.1 и проверьте, что слушает порты, с помощью ss -tlnp. Каждый слушающий сервис — потенциальная точка входа; чем меньше Вы запускаете и открываете наружу, тем меньше остаётся для атаки. Затем настройте резервное копирование за пределы сервера, чтобы взлом был обратимым, а не катастрофическим.
Итог часа
Вход по SSH только по ключам, файрвол с запретом по умолчанию, fail2ban, автоматические обновления и минимальная слушающая поверхность. Ничего экзотического, всё делается быстро, а вместе это останавливает автоматизированные атаки, на которые приходится почти весь реальный взлом. Сделайте это, прежде чем Вы развернёте что-либо действительно важное.