Брандмауэр с помощью Firewalld

Firewalld

Firewalld является высокоуровневой реализацией Netfilter, предлагая более удобный интерфейс, чем iptables или nftables. Администраторы могут управлять правилами Firewalld, а приложения могут взаимодействовать с ним через систему сообщений DBus. Это позволяет добавлять или удалять правила без прямого действия администратора, позволяя приложениям управлять брандмауэром из пользовательского пространства.

По умолчанию Firewalld применяет правила только к входящим пакетам; исходящие пакеты не фильтруются.


Зоны Firewalld

Firewalld упрощает управление с помощью зон. Зона - это набор правил, применяемых к входящим пакетам на основе их исходного адреса или интерфейса сети, на который они поступают.

Зоны особенно полезны на серверах с несколькими сетевыми интерфейсами, позволяя устанавливать разные правила для каждого интерфейса. На машине с одним интерфейсом вы обычно работаете с зоной default.

Firewalld анализирует исходный адрес каждого входящего пакета, чтобы определить, совпадает ли он с определенной зоной. Если нет, используется зона для входящего интерфейса. Если специфическая зона не найдена, применяются правила зоны default.

Название Зоны Описание
block Входящие соединения отклоняются с сообщением "ICMP-host-prohibited". Исходящие соединения разрешены.
dmz Для использования в зоне демилитаризованного доступа. Выбранные входящие соединения принимаются, с ограниченным доступом внутренней сети.
drop Все входящие пакеты отбрасываются без ответа.
external Для внешних сетей с включенным маскированием (NAT), обычно используется на маршрутизаторах. Выбранные входящие соединения принимаются.
home Большинство сетевых компьютеров доверены; принимаются только выбранные входящие соединения.
internal Большинство сетевых компьютеров доверены; принимаются только выбранные входящие соединения.
public Другие сетевые компьютеры не доверены; принимаются ограниченные соединения. Это default зона для новых интерфейсов.
trusted Принимаются все сетевые соединения.
work Большинство сетевых компьютеров доверены; принимаются только выбранные входящие соединения.

Работа с Firewalld

Firewalld предлагает инструмент командной строки, firewall-cmd, который управляет как временными, так и постоянными (на диске) конфигурациями. Используйте флаг --permanent, чтобы изменения сохранялись после перезагрузки. Всегда перезагружайте для применения изменений в рабочем окружении.

[root@localhost ~]# firewall-cmd --get-default-zone
public

[root@localhost ~]# firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work

[root@localhost ~]# firewall-cmd --list-all --zone=public
public (активная)
  target: по умолчанию
  icmp-block-inversion: нет
  interfaces: enp1s0
  источники: 
  services: cockpit dhcpv6-client ftp http https ssh
  порты: 
  протоколы: 
  masquerade: нет
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

[root@localhost ~]# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet
...

[root@localhost ~]# firewall-cmd --list-services
cockpit dhcpv6-client ftp http https ssh

[root@localhost ~]# firewall-cmd --add-service=vnc-server --permanent
успех

[root@localhost ~]# firewall-cmd --list-services
cockpit dhcpv6-client ftp http https ssh

[root@localhost ~]# firewall-cmd --reload
успех

[root@localhost ~]# firewall-cmd --list-services
cockpit dhcpv6-client ftp http https ssh vnc-server

[root@localhost ~]# firewall-cmd --add-port=2022/tcp --permanent
успех

[root@localhost ~]# firewall-cmd --reload
успех

[root@localhost ~]# firewall-cmd --list-all
public (активная)
  target: по умолчанию
  icmp-block-inversion: нет
  interfaces: enp1s0
  источники: 
  services: cockpit dhcpv6-client ftp http https ssh vnc-server
  порты: 2022/tcp
  протоколы: 
  masquerade: нет
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Основные Команды

firewall-cmd --list-all
firewall-cmd --list-all --zone=public

firewall-cmd --get-default-zone
firewall-cmd --get-zones

firewall-cmd --get-services
firewall-cmd --list-services

firewall-cmd --add-service ftp
firewall-cmd --add-service ftp --permanent
firewall-cmd --reload

firewall-cmd --add-port=2022/tcp --permanent
firewall-cmd --reload
  • 5 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

How to protect your .htaccess file?

For security purposes, we recommend you to prevent access to your .htaccess file from...

Блокировка IP-адреса в вашем файле .htaccess

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

Как отключить просмотр каталогов с помощью .htaccess?

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

Как ограничить доступ к папке по IP-адресу?

Для обеспечения безопасности вашей административной области от хакеров, мы рекомендуем разрешить...

Настройка SSH-ключей на Debian/Ubuntu

SSH-ключи обеспечивают безопасный способ входа на ваш Linux-сервер без использования...