Перейти к содержимому

Как настроить фаервол на VPS (UFW и firewalld)

Закрываем все порты, кроме нужных: UFW для Ubuntu и Debian, firewalld для AlmaLinux и Rocky Linux.

Обновлено: 2026-11-07 · 1 мин чтения

Сервер в интернете сразу начинают сканировать. Фаервол оставляет открытыми только те порты, которые действительно нужны, например SSH (22), HTTP (80) и HTTPS (443).

Перед включением фаервола обязательно разрешите SSH, иначе потеряете доступ к серверу.

Ubuntu и Debian: UFW

Установите и настройте правила:

apt update && apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Проверьте результат:

ufw status verbose

Открыть порт только для своего IP (например, для базы данных):

ufw allow from 198.51.100.10 to any port 5432 proto tcp

Удалить правило: ufw status numbered, затем ufw delete НОМЕР.

AlmaLinux и Rocky Linux: firewalld

dnf install -y firewalld
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
firewall-cmd --list-all

Доступ к порту только с определённого адреса:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="198.51.100.10" port port="5432" protocol="tcp" accept'
firewall-cmd --reload

Docker и фаервол

Docker сам добавляет правила iptables и может открыть порт контейнера в обход UFW. Публикуйте порты только на локальный адрес, если наружу они не нужны:

ports:
  - "127.0.0.1:5432:5432"

Защита от подбора паролей

Дополнительно установите fail2ban — он блокирует IP после нескольких неудачных попыток входа:

apt install -y fail2ban      # или dnf install -y fail2ban
systemctl enable --now fail2ban

Если нужна защита сразу для нескольких серверов, VPN и сегментация сети, посмотрите услугу «Виртуальный межсетевой экран».