UFW (uncomplicated firewall) - это интерфейс к IPTables, который должен упростить процесс настройки брандмауэра. Целью UFW является простой интерфейс на основе командной строки для очень мощного, но не совсем простого в настройке IPTables. UFW поддерживает как IPv4, так и IPv6. Если вы хотите защитить сеть или контролировать входящие и исходящие соединения вашего сервера, без брандмауэра не обойтись. UFW - это практичный инструмент, который можно контролировать и настраивать через терминал.
Установка и включение брандмауэра UFW в Debian
Установка UFW в Debian
Если после установки Debian Linux вы не можете использовать команду UFW из-за ошибки not found, то её необходимо сначала установить.
1 2 | sudo apt update sudo apt install ufw |
Включение/запуск брандмауэра на Debian
После установки служба брандмауэра не будет активирована по умолчанию, и чтобы она заработала, выполните следующее:
1 | sudo ufw enable |
Проверка состояния UFW
Чтобы убедиться, что служба брандмауэра UFW работает правильно и без ошибок:
1 | sudo ufw status |
Остановить или отключить (необязательно)
Если вы хотите остановить или отключить брандмауэр, выполните следующие действия:
1 | sudo ufw disable |
Настройка брандмауэра UFW в Debian
Правила брандмауэра - разрешить или запретить порты
Активация брандмауэра без определения правил уже означает, что все входящие соединения запрещены, а все исходящие - разрешены.
ufw использует трехуровневый набор правил, который хранится в трех конфигурационных файлах. Они считываются и оцениваются в следующем порядке:
- /etc/ufw/before.rules
- /var/lib/ufw/user.rules (или /lib/ufw/user.rules - в котором также сохраняются правила, заданные в командной строке)
/etc/ufw/after.rules - Это означает, что правила в user.rules могут перезаписывать правила в before.rules, а правила в after.rules - правила из user.rules.
Стандартные файлы правил UFW содержат некоторые основные правила, позволяющие беспрепятственно передавать внутренний сетевой трафик. Однако вы можете добавить правила в ufw с помощью очень простой команды, синтаксис которой приведен ниже:
1 | sudo ufw allow|deny|reject SERVICE |
Например:
Чтобы разрешить порт номер 8080 в UFW, команда будет следующей:
1 | sudo ufw allow 8080 |
для запрета доступа:
1 | sudo ufw deny 8080 |
Разрешить специальные диапазоны портов и IP
UFW может разрешить доступ к диапазонам портов вместо отдельных портов. Здесь необходимо указать протокол - UDP или TCP - для которого должны применяться правила.
Если диапазон портов, которые вы хотите разрешить, простирается от 5000 до 5010, то в терминале необходимо выполнить следующие команды для UDP и TCP.
1 2 | sudo ufw allow 5000:5010/udp sudo ufw allow 5000:5010/tcp |
Также с помощью UFW можно указать разрешенные IP-адреса. Например, если вы хотите разрешить соединения с частного IP-адреса 192.168.0.104, выполните следующую команду:
1 | sudo ufw allow from 192.168.0.104 |
Вы также можете разрешить определенные порты для IP-адреса. Для этого вам нужно указать конкретный порт, например 22, если вы хотите установить соединение через SSH с вышеупомянутым IP-адресом. Это можно сделать с помощью следующей команды:
1 | sudo ufw allow from 192.168.253.49 to any port 22 |
Фильтр приложений
Несколько общих файлов служб автоматически создаются при установке службы/программы, которую необходимо защитить с помощью ufw. Соответствующие файлы конфигурации находятся в каталоге /etc/ufw/applications.d/. Это простые текстовые файлы, содержащие имя службы, краткое описание, а также порты и протоколы, которые должны быть открыты.
Обзор всех текущих фильтров приложений можно получить с помощью команды
1 | sudo ufw app list |
Это выглядит, например, следующим образом:
Разрешить все входящие и исходящие соединения UFW по умолчанию
Запретить или разрешить все входящие соединения:
Для запрета всех соединений:
1 | sudo ufw default deny incoming |
Для разрешения всех соединений:
1 | sudo ufw default allow incoming |
Запретить или разрешить все исходящие соединения:
Разрешить все исходящие
1 | sudo ufw default allow outgoing |
Запретить все исходящие
1 | sudo ufw default deny outgoing |
Список и удаление правил брандмауэра UFW на Debian
Перед удалением давайте сначала посмотрим список всех активных правил в брандмауэре UFW. Для этого мы можем использовать:
1 | sudo ufw status numbered |
Вы увидите все правила UFW вместе с номером, в котором они были активированы. Чтобы удалить любое из них, просто используйте указанную команду вместе с серийным номером. Например, в приведенной выше команде я хочу удалить второе правило 22/TCP. Тогда команда будет выглядеть следующим образом:
1 | sudo ufw delete 2 |
Графический интерфейс пользователя для брандмауэра UFW в Debian
Те, кто использует Graphical Desktop Linux, могут установить графический интерфейс пользователя для своего брандмауэра UFW под названием "GUFW" (Graphical Uncomplicated Firewall), чтобы легко управлять им. Этот инструмент предоставляет интерфейс, с помощью которого можно удобно создавать правила для входящих и исходящих соединений.
1 | sudo apt install gufw |