Как настроить firewall (UFW) на VPS

Время чтения: 5 мин. Обновлено: 11 февраля 2026

Арендуйте VPS в России

Если вы ищете хороший VPS сервер, то смотрите лучшие VPS в России.

Перейти

Безопасность — первое, о чём стоит подумать после покупки VPS. Даже если вы арендуете сервер «для игрушек», оставлять его открытым для всего интернета — плохая идея. Один из самых простых способов защиты — включить UFW (Uncomplicated Firewall), удобную оболочку для iptables.

В этой статье разберёмся, зачем нужен firewall, как работает UFW, и покажем простую настройку шаг за шагом.

Зачем нужен UFW?

VPS подключён к интернету круглосуточно, и к нему могут обращаться не только вы, но и «сканеры» злоумышленников.
Без ограничений сервер:

  • принимает подключения ко всем открытым портам;
  • может стать целью перебора паролей SSH;
  • подвержен атакам на службы, которые вы даже не используете.

Firewall решает проблему: он разрешает только нужные подключения (например, к сайту и по SSH), а всё остальное отбрасывает.

Как работает UFW?

UFW (Uncomplicated Firewall) — это «упрощённый файрвол». На самом деле внутри он использует те же самые iptables (в Linux) или nftables (в новых версиях).
Но вместо того, чтобы писать сложные и длинные команды, вы управляете безопасностью через простые правила.

Основной принцип работы

  1. Все входящие соединения по умолчанию запрещены.
    Если вы не открыли порт сами, доступ к нему будет закрыт.

  2. Разрешения работают точечно.
    Добавляя правило ufw allow 80/tcp, вы явно разрешаете доступ только к порту 80.
  3. Выходящие соединения разрешены.
    То есть сервер сам может ходить в интернет (например, обновлять пакеты).

Таблицы правил

UFW автоматически формирует правила для iptables.
Условно это выглядит так:

  • Таблица INPUT → за что отвечает: входящие соединения.
  • Таблица OUTPUT → исходящие соединения.
  • Таблица FORWARD → пересылка пакетов (актуально для маршрутизаторов/шлюзов).

Когда вы пишете:

sudo ufw allow 22/tcp

UFW добавляет в 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/tcp

3. Ограничивайте доступ по 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. Всё остальное можно добавлять по мере необходимости.

Комментарии ()

    Популярные статьи