Поиск по сайту:

Как ограничить доступ к сети с помощью FirewallD


Как пользователь Linux, вы можете разрешить или ограничить доступ к сети для некоторых служб или IP-адресов с помощью брандмауэра firewalld, который является встроенным в CentOS/RHEL 8 и большинство RHEL. дистрибутивы, такие как Fedora.

Брандмауэр firewalld использует утилиту командной строки firewall-cmd для настройки правил брандмауэра.

Прежде чем мы сможем выполнить какие-либо настройки, давайте сначала включим службу firewalld с помощью утилиты systemctl, как показано:

sudo systemctl enable firewalld

После включения вы можете запустить службу firewalld, выполнив:

sudo systemctl start firewalld

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

sudo systemctl status firewalld

Вывод ниже подтверждает, что служба firewalld запущена и работает.

Настройка правил с помощью Firewalld

Теперь, когда у нас запущен firewalld, мы можем сразу перейти к настройке некоторых настроек. Firewalld позволяет добавлять и блокировать порты, черный список, а также белый список IP-адресов для обеспечения доступа к серверу. После завершения настройки обязательно перезагрузите брандмауэр, чтобы новые правила вступили в силу.

Добавление порта TCP/UDP

Чтобы добавить порт, скажем, порт 443 для HTTPS, используйте приведенный ниже синтаксис. Обратите внимание, что после номера порта необходимо указать, является ли порт портом TCP или UDP:

sudo firewall-cmd --add-port=22/tcp --permanent

Аналогично, чтобы добавить порт UDP, укажите параметр UDP, как показано:

sudo firewall-cmd --add-port=53/udp --permanent

Флаг --permanent гарантирует, что правила сохранятся даже после перезагрузки.

Блокировка порта TCP/UDP

Чтобы заблокировать порт TCP, например порт 22, выполните команду.

sudo firewall-cmd --remove-port=22/tcp --permanent

Аналогично, блокировка порта UDP будет следовать тому же синтаксису:

sudo firewall-cmd --remove-port=53/udp --permanent

Разрешение услуги

Сетевые службы определены в файле /etc/services. Чтобы разрешить такую службу, как https, выполните команду:

sudo firewall-cmd --add-service=https

Блокировка службы

Чтобы заблокировать службу, например, FTP, выполните:

sudo firewall-cmd --remove-service=https

Белый список IP-адреса

Чтобы разрешить один IP-адрес через брандмауэр, выполните команду:

sudo firewall-cmd --permanent --add-source=192.168.2.50

Вы также можете разрешить диапазон IP-адресов или всю подсеть, используя нотацию CIDR (бесклассовая междоменная маршрутизация). Например, чтобы разрешить всю подсеть в подсети 255.255.255.0, выполните команду.

sudo firewall-cmd --permanent --add-source=192.168.2.0/24

Удаление IP-адреса из белого списка

Если вы хотите удалить IP-адрес из белого списка на брандмауэре, используйте флаг --remove-source, как показано:

sudo firewall-cmd --permanent --remove-source=192.168.2.50

Для всей подсети выполните:

sudo firewall-cmd --permanent --remove-source=192.168.2.50/24

Блокировка IP-адреса

До сих пор мы видели, как вы можете добавлять и удалять порты и службы, а также вносить и удалять IP-адреса из белого списка. Чтобы заблокировать IP-адрес, для этой цели используются «насыщенные правила».

Например, чтобы заблокировать IP 192.168.2.50, выполните команду:

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.50' reject"

Чтобы заблокировать всю подсеть, выполните:

sudo firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.2.0/24' reject"

Сохранение правил брандмауэра

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

sudo firewall-cmd --reload

Просмотр правил брандмауэра

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

sudo firewall-cmd --list-all

На этом завершается руководство о том, как разрешить или ограничить доступ к сети с помощью FirewallD в CentOS/RHEL 8. Мы надеемся, что это руководство оказалось для вас полезным.