Skip to content

This article is available in Russian. An English version is on the way.Open the Russian page

Фаервол UFW за пять минут

Открыть только нужные порты: SSH, HTTP и HTTPS, ограничить доступ по IP и не отрезать себе вход.

Level
Beginner
Reading time
2 min read
Updated
Tested on
Ubuntu 22.04, Ubuntu 24.04, Debian 12
Contents
  1. Установка и правила
  2. Включение и проверка
  3. Доступ только с определённых адресов
  4. Удаление правил
  5. Проверьте результат
  6. Частые ошибки

UFW — простой фаервол для Ubuntu и Debian, надстройка над системными правилами ядра. Принцип: закрыть всё входящее и открыть только то, чем вы действительно пользуетесь. В Ubuntu он обычно уже установлен, в Debian его нужно поставить.

Установка и правила

bash
$ apt install -y ufw$ ufw default deny incoming$ ufw default allow outgoing$ ufw allow OpenSSH$ ufw allow 80/tcp$ ufw allow 443/tcp

Включение и проверка

bash
$ ufw enable$ ufw status verbose

UFW спросит подтверждение, потому что включение может прервать соединения. Ответьте y. Правила сохраняются и действуют после перезагрузки.

Доступ только с определённых адресов

Служебные порты — базы данных, панели управления — лучше открывать только для своих IP:

bash
$ ufw allow from 198.51.100.7 to any port 5432 proto tcp

А для SSH полезно правило limit: оно временно блокирует адрес, который открывает слишком много соединений подряд.

bash
$ ufw limit OpenSSH

Удаление правил

bash
$ ufw status numbered$ ufw delete 3

Номера сдвигаются после каждого удаления, поэтому перед следующим удалением снова посмотрите список.

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

  • ufw status verbose показывает Status: active и политику deny (incoming).
  • В новом окне терминала SSH-подключение проходит.
  • Порт, который не открыт, недоступен снаружи. Проверьте с другой машины: nc -zv 203.0.113.10 3306 должно завершиться ошибкой.

Частые ошибки

  • Docker публикует порты контейнеров в обход UFW. Порт, открытый через ports: "5432:5432", будет доступен из интернета даже при deny. Публикуйте служебные порты на 127.0.0.1 — см. статью «Установка Docker».
  • Одновременно включены UFW и собственные правила nftables или firewalld — правила конфликтуют. Используйте один инструмент.
  • Потеряли доступ после включения — зайдите через VNC-консоль и выполните ufw allow OpenSSH.

Read to the end and the article counts toward your learning progress.

  • UFW
  • фаервол
  • брандмауэр
  • порты
  • firewall
  • iptables

Was this article helpful?