Як налаштувати брандмауер за допомогою firewalld на Rocky Linux 9

Як налаштувати брандмауер за допомогою firewalld на Rocky Linux 9

Rocky Linux 9, як і його попередники, використовує firewalld як стандартний брандмауер. Firewalld — це потужна та гнучка система, яка дозволяє контролювати мережевий доступ до вашого сервера. Цей посібник допоможе вам освоїти основи налаштування та управління firewalld на Rocky Linux 9.

Вступ

Firewalld пропонує зручний інтерфейс для керування правилами брандмауера. Він використовує концепцію “зон” та “сервісів” для визначення того, який трафік дозволено або блоковано. Завдяки цьому ви можете легко налаштувати різні рівні безпеки для різних мережевих інтерфейсів та програм.

Чому використовувати Firewalld?

* Простота використання: Firewalld надає зручний інтерфейс командного рядка та графічний інструмент (якщо ви використовуєте графічне середовище), що полегшує налаштування та управління правилами.
* Гнучкість: Можливість створення різних зон (наприклад, “public”, “dmz”, “internal”) дозволяє встановити різні рівні безпеки для різних типів мереж.
* Інтеграція з системою: Firewalld інтегрується з іншими системами, такими як systemd та SELinux, для забезпечення надійного та комплексного захисту.

Перевірка статусу Firewalld

Перш ніж розпочати налаштування, переконайтеся, що firewalld запущений і активований. Ви можете перевірити це за допомогою наступної команди:

bash
systemctl status firewalld

Якщо Firewalld не запущений, ви можете запустити його командою:

bash
systemctl start firewalld

І щоб активувати його автоматичний запуск при кожному запуску системи:

bash
systemctl enable firewalld

Налаштування зон

Зони в firewalld визначають рівні безпеки для різних мережевих інтерфейсів. Зазвичай використовується декілька стандартних зон:

* public: зона для загальнодоступних мереж, таких як Інтернет.
* dmz: зона для демонізованих служб, які потребують обмеженого доступу.
* internal: зона для внутрішніх мереж, таких як мережа вашої організації.
* home: зона для домашніх мереж, де ви можете дозволити більший рівень доступу.

Ви можете переглянути список доступних зон за допомогою команди:

bash
firewall-cmd --get-zones

Щоб встановити зону для мережевого інтерфейсу, використовуйте команду:

bash
firewall-cmd --permanent --zone=public --change-interface=eth0

Ця команда присвоює зону public* мережевому інтерфейсу *eth0.

Налаштування сервісів

Сервіси в firewalld визначають набір портів та протоколів, до яких дозволено доступ. Ви можете дозволити доступ до певних сервісів, додавши їх до відповідної зони:

bash
firewall-cmd --permanent --zone=public --add-service=http

Ця команда дозволяє доступ до сервісу http* (порт 80) для зони *public.

Додавання правил

Якщо ви хочете налаштувати правила, що не стосуються стандартних сервісів, ви можете створити власні правила. Щоб створити нове правило, використовуйте команду:

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

Це правило дозволить TCP-з’єднанням з порту 22 з IP-адрес у діапазоні 192.168.1.0/24.

Перезавантаження Firewalld

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

bash
firewall-cmd --reload

Перевірка правил

Ви можете перевірити поточні правила firewalld за допомогою команди:

bash
firewall-cmd --list-all

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

Видалення правил

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

bash
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'

Видалення сервісу

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

bash
firewall-cmd --permanent --zone=public --remove-service=http

Застосування змін

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

bash
firewall-cmd --runtime-to-permanent

Вимкнення Firewalld

Якщо вам потрібно вимкнути firewalld, використовуйте команду:

bash
systemctl stop firewalld

Вимкнення автоматичного запуску Firewalld

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

bash
systemctl disable firewalld

Приклади налаштування

Забезпечення доступу до веб-сервера

Щоб дозволити доступ до веб-сервера (порт 80) для зони public, виконайте наступні кроки:

1. Додайте сервіс http* до зони *public:

bash
firewall-cmd --permanent --zone=public --add-service=http

2. Перезавантажте firewalld:

bash
firewall-cmd --reload

Блокування вхідних з’єднань на певний порт

Щоб заблокувати вхідні з’єднання на порт 22 (SSH), виконайте наступні кроки:

1. Додайте правило, яке блокує вхідні з’єднання на порт 22:

bash
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port protocol="tcp" port="22" reject'

2. Перезавантажте firewalld:

bash
firewall-cmd --reload

Відкриття доступу до певних IP-адрес

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

1. Додайте правило, яке дозволяє доступ з певних IP-адрес:

bash
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'

2. Перезавантажте firewalld:

bash
firewall-cmd --reload

Висновок

Firewalld — це потужний інструмент для захисту вашого сервера Rocky Linux 9. Використовуючи цей посібник, ви можете налаштувати firewalld відповідно до ваших потреб та забезпечити безпеку вашої системи. Завжди пам’ятайте про важливість регулярного оновлення програмного забезпечення та використання надійних паролів.

FAQ

1. Як перевірити, чи Firewalld працює?

Ви можете перевірити статус Firewalld за допомогою команди systemctl status firewalld.

2. Як я можу дозволити доступ до певного порту?

Ви можете дозволити доступ до певного порту за допомогою команди firewall-cmd --permanent --zone=public --add-service=http, замінивши http на потрібний сервіс.

3. Як я можу блокувати вхідні з’єднання від певних IP-адрес?

Ви можете блокувати вхідні з’єднання від певних IP-адрес за допомогою команди firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="IP-адреса" reject', замінивши IP-адреса на потрібну IP-адресу.

4. Як я можу видалити правило Firewalld?

Ви можете видалити правило Firewalld за допомогою команди firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="IP-адреса" port protocol="tcp" port="80" accept', замінивши rule family="ipv4" source address="IP-адреса" port protocol="tcp" port="80" accept' на відповідне правило.

5. Як я можу дозволити доступ до веб-сервера з певних IP-адрес?

Ви можете дозволити доступ до веб-сервера з певних IP-адрес за допомогою команди firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="IP-адреса" port protocol="tcp" port="80" accept', замінивши IP-адреса на потрібну IP-адресу.

6. Як я можу дозволити доступ до SSH-сервера?

Ви можете дозволити доступ до SSH-сервера за допомогою команди firewall-cmd --permanent --zone=public --add-service=ssh.

7. Як я можу переглянути всі поточні правила Firewalld?

Ви можете переглянути всі поточні правила Firewalld за допомогою команди firewall-cmd --list-all.

8. Як я можу перезавантажити Firewalld?

Ви можете перезавантажити Firewalld за допомогою команди firewall-cmd --reload.

9. Як я можу активувати Firewalld при кожному запуску системи?

Ви можете активувати Firewalld при кожному запуску системи за допомогою команди systemctl enable firewalld.

10. Які ресурси я можу використовувати для отримання додаткової інформації про Firewalld?

Ви можете знайти додаткову інформацію про Firewalld на офіційному сайті firewalld.org](https://firewalld.org/) або у документації [Red Hat.

Теги: Rocky Linux, Firewalld, безпека, мережевий доступ, налаштування, правила, зони, сервіси, SSH, HTTP, TCP, IP-адреса, порт, брандмауер, безпека мережі, мережева безпека, конфігурація