Як налаштувати брандмауер за допомогою 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-адреса, порт, брандмауер, безпека мережі, мережева безпека, конфігурація