Настройка брандмауэра с UFW Ubuntu



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