Firewalld – це потужний інструмент керування брандмауером, який використовується в дистрибутивах Linux, таких як CentOS, RHEL і Fedora. Він надає гнучкий і динамічний спосіб керування правилами брандмауера, дозволяючи користувачам ефективно визначати політики безпеки. Однією з ключових особливостей Firewalld є розширені правила, які забезпечують більш детальний контроль над мережевим трафіком у порівнянні зі стандартними правилами.

Що таке розширені правила в Firewalld?

Розширені правила – це розширений метод визначення політик брандмауера, який пропонує додаткові параметри фільтрації, такі як

  • Вказівка адреси джерела та призначення
  • Дозвіл або відхилення трафіку на основі протоколів або портів
  • Визначення правил ведення журналів і аудиту
  • Встановлення обмежень швидкості та дій для певних з’єднань

Розширені правила дозволяють адміністраторам створювати тонко налаштовані політики безпеки, що виходять за рамки базових правил для зон і служб.

Перевірка наявних розширених правил

Щоб перевірити, чи налаштовано розширені правила, виконайте наступну команду:

firewall-cmd --list-rich-rules

У результаті буде показано всі розширені правила, які наразі активні у брандмауері.

Додавання розширеного правила

Щоб додати нове розширене правило, скористайтеся наступним синтаксисом:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
адреса джерела="192.168.1.100" назва служби="ssh" accept'

Це правило дозволяє трафік SSH з певної IP-адреси (192.168.1.100).

Після додавання правила перезавантажте Firewalld, щоб застосувати зміни:

firewall-cmd --reload

Блокування трафіку за допомогою розширеного правила

Щоб заблокувати трафік з певної IP-адреси, використовуйте

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
source address="192.168.1.200" drop'

Це правило буде мовчки відкидати весь трафік з адреси 192.168.1.200, не надсилаючи відповіді.

Дозвіл трафіку для певного порту і протоколу

Дозволяє трафік для певного порту і протоколу, наприклад, HTTP на порту 80:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
source address="192.168.1.0/24" port protocol="tcp" port="80" accept'

Це правило дозволяє HTTP-трафік з будь-якого пристрою в підмережі 192.168.1.0/24.

Логування та аудит трафіку

Для реєстрації відкинутих пакетів з метою моніторингу використовуйте

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
source address="192.168.1.150" drop log prefix="[FIREWALL-DROP]" level="info"'

Це правило відкидає трафік з адреси 192.168.1.150 і записує його в журнал з префіксом [FIREWALL-DROP].

Видалення розширеного правила

Щоб видалити певне правило, скористайтеся командою

firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" 
source address="192.168.1.100" service name="ssh" accept'

Потім перезавантажте Firewalld:

firewall-cmd --reload

Найкращі практики для керування розширеними правилами

  • Завжди тестуйте нові правила брандмауера, перш ніж застосовувати їх постійно.
  • Використовуйте правила ведення журналів для моніторингу та аналізу заблокованого трафіку.
  • Регулярно переглядайте правила брандмауера, щоб забезпечити відповідність вимогам безпеки.
  • Обмежте доступ до критично важливих служб за IP-адресою або підмережею.

Висновок

Керування розширеними правилами в Firewalld забезпечує гнучкий і потужний спосіб контролювати мережевий трафік за допомогою тонкої фільтрації. Незалежно від того, чи дозволяєте ви певні IP-адреси, блокуєте несанкціонований трафік або реєструєте з’єднання, розширені правила допомагають підвищити безпеку і підтримувати цілісність мережі.