Ограничительные и разрешающие политики межсетевого экрана
В дополнение к синтаксису, который вам необходимо знать для управления брандмауэром, вам нужно будет определить задачи брандмауэра, чтобы решить, какая политика будет реализована. Есть 2 основные политики, определяющие поведение брандмауэра, и разные способы их реализации.
Когда вы добавляете правила для приема или отклонения определенных пакетов, источников, пунктов назначения, портов и т. Д. правила будут определять, что произойдет с трафиком или пакетами, которые не классифицируются в правилах вашего брандмауэра.
Чрезвычайно простой пример: когда вы определяете, вносите ли вы IP-адрес в белый или черный список x.Икс.Икс.х, что происходит с остальными?.
Допустим, вы занесли в белый список трафик, поступающий с IP-адреса x.Икс.Икс.Икс.
А снисходительный политика будет означать все IP-адреса, которые не x.Икс.Икс.x может соединяться, поэтому y.у.у.y или z.z.z.z может подключиться. А ограничительный политика отклоняет весь трафик, поступающий с адресов, не принадлежащих x.Икс.Икс.Икс.
Короче говоря, брандмауэр, в соответствии с которым весь трафик или пакеты, не определенные в его правилах, не может проходить, - это ограничительный. Межсетевой экран, в соответствии с которым разрешен весь трафик или пакеты, не определенные в его правилах, является снисходительный.
Политики могут быть разными для входящего и исходящего трафика, многие пользователи склонны использовать ограничительную политику для входящего трафика, сохраняя разрешающую политику для исходящего трафика, это зависит от использования защищенного устройства.
Iptables и UFW
В то время как Iptables - это интерфейс для пользователей для настройки правил брандмауэра ядра, UFW - это интерфейс для настройки Iptables, они не являются реальными конкурентами, дело в том, что UFW предоставил возможность быстро настроить индивидуальный брандмауэр без изучения недружественного синтаксиса, но некоторые правила могут не применяются через UFW, особые правила для предотвращения конкретных атак.
В этом руководстве будут показаны правила, которые я считаю одними из лучших практик брандмауэра, применяемых в основном, но не только с UFW.
Если у вас не установлен UFW, установите его, запустив:
# apt install ufw
Начало работы с UFW:
Для начала давайте включим брандмауэр при запуске, запустив:
# sudo ufw enable
Примечание: при необходимости вы можете отключить брандмауэр, используя тот же синтаксис, заменив «включить» на «отключить» (sudo ufw disable).
В любой момент вы сможете детально проверить статус брандмауэра, запустив:
# sudo ufw status verbose
Как видно из выходных данных, политика по умолчанию для входящего трафика является ограничительной, в то время как для исходящего трафика политика разрешающая, столбец «отключено (маршрутизировано)» означает, что маршрутизация и пересылка отключены.
Для большинства устройств я считаю ограничительную политику частью лучших практик брандмауэра для обеспечения безопасности, поэтому давайте начнем с отказа от всего трафика, кроме того, который мы определили как приемлемый, ограничительного брандмауэра:
# sudo ufw default deny incoming
Как видите, брандмауэр предупреждает нас об обновлении наших правил, чтобы избежать сбоев при обслуживании клиентов, подключающихся к нам. То же самое с Iptables можно сделать так:
# iptables -A INPUT -j DROPВ отказываться от правило на UFW разорвет соединение, не сообщая другой стороне, что соединение было отклонено, если вы хотите, чтобы другая сторона знала, что соединение было отклонено, вы можете использовать правило «отклонять" вместо.
# sudo ufw default отклонить входящие
После того, как вы заблокировали весь входящий трафик независимо от каких-либо условий, давайте начнем устанавливать дискриминационные правила, чтобы принимать то, что мы хотим, чтобы они были приняты конкретно, например, если мы настраиваем веб-сервер, и вы хотите принимать все петиции, поступающие на ваш веб-сервер, в порт 80, запустите:
# sudo ufw allow 80
Вы можете указать службу как по номеру порта, так и по имени, например, вы можете использовать prot 80, как указано выше, или имя http:
В дополнение к услуге вы также можете определить источник, например, вы можете запретить или отклонить все входящие соединения, кроме IP-адреса источника.
# sudo ufw разрешить от
Общие правила iptables, переведенные в UFW:
Ограничить rate_limit с помощью UFW довольно просто, это позволяет нам предотвратить злоупотребления, ограничивая количество, которое может установить каждый хост, с UFW, ограничивающим скорость для ssh:
# sudo ufw limit с любого порта 22# sudo ufw limit ssh / tcp
Чтобы увидеть, как UFW упростил задачу ниже, у вас есть перевод приведенной выше инструкции UFW, которая дает то же самое:
# sudo iptables -A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW-m недавний --set --name DEFAULT --mask 255.255.255.0 - источник
#sudo iptables -A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW
-m недавнее --update --seconds 30 --hitcount 6 --name DEFAULT --mask 255.255.255.255
--rsource -j ufw-user-limit
# sudo iptables -A ufw-user-input -p tcp -m tcp --dport 22 -j ufw-user-limit-accept
Правила, написанные выше для UFW, будут следующими:
Я надеюсь, что вы нашли это руководство по настройке брандмауэра Debian Best Practices for Security полезным.