Работа с брандмауэром Debian (UFW)

Uncomplicated Firewall (UFW) - это фронтенд для Iptables, программы, которую мы обычно используем для управления netfilter - функцией фильтрации, включенной в ядро Linux. Так как управление Iptables требует от среднего до продвинутого уровня знаний сетевого администрирования, были разработаны фронтэнды, чтобы облегчить задачу, Uncomplicated Firewall является одним из них и будет описан в этом руководстве.

Установка UFW в Debian Linux

Чтобы установить ufw на Debian, выполните:

Установка UFW в Debian Linux

Чтобы включить UFW, выполните:

включить UFW Debian

Чтобы отключить UFW, выполните команду:

Если вы хотите быстро проверить состояние вашего брандмауэра, выполните команду:

sudo ufw status

 

Где:

  • Status: сообщает, активен ли брандмауэр.
  • To: показывает порт или службу
  • Action: показывает политику
  • From: показывает возможные источники трафика.

Мы также можем проверить статус брандмауэра, выполнив команду:

sudo ufw status verbose

Эта команда для просмотра состояния брандмауэра также покажет политики по умолчанию и направление трафика.

Дополнительно к информативным экранам с "ufw status" или "ufw status verbose" мы можем вывести все пронумерованные правила, если это поможет управлять ими, как вы увидите позже. Чтобы получить пронумерованный список правил брандмауэра, выполните команду:

sudo ufw status numbered

На любом этапе мы можем сбросить настройки UFW к конфигурации по умолчанию, выполнив команду:

sudo ufw reset

При сбросе правил ufw запросит подтверждение. Нажмите Y для подтверждения.

Краткое введение в политику межсетевых экранов

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

Например, если у нас есть веб-сервер, и мы не хотим, чтобы этот сервер обслуживал больше, чем простой веб-сайт, мы можем применить ограничительную политику, блокирующую все порты, кроме портов 80 (http) и 443 (https), это будет ограничительная политика, потому что по умолчанию все порты заблокированы, пока вы не разблокируете определенный порт. Примером разрешительного брандмауэра может быть незащищенный сервер, в котором мы блокируем только порт входа, например, 443 и 22 для серверов Plesk как единственные заблокированные порты. Кроме того, мы можем использовать ufw для разрешения или запрета переадресации.

Применение ограничительных и разрешительных политик с помощью ufw

Чтобы ограничить весь входящий трафик по умолчанию с помощью ufw, выполните следующие действия:

Чтобы сделать обратное, разрешив весь входящий трафик, выполните:

Чтобы заблокировать весь исходящий трафик из нашей сети, синтаксис аналогичен, для этого выполните:

Для разрешения всего исходящего трафика мы просто заменим "deny" на "allow", для безусловного разрешения исходящего трафика выполним:

Мы также можем разрешить или запретить трафик для определенных сетевых интерфейсов, сохраняя различные правила для каждого интерфейса, чтобы заблокировать весь входящий трафик с моей ethernet карты, я бы выполнил:

К примеру

Где:

  • ufw -  вызывает программу
  • deny - определяет политику
  • in - входящий трафик
  • ens33 -  сетевой интефейс

Теперь применим  ограничительную политику по умолчанию для входящего трафика, а затем разрешим только порты 80 и 22:

Применение ограничительных и разрешительных политик с помощью ufw

  1. Первая команда блокирует весь входящий трафик
  2. Вторая разрешает входящие подключения к порту 22
  3. Третья - к порту 80.

Обратите внимание, что ufw позволяет нам называть службу по умолчанию портом или именем службы. Мы можем принимать или запрещать соединения с портом 22 или ssh, портом 80 или http.

Весь входящий трафик запрещен, в то время как два разрешенных нами сервиса (22 и http) доступны.

Если мы хотим удалить определенное правило, мы можем сделать это с помощью параметра "delete". Чтобы удалить последнее правило, разрешающее входящий трафик на порт http, выполните команду:

Давайте проверим, доступны или заблокированы службы http, выполнив ufw status verbose:

ufw status verbose

Порт 80 больше не появляется как исключение, единственным портом остается порт 22.

Вы также можете удалить правило, просто вызвав его числовой ID, предоставленный командой "sudo ufw status numbered"

Программа запросит подтверждение и выполнит его.

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

Тогда, если кто-то попытается получить доступ к нашему порту 22, он получит уведомление о том, что соединение было отклонено, как показано на рисунке ниже.

На любом этапе мы можем проверить добавленные правила по сравнению с конфигурацией по умолчанию, выполнив команду:

sudo ufw show added

Мы можем запретить все соединения и разрешить определенные IP-адреса, в следующем примере я отклоню все соединения с портом 22, кроме IP 192.168.0.2, который будет единственным, кто сможет подключиться:

Теперь, если мы проверим состояние ufw, то увидим, что весь входящий трафик на порт 22 запрещен (правило 1), но разрешен для указанного IP (правило 2).

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

Чтобы закончить это руководство и научиться ценить щедрость ufw, давайте вспомним, как мы могли запретить весь трафик, кроме одного IP, используя iptables:

То же самое можно сделать с помощью всего 3 коротких и простых строк, используя ufw:

Надеюсь, вы нашли это введение в ufw полезным.

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