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


UFW (Uncomplicated Firewall или простой брандмауэр) - Инструмент для настройки сетевой защиты Ubuntu по умолчанию - это UFW. Он разработан для легкой настройки iptables и предоставляет дружественный способ создания сетевой защиты для IPv4 и IPv6.

UFW устанавливается в Ubuntu по умолчанию. Если вы удалили UFW, вы можете установить его с помощью команды :

sudo apt install ufw

Использование IPv6 с UFW

Если на вашем Ubuntu server активирован протокол IPv6, настройте UFW для поддержки IPv6. Для этого откройте конфигурацию UFW с помощью редактора nano:

sudo nano /etc/default/ufw

Убедитесь, что параметр IPV6 имеет значение yes. Конфигурация должна выглядеть следующим образом:

/etc/default/ufw excerpt
IPV6=yes
Конфигурацию UFW
Конфигурацию UFW

Сохраните и закройте файл. После активации UFW будет настроен для записи правил брандмауэра для IPv4 и для IPv6.

Настройка политик по умолчанию

По умолчанию UFW настроен так, чтобы запрещать все входящие соединения и разрешать все исходящие соединения. Это означает, что любые попытки связаться с вашим сервером будут заблокированы, но любые приложения на вашем сервере будут иметь связь с внешним миром.

Для восстановления настроек по умолчанию для UFW необходимо использовать следующие команды:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Эти команды задают значения по умолчанию, запрещая входящие соединения и разрешая исходящие. Такие параметры брандмауэра по умолчанию достаточны для персонального компьютера, но серверам обычно нужно отвечать на поступающие запросы внешних пользователей.

Разрешение подключений SSH

Если мы сейчас активируем брандмауэр UFW, все входящие соединения будут запрещены.

Чтобы разрешить на сервере входящие соединения SSH, вы можете использовать следующую команду:

sudo ufw allow ssh

Эта команда создаст правила брандмауэра, которые разрешат все соединения на порту 22, который демон SSH прослушивает по умолчанию. UFW знает, какой порт имеет в виду команда allow ssh, потому что он указан как услуга в файле /etc/services.

Также можно записать эквивалентное правило, указав номер порта вместо имени службы. Например, эта команда работает так же, как показанная выше:

sudo ufw allow 22

Теперь ваш брандмауэр настроен, чтобы разрешать входящие соединения SSH, и мы можем его активировать.

Активация UFW

Чтобы активировать UFW, используйте следующую команду:

sudo ufw enable

Вы получите предупреждение о том, что команда может нарушить существующие соединения SSH. Мы уже установили правило брандмауэра, разрешающее соединения SSH, и теперь мы можем продолжить. Введите y, и нажмите ENTER.

Теперь брандмауэр включен. Чтобы посмотреть заданные правила запустите команду :

sudo ufw status verbose
Просмотр статуса  брандмауэра
Просмотр статуса брандмауэра

Разрешение других соединений

Состав разрешаемых соединений должен соответствовать вашим конкретным потребностям.

Разрешение соединения HTTP на порту 80, которые используются Web-серверами без шифрования, с помощью команды:

sudo ufw allow http

Или

sudo ufw allow 80

Разрешение соединения HTTPS на порту 443, которые используются веб-серверами с шифрованием, с помощью команды:

sudo ufw allow https

Или

sudo ufw allow 443

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

Существует два разных способа указывать правила для удаления: по номеру правила или по фактическому правилу.

Если вы используете номер правила для удаления правил брандмауэра, прежде всего нужно получить список правил брандмауэра. Команда UFW status имеет опцию отображение номеров рядом с каждым правилом, как показано здесь:

sudo ufw status numbered
Отображение номеров рядом с каждым правилом
Отображение номеров рядом с каждым правилом

Чтобы удалить правило 2, разрешающее соединения через порт 80 (HTTP), мы можем указать его в команде UFW delete, как показано здесь:

sudo ufw delete 2
Удаление правила 2
Удаление правила 2

После этого откроется диалогового окна подтверждения удаления правила 2, разрешающего соединения HTTP. Если вы включили поддержку IPv6, вы можете также удалить соответствующее правило для IPv6.

Вместо номеров правил можно указывать фактические имена удаляемых правил. Например, если вы хотите удалить правило allow http, вы можете использовать следующую команду:

sudo ufw delete allow http

Также вы можете указать это правило как allow 80, а не указывать имя службы:

sudo ufw delete allow 80

Этот метод удалит правила IPv4 и IPv6, если они существуют.

Проверка правил UFW

Проверить состояние UFW можно с помощью следующей команды:

sudo ufw status verbose
Проверка правил UFW
Проверка правил UFW

Отключение или сброс UFW

Прекратить использовать UFW, вы можете с помощью следующей команды:

sudo ufw disable

Если вы уже настроили правила UFW, но решите начать заново, вы можете использовать команду reset:

sudo ufw reset

Заключение

Обязательно разрешите другие входящие соединения для вашего сервера, но при этом ограничьте все ненужные соединения.

Рекомендуемые материалы