Как защитить белорусский VPS от DDoS и брутфорса: пошаговая настройка fail2ban, UFW и Cloudflare

ГлавнаяКак защитить белорусский VPS от DDoS и брутфорса: пошаговая настройка fail2ban, UFW и Cloudflare

Содержание

Современный Интернет полон невидимых угроз. Владельцы VPS-серверов в Беларуси не понаслышке знают, что даже небольшой проект может внезапно оказаться под ударом DDoS-атаки или стать мишенью для брутфорса. Резкий всплеск трафика способен положить сайт, а бесчисленные попытки подобрать пароль могут заблокировать доступ к вашему серверу.

В материале рассказали, как шаг за шагом настроить многоуровневую защиту для своего белорусского VPS от DDoS-атак и атак методом перебора паролей. Вы узнаете, как с умом использовать брандмауэр UFW, инструмент Fail2ban и возможности Cloudflare, чтобы спать спокойно и не бояться внезапных атак.

Настройка брандмауэра UFW

Uncomplicated Firewall (UFW) — это удобный инструмент управления iptables, который предустановлен в Ubuntu и других дистрибутивах. UFW позволяет закрыть все лишние двери (порты) и открыть только те, которые нужны. Тем самым вы сузите поверхность атаки: внешнему миру будет видно лишь несколько разрешённых портов, а всё остальное будет наглухо закрыто. По сути, UFW — это ваш личный охранник на входе, который пускает только тех, кого вы сами добавили в список, а остальных разворачивает.

Для начала нужно включить UFW и открыть нужное. По умолчанию UFW может быть отключён, поэтому сначала активируйте его. Выполните на сервере команду:

sudo ufw enable

Сразу задайте политику по умолчанию. Запретите все входящие соединения и разрешите исходящие, чтобы сервер сам мог устанавливать соединения, например, для обновлений:

sudo ufw default deny incoming 
sudo ufw default allow outgoing

Теперь откройте необходимые порты. Минимум, который нужен почти всем, SSH для удалённого доступа. Как правило, SSH работает на порту 22, если вы не меняли порт. Разрешите его:

sudo ufw allow 22/tcp

Если ваш сервер используется как веб-сервер, откройте порты HTTP и HTTPS:

sudo ufw allow 80/tcp 
sudo ufw allow 443/tcp

Ограничьте скорость подключений. Для дополнительной защиты SSH можно использовать специальное правило limit, которое есть в UFW. Оно принимает несколько подключений, но если с одного IP их слишком много за короткое время, дальнейшие попытки блокируются. Это полезно против брутфорса на уровне сети. Введите команду:

sudo ufw limit 22/tcp

Установка и настройка Fail2ban

Если UFW — ваш сторож на воротах, то Fail2ban — охрана внутри здания. Он постоянно читает журналы (логи) на сервере и высматривает подозрительные признаки, например, множество ошибок входа. Обнаружив такое, Fail2ban тут же временно блокирует IP-адрес нарушителя через файрвол. Происходит это автоматически и без вашего участия.

В Ubuntu установить Fail2ban очень просто:

sudo apt update 
sudo apt install fail2ban

Сервис запустится сразу после установки. Но по умолчанию никакие правила блокировки не активны, нужно включить и настроить их вручную.

Создайте конфигурационный файл /etc/fail2ban/jail.local, чтобы не менять оригинальный jail.conf. Добавьте туда секцию для защиты SSH:

[sshd] 
enabled = true 
port = 22 
logpath = %(sshd_log)s 
backend = systemd 
bantime = 1h 
findtime = 10m 
maxretry = 5  

Эта настройка означает: если за 10 минут с одного IP случится 5 неудачных попыток подключения по SSH, то этот IP банится на 1 час. Параметр backend = systemd мы указали, потому что в Ubuntu журналы SSH ведутся через systemd, Fail2ban сможет их читать.

Сохраните файл и перезапустите Fail2ban:

sudo systemctl restart fail2ban

Проверка работы. Выполните:

sudo fail2ban-client status sshd

Вы увидите, что jail для SSH активен, и, скорее всего, пока 0 заблокированных IP. Попробуйте несколько раз ввести неверный пароль SSH с другого компьютера. После пятой ошибки Fail2ban добавит ваш тестовый IP в бан-лист. Убедиться можно той же командой status. Нарушитель отключён, сервер защищён.

Если хотите, чтобы Fail2ban использовал UFW при блокировке, добавьте в настройках [sshd] строку action = ufw. Тогда Fail2ban станет прописывать блокировки через ufw deny, а у вас вся картина будет видна через ufw status.

На данном этапе ваш VPS уже имеет два уровня защиты. UFW сдерживает атаки на сетевом периметре, а Fail2ban ловит тех, кто смог просочиться к попыткам авторизации, и безжалостно банит их. Многие администраторы на этом останавливаются, и для небольших проектов этого часто достаточно. Но DDoS — это зверь посерьёзнее. Если злоумышленник обрушит на ваш сервер гигантский поток запросов, один брандмауэр может не справиться, просто ресурсов не хватит обработать и отфильтровать такой вал. Что ж, пригласим на помощь тяжёлую артиллерию, внешнюю облачную защиту.

Подключение Cloudflare

Cloudflare — сервис, который выступает посредником между пользователями и вашим VPS. При нормальной работе Cloudflare ускоряет загрузку сайта за счёт кеширования, но когда начинается атака, он превращается в непробиваемый щит, отсекая лишние запросы и не давая серверу упасть.

Схематично: без защиты армия ботов (красный поток) перегружает сервер, и легитимные пользователи (зелёные) не могут пробиться. Cloudflare берёт эту нагрузку на себя, защищая сервер.

Cloudflare становится промежуточным звеном. Вы переводите DNS вашего сайта на серверы Cloudflare, и всё обращение идёт через них. Реальный IP вашего VPS скрывается, злоумышленникам гораздо труднее нанести прямой удар.

Чтобы подключить, зарегистрируетесь на сайте Cloudflare, добавьте свой домен и поменяйте у регистратора DNS-серверы на указанные Cloudflare. Через несколько часов, после обновления DNS, весь трафик начнёт идти через облачную сеть. Убедитесь, что в панели Cloudflare проксирование включено (оранжевый значок облака) для ваших основных DNS-записей, тогда сервис реально стоит между вашим сайтом и Интернетом.

Cloudflare автоматически фильтрует большинство типичных DDoS-атак. При резком наплыве запросов сервис может включить промежуточную страницу проверки (режим I’m Under Attack), заставляя ботов раскрыть себя. Вы тоже можете вручную включить этот режим в панели, если заметили атаку.

На бесплатном тарифе доступен базовый WAF (Web Application Firewall), ещё один уровень фильтрации веб-запросов, защищающий от распространённых угроз. Для большинства мелких проектов этого более чем достаточно.

Помимо обороны, Cloudflare кеширует статические файлы вашего сайта на своих узлах по всему миру. Это ускоряет загрузку для пользователей, так как ближайший узел отвечает быстрее, и разгружает ваш VPS, ему не нужно каждый раз отдавать одно и то же содержимое. При всплеске трафика кеш особенно помогает. Значительная часть запросов обслуживается облаком и не доходит до сервера.

Важно! Никогда не раскрывайте реальный IP сервера. Удалите или закройте любые DNS-записи, ведущие напрямую на ваш VPS, чтобы весь трафик шёл только через Cloudflare. При желании можно даже настроить UFW так, чтобы принимать соединения на веб-порты только от облачных узлов Cloudflare, и тогда никто не обойдёт защиту напрямую.

Отдельно отметим: с 2025 года Cloudflare частично блокируется в России на уровне некоторых провайдеров. Если ваш проект рассчитан на аудиторию РФ, нужно учитывать этот риск, возможно, потребуется альтернативное решение на случай полной недоступности Cloudflare в том регионе.

После подключения Cloudflare ваша архитектура защиты станет многоуровневой: сначала трафик встречает облачный фильтр, отсеивая массовый мусор; затем на сервере UFW принимает только фильтрованное подключение; и, наконец, Fail2ban следит за поведением в реальном времени и выбивает нарушителей. Такой тройной барьер по силам пробить разве что самым упорным и мощным атакующим, но им-то скорее интересны жирные цели, а не ваш проект. С большой долей вероятности, увидев, что вы под защитой, злоумышленники просто переключатся на кого-то полегче.

Заключение

Теперь ваш белорусский VPS уже не так-то просто свалить с ног. Конечно, стопроцентной гарантии безопасности не существует, мир кибератак развивается, и важно не стоять на месте. Но вы выстроили крепкий фундамент, который отпугнёт случайных бродяг и выдержит значительную бурю.

Защита сервера — это ещё и полезный опыт. Сегодня вы настроили Fail2ban и UFW для своего проекта, а завтра эти навыки могут пригодиться по работе. Кстати, в индустрии ценятся специалисты, умеющие защищать инфраструктуру. Многие компании в России и СНГ прямо указывают в вакансиях требования: умение настроить UFW, работу с Fail2ban, понимание CDN и Cloudflare. Так что, укрепляя свой сервер, вы параллельно прокачиваете резюме.

Не забывайте обновлять систему, заглядывать в логи и держать руку на пульсе. Заметим, что всё настроенное нами ПО бесплатное. За защиту, сравнимую по эффективности с дорогостоящими коммерческими решениями, вы не заплатили ни рубля. Это особенно приятно, когда бюджет проекта ограничен.

VPS с запасом прочности

Оплатите год — получите 13 месяцев надежных ресурсов.

Месяц в подарок
COPIED
NEWCOMM COPIED