Как настроить ufw в Linux

В современных дистрибутивах Linux, включая отечественные Astra Linux, поставляется межсетевой экран UFW.

По умолчанию после установки он выключен, и пропускает все соединения.

Для защиты подключений из внешних сетей можно использовать межсетевой экран на уровне Edge Gateway, как описано в статье

Для защиты подключений внутри виртуальной сети, а также в дополнение к межсетевому экрану на Edge Gateway, нужно настроить межсетевой экран на уровне виртуальной машины.

ВНИМАНИЕ! Перед включением UFW проверьте, что добавлено правило, разрешающее подключение по SSH с компьютера, с которого в текущее время выполняется администрирование, в противном случае может быть потеряно управление машиной.

Все команды выполняются с правами суперпользователя.

Для добавления разрешающего правила используем команду
ufw allow from <src> to <dst> port <port> proto tcp

где <src> - IP-адрес или подсеть источника, например 192.168.5.0/24 или 192.168.5.31
<dst> - IP-адрес назначения, чтобы разрешить подключения на конкретный сетевой адаптер, если в системе несколько адаптеров, или any если разрешено подключение на любой из имеющихся адаптеров
<port> - порт, список или диапазон портов, на которые разрешены подключения. Допускается не более 15 портов в списке, при этом диапазон считается как два порта. Одиночный порт может быть указан как имя протокола, например, SSH, HTTP, HTTPS; при указании списка портов можно использовать только числовые значения.
proto tcp - указание протокола, по которому работает правило, в данном случае TCP. Для выбора протокола UDP нужно указать proto udp. Если не указать протокол, то правило будет обрабатывать и TCP, и UDP

Пример правила, разрешающего подключения по протоколу SSH из внутренней сети:
ufw allow from 192.168.5.0/24 to any port ssh proto tcp

для задания правил по умолчанию используется директива default
ufw default <action> <direction>

где <action> - действие, deny - запрет, allow - пропуск
<direction> - направление трафика, incoming - входящий, outgoing - исходящий

Пример правил, запрещающих входящие, но разрешающих исходящие соединения
ufw default deny incoming
ufw default allow outgoing

После создания правил нужно включить ufw командой enable
ufw enable

Появится предупреждение о возможности обрыва SSH-подключений "Command may disrupt existing ssh connections. Proceed with operation (y|n)?", в котором нужно подтвердить выполнение операции

После этого можно проверить созданные правила с помощью команды
ufw status numbered

Status: active

To Action From
-- ------ ----
[ 1] 22/tcp ALLOW IN 192.168.5.0/24
[ 2] 80/tcp ALLOW IN 192.168.5.0/24
[ 3] 443/tcp ALLOW IN 192.168.5.0/24

Для удаления правила, если оно стало не нужно, используется команда delete
ufw delete <rule>

где <rule> - правило или его номер

Пример удаления правила
ufw delete 3
Deleting:
allow from 172.17.0.0/24 to any port 443 proto tcp
Proceed with operation (y|n)? y
Rule deleted

Будет запрошено подтверждение на удаление правила, в котором нужно подтвердить выполнение операции.

Всё вышеописанное применяется к протоколу IPv4

Для применения правил к IPv6 нужно проверить, что в файле /etc/default/ufw параметр IPv6=yes и в качестве адресов источника и назначения указывать адреса IPv6

По умолчанию, для UFW включена обработка протокола IPv6, для входящих подключений политика deny, для исходящих подключений политика allow

Если при добавлении правила указать только порт и протокол, то оно будет добавлено как для IPv4, так и для IPv6.

Для журналирования подключений в правило добавляется директива log
ufw allow log from 192.168.5.0/24 to any port ssh proto tcp

В этом случае в журнале /var/log/ufw.log будут журналироваться соединения, попадающие под созданное правило.
По умолчанию журналируются все блокированные пакеты.

Для защиты от перебора (множественных подключений) используется команда limit вместо allow
ufw limit ssh

Это ограничит количество подключений до 6 с одного адреса в течение 30 секунд по протоколу SSH.

После внесения изменений нужно перезапустить UFW
ufw reload

Вы уже работаете с сервисами Cloud4Y?

Перейти на вебсайт

Попробовать бесплатно

  • firewall, Linux
  • 0 brukere syntes dette svaret var til hjelp
Var dette svaret til hjelp?

Relaterte artikler

Диагностика проблем со скоростью Интернет

Периодически у пользователей встречаются проблемы, когда скорость загрузки с какого-либо...

Cloud4Y RDP Connect to Terminal Mini-HowTo

Как подключится к рабочему терминальному серверу Компании Для работы в корпоративных системах...

Интерактивная схема по категориям

В данной статье располагается интерактиваня схема для поиска ответа на часто задаваемые вопросы....

Как открыть тикет в техническую поддержку?

Создание тикетов является основным способом обращения в техническую поддержку Cloud4Y. Несмотря...

Расширенный вопросник по производительности при подаче заявки в тикет-систему

Расширенные вопросы и проблемы с производительностью. В случае, если вы замечаете какие-то...