Системный журнал — практичная база знаний по VPS и Linux
Firewall • UFW • Linux

UFW на VPS: простая настройка firewall для Linux

UFW удобен для простого сервера: он закрывает всё лишнее и оставляет только нужные порты. Главное — не включать firewall до разрешения SSH.

Проверьте текущие порты

Перед настройкой firewall нужно понять, что сейчас слушает сеть. Иначе можно закрыть важный сервис или оставить открытым лишний.

ss -tulpn

Разрешите SSH до включения UFW

Если SSH работает на нестандартном порту, разрешать нужно именно его. Команда для 22 порта не поможет, если sshd слушает 57483.

ufw allow 22/tcp
ufw enable
ufw status verbose

Откройте веб-порты

Для сайта обычно нужны 80 и 443. Если HTTPS не используется, достаточно 80. Но при выпуске сертификатов через HTTP-01 порт 80 всё равно должен быть доступен.

ufw allow 80/tcp
ufw allow 443/tcp

Не открывайте служебные панели всем подряд

Панели управления, базы данных, Redis, Docker API и внутренние backend-порты не должны быть публичными. Если доступ нужен только вам, ограничьте его по IP.

  • MySQL/PostgreSQL наружу открывать не стоит;
  • Redis не должен быть публичным;
  • Docker API нельзя оставлять открытым без защиты.

IPv6 нужно учитывать отдельно

Если на сервере есть IPv6, firewall должен фильтровать и его. Иначе сервис может быть закрыт по IPv4, но доступен по IPv6.

Если IPv6 не используется, проверьте, нет ли AAAA-записей DNS и открытых IPv6-портов.

Как не потерять доступ

  • оставьте активную SSH-сессию открытой;
  • имейте консоль провайдера;
  • проверьте ufw status verbose;
  • после включения откройте новую SSH-сессию.