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 будет настроен для записи правил брандмауэра для 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, разрешающего соединения 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, вы можете с помощью следующей команды:
sudo ufw disable
Если вы уже настроили правила UFW, но решите начать заново, вы можете использовать команду reset:
sudo ufw reset
Заключение
Обязательно разрешите другие входящие соединения для вашего сервера, но при этом ограничьте все ненужные соединения.