UFW или Uncomplicated Firewall – интерфейс для управления политиками безопасности. Серверы постоянно подвергаются различным угрозам, и для снижения существующих рисков нужно правильно настраивать правила межсетевого экрана.

Для правильной работы с утилитой, необходимо проверить следующие требования:

  • Команды должны исполняться от суперпользователя под sudo.
  • Нужно установить утилиту, если она уже не была предустановлена с помощью:

sudo apt update && sudo apt install -y ufw

Как настроить UFW-файрвол в Ubuntu

Проверка статуса и активных правил UFW в Ubuntu

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

 

sudo ufw status verbose

 

Обычно по умолчанию UFW отключен, потому вы увидите статус – inactive. Если же утилита включена, то статус будет – active и вы увидите перечень заданных правил.

Обязательно проверьте или в настройках присутствует доступ к SSH (22 порт).

Первичная конфигурация файрвола UFW

По умолчанию, все исходящие соединения разрешены, а входящие запрещены. Данные правила будут прописаны следующим образом:

sudo ufw default deny incoming

sudo ufw default allow outgoing

Создание базовой политики фильтрации трафика

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

sudo ufw allow ssh

Настройка доступа по SSH

Если прослушивается 22 порт, вы можете использовать имена служб (sftp, https, или другие). В том случае если используется другой порт, его нужно указать следующим образом:

sudo ufw allow 2222

 

Настройка доступа по SSH

 

Читайте также: Основы SSH: как использовать и список полезных команд

Активация и запуск UFW

Для включения утилиты, нужно использовать:

sudo ufw enable

После данной команды, вас предупредят что текущее ssh соединение может разорваться, но мы его уже настроили в правила, и потому можно спокойно нажимать Yes.

Открытие необходимых портов для веб-сервисов

Для корректного функционирования приложений, также нужно добавить некоторые другие правила. Потому давайте рассмотрим настройки некоторый служб.

 

Разрешение входящих соединений по HTTP (порт 80)

Для функционирования незашифрованных серверов, нужна следующая команда:

sudo ufw allow 80/tcp

 

Открытие HTTPS-доступа (порт 443)

Для зашифрованных соединений нужно использовать:

sudo ufw allow 443/tcp

 

Настройка FTP-доступа через порт 21

Для данного порта используйте следующую команду:

sudo ufw allow 21/tcp

 

Открытие необходимых портов для веб-сервисов

Добавление пользовательских IP-адресов и сетей

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

sudo ufw allow 3000:3100/tcp

Можно также непосредственно указать IP, для которого будет разрешен доступ:

sudo ufw allow from 123.45.67.89 to any

Здесь разрешается доступ ко всем портам. Если же вам нужно указать доступ к конкретному порту просто добавьте port 22 к команде.

Ограничение числа подключений и защита от DDoS

Для ограничения подключения можно использовать:

sudo ufw deny 80/tcp

Удаление ненужных правил из UFW

Для удаления ненужных правил можно использовать:

sudo ufw status numbered

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

sudo ufw delete 4

Отключение UFW

Отключение можно произвести следующим образом:

sudo ufw disable

Таким образом, вы сможете отключить все ранее созданные правила.

 

Часто спрашивают: GDPR и веб-хостинг: как защитить пользовательские данные и избежать штрафов

Полный сброс настроек UFW до состояния по умолчанию

Для сброса настроек можно использовать:

sudo ufw reset

Просмотр логов UFW

Для просмотра логов нужно использовать следующую команду:

sudo ufw logging on

Выводы

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