🖧 Как ограничить доступ к сети с помощью 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 (Classless Inter-Domain Routing).
Например, чтобы разрешить всю подсеть 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-адрес, используются «rich rules».

Например, чтобы заблокировать 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

 

Добавить комментарий