Если вы только начинаете работать с VPS или VDS, важно сразу подумать о безопасности. Один из простых и надёжных способов ограничить нежелательные подключения — настроить брандмауэр. В этом гайде расскажем, как это сделать с помощью UFW — легкой утилиты для управления сетевыми правилами на Ubuntu.
UFW расшифровывается как Uncomplicated Firewall — то есть, «несложный файрвол». Он работает поверх Netfilter и поддерживает iptables и nftables. Главная его фишка — простота: всё настраивается через терминал, без необходимости ковыряться в сложных конфигурационных файлах. Эта утилита уже предустановлена во многих версиях Ubuntu, начиная с 8.04 LTS.
По умолчанию UFW выключен после установки. Это сделано специально — чтобы вы успели задать нужные правила и не отрубили себе доступ к серверу. Поэтому перед включением нужно открыть порт SSH.
Если вы не меняли порт SSH, достаточно команды:
sudo ufw allow OpenSSH
А если порт нестандартный — замените его в команде:
sudo ufw allow 2222/tcp
Включить брандмауэр можно так:
sudo ufw enable
Общий шаблон команды такой:
sudo ufw [action] from [ip] to any port [port]
Где [action] может быть:
→ allow — разрешить;
→ deny — запретить без ответа;
→ reject — запретить с ответом;
→ limit — ограничить частоту подключений (например, чтобы защититься от подбора паролей по SSH).
Посмотреть, какие приложения уже имеют шаблоны для UFW, можно так:
sudo ufw app list
Допустим, вы хотите разрешить полный доступ к Nginx — выполните:
sudo ufw allow "Nginx Full"
А если приложение работает на порту 9000:
sudo ufw allow 9000
MySQL (порт 3306):
Открыть доступ для всех:
sudo ufw allow 3306
Или только для одного IP:
sudo ufw allow from 192.0.2.10 to any port 3306
PostgreSQL (порт 5432):
Для всех:
sudo ufw allow 5432
Только для нужного адреса:
sudo ufw allow from 192.0.2.10 to any port 5432
Открыть HTTP (порт 80):
sudo ufw allow 80
Открыть HTTPS (порт 443):
sudo ufw allow 443
Сначала смотрим список всех правил:
sudo ufw status numbered
Чтобы удалить, используем номер из списка:
sudo ufw delete 4
Или удаляем правило напрямую:
sudo ufw delete from 123.123.123.123 port 35 proto tcp
Если временно нужно отключить брандмауэр, выполните:
sudo ufw disable
Вот и всё. Теперь ваш сервер стал чуть безопаснее. А главное — всё это можно сделать за пару минут, не будучи экспертом в сетевой безопасности.