Арендуйте VPS в России
Если вы ищете хороший VPS сервер, то смотрите лучшие VPS в России.
ПерейтиБезопасность — первое, о чём стоит подумать после покупки VPS. Даже если вы арендуете сервер «для игрушек», оставлять его открытым для всего интернета — плохая идея. Один из самых простых способов защиты — включить UFW (Uncomplicated Firewall), удобную оболочку для iptables.
В этой статье разберёмся, зачем нужен firewall, как работает UFW, и покажем простую настройку шаг за шагом.
Зачем нужен UFW?
VPS подключён к интернету круглосуточно, и к нему могут обращаться не только вы, но и «сканеры» злоумышленников.
Без ограничений сервер:
- принимает подключения ко всем открытым портам;
- может стать целью перебора паролей SSH;
- подвержен атакам на службы, которые вы даже не используете.
Firewall решает проблему: он разрешает только нужные подключения (например, к сайту и по SSH), а всё остальное отбрасывает.
Как работает UFW?

UFW (Uncomplicated Firewall) — это «упрощённый файрвол». На самом деле внутри он использует те же самые iptables (в Linux) или nftables (в новых версиях).
Но вместо того, чтобы писать сложные и длинные команды, вы управляете безопасностью через простые правила.
Основной принцип работы
-
Все входящие соединения по умолчанию запрещены.
Если вы не открыли порт сами, доступ к нему будет закрыт. - Разрешения работают точечно.
Добавляя правило ufw allow 80/tcp, вы явно разрешаете доступ только к порту 80. - Выходящие соединения разрешены.
То есть сервер сам может ходить в интернет (например, обновлять пакеты).
Таблицы правил
UFW автоматически формирует правила для iptables.
Условно это выглядит так:
- Таблица INPUT → за что отвечает: входящие соединения.
- Таблица OUTPUT → исходящие соединения.
- Таблица FORWARD → пересылка пакетов (актуально для маршрутизаторов/шлюзов).
Когда вы пишете:
sudo ufw allow 22/tcpUFW добавляет в iptables правило:
«разрешить TCP-трафик на порт 22 из любого источника».
Порядок применения правил
- UFW читает список правил сверху вниз.
- Более конкретные правила (например, разрешить доступ к SSH только с одного IP) имеют приоритет над общими.
- Если правило не подходит — трафик блокируется.
Примеры
- Разрешить доступ к сайту:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp- Разрешить SSH только из подсети:
sudo ufw allow from 192.168.1.0/24 to any port 22- Запретить конкретный IP:
sudo ufw deny from 203.0.113.45Установка UFW
На Ubuntu/Debian UFW обычно уже есть. Если нет:
sudo apt update
sudo apt install ufw -yПроверим статус:
sudo ufw statusОбычно будет inactive.
Разрешаем SSH
Первое правило: не потерять доступ к серверу.
Открываем SSH (по умолчанию 22):
sudo ufw allow sshИли, если используется другой порт, например 2222:
sudo ufw allow 2222/tcpДобавляем нужные сервисы
Открываем только то, что реально нужно:
- HTTP:
sudo ufw allow 80/tcp- HTTPS:
sudo ufw allow 443/tcp- Доступ к базе данных только с локального IP:
sudo ufw allow from 192.168.1.100 to any port 3306Включаем firewall
Активируем правила:
sudo ufw enableИ проверяем:
sudo ufw status verboseПолезные команды
- Отключить firewall:
sudo ufw disable- Удалить правило:
sudo ufw delete allow 80/tcp- Разрешить доступ к SSH только с конкретного IP:
sudo ufw allow from 203.0.113.5 to any port 22Советы по использованию UFW
1. Открывайте только нужные порты
Чем меньше портов открыто, тем меньше вероятность взлома.
Например, если на сервере работает только сайт, достаточно:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpА всё остальное блокируется автоматически.
2. Используйте нестандартный порт для SSH
По умолчанию SSH работает на порту 22, который постоянно сканируется ботами.
Меняем порт (например, на 2222) в /etc/ssh/sshd_config:
Port 2222И разрешаем его в UFW:
sudo ufw allow 2222/tcp3. Ограничивайте доступ по IP
Если к серверу подключаетесь только вы, можно разрешить SSH-трафик только с вашего IP:
sudo ufw allow from 203.0.113.5 to any port 2222Так атаки с других адресов будут сразу отбрасываться.
4. Проверяйте, какие сервисы слушают порты
Перед тем как открывать что-то наружу, посмотрите список активных сервисов:
ss -tulnЕсли порт не нужен — лучше закрыть.
5. Используйте Fail2Ban вместе с UFW
Fail2Ban автоматически блокирует IP-адреса, которые слишком часто пытаются подобрать пароль.
В связке с UFW это сильно снижает риск взлома через SSH или админку сайта.
6. Настройте логирование
Чтобы видеть, что блокирует firewall:
sudo ufw logging onЛоги сохраняются в /var/log/ufw.log. Это помогает отлавливать подозрительную активность.
7. Сохраняем правила
После того как всё настроили, можно сохранить список правил:
sudo ufw status numberedА потом в случае ошибок легко восстановить настройки.
8. Проверяйте конфигурацию после включения
После активации UFW обязательно перепроверьте, работает ли SSH-доступ.
Лучше открыть новое соединение и убедиться, что сервер доступен. Если ошиблись в правилах, в старой сессии можно всё исправить.
9. Для контейнеров и приложений — отдельные правила
Если используете Docker, Kubernetes или VPN — помните, что они могут менять iptables. В таких случаях лучше дополнительно проверить совместимость или настраивать firewall на уровне хоста.
- Минимизируйте открытые порты.
- Используйте нестандартный SSH и ограничение по IP.
- Ставьте Fail2Ban и включайте логирование.
- Всегда проверяйте доступ перед закрытием старой сессии.
Итог
UFW — отличный инструмент, чтобы за 5 минут повысить безопасность VPS. Простые правила позволяют избежать большинства автоматических атак, а настройка доступна даже новичкам.
Для старта хватит трёх правил: SSH, HTTP и HTTPS. Всё остальное можно добавлять по мере необходимости.
Предыдущая статья:
Защита VPS с помощью iptables и fail2banСледующая статья:
Как отключить систему SElinux на VPS
Комментарии ()