UFW (Uncomplicated Firewall или «простой брандмауэр») представляет собой интерфейс iptables, предназначенный для упрощения процесса настройки брандмауэра.
Установка
apt install ufw
1) Отключение ipv6 (опционально)
nano /etc/default/ufw
IPV6=no
Сохраните и закройте файл. После активации UFW будет настроен для записи правил брандмауэра для IPv4
2) Настройка политик по умолчанию
По умолчанию UFW настроен так, чтобы запрещать все входящие соединения и разрешать все исходящие соединения. Это означает, что любые попытки связаться с вашим сервером будут заблокированы, но любые приложения на вашем сервере будут иметь связь с внешним миром.
Восстановим правила UFW по умолчанию, чтобы продолжить выполнение этого обучающего модуля.
ufw default deny incoming
ufw default allow outgoing
Эти команды задают значения по умолчанию, запрещая входящие соединения и разрешая исходящие.
3) Разрешение подключений
Если мы сейчас активируем брандмауэр UFW, все входящие соединения будут запрещены. Это означает, что нам нужно создать правила, прямо разрешающие легитимные входящие соединения (например, SSH или HTTP).
Например, ssh:
ufw allow ssh
Эта команда создаст правила брандмауэра, которые разрешат все соединения на порту 22, который демон SSH прослушивает по умолчанию. UFW знает, какой порт имеет в виду команда allow ssh, потому что он указан как услуга в файле /etc/services.
Если вы настроили демон SSH для использования другого порта, вам нужно будет указать соответствующий порт.
ufw allow 2222
Рассмотрим к примеру http порт:
ufw allow httpили
ufw allow 80
https порт:
ufw allow httpsили
ufw allow 443
4) Разрешение других соединений:
Определенные диапазоны портов, например passive mode FTP.
ufw allow 65000:66000/tcp
Когда вы указываете диапазоны портов с помощью UFW, вы должны указать протокол (tcp или udp), к которому должны применяться эти правила.
Конкретные IP-адреса:
При работе с UFW вы также можете указывать конкретные IP-адреса. Например, если вы хотите разрешить соединения с определенного IP-адреса, например с рабочего или домашнего адреса
ufw allow from 122.122.122.122
Или например к определённому порту
ufw allow from 122.122.122.122 to any port 80
5) Запрет соединений
Если вы не изменяли политику по умолчанию для входящих соединений, UFW настроен на запрет всех входящих соединений. Это упрощает процесс создания защищенной политики брандмауэра, поскольку вам нужно создавать правила, прямо разрешающие соединения через конкретные порты и IP-адреса.
Однако в некоторых случаях вам может понадобиться запретить определенные соединения по IP-адресу источника или подсети, например, в случае атаки с этого адреса.
Например, чтобы запретить соединения по протоколу HTTP, вы можете использовать следующую команду:
ufw deny httpили
ufw deny from 122.122.122.122
Так же возможна настройка защита от DDoS атак средствами фаервола UFW.
6) Удаление правил:
Существует два разных способа указывать правила для удаления: по номеру правила или по фактическому правилу.
По номеру правила:
Получение списка правил
ufw status numbered
Numbered Output:
Status: active
To Action From
-- ------ ----
[ 1] 22 ALLOW IN 1.1.1.1/23
[ 2] 443 ALLOW IN Anywhere
Удаляем правило 2
ufw delete 2
По фактическому имени правила:
ufw delete allow httpsили
ufw delete allow 80
7) Проверка правил:
ufw status verbose
Если UFW отключен (по умолчанию), вы увидите примерно следующее:
Output
Status: inactive
При активном положении вы увидите список правил.
8) Отключение фаервола
ufw disable