В операційній системі Rocky Linux 9, як і в попередніх версіях, firewalld є стандартним засобом захисту мережі. Ця потужна та гнучка система забезпечує контроль за мережевим трафіком, що надходить до вашого сервера. У цьому докладному посібнику ми розглянемо основні аспекти налаштування та керування firewalld на Rocky Linux 9.
Знайомство з firewalld
Firewalld пропонує інтуїтивно зрозумілий інтерфейс для керування правилами брандмауера. В його основі лежить концепція “зон” та “сервісів”, які визначають, який саме трафік є дозволеним, а який – заблокованим. Це дає вам можливість легко налаштовувати різні рівні безпеки для різних мережевих інтерфейсів та застосунків.
Чому варто використовувати Firewalld?
- Зручність у використанні: Firewalld надає простий у використанні інтерфейс командного рядка та графічний інструмент (якщо у вас встановлено графічне середовище), що значно спрощує процес налаштування та управління правилами.
- Гнучкість: Можливість створювати різні зони (наприклад, “public”, “dmz”, “internal”) дозволяє встановити індивідуальні рівні безпеки для різних типів мереж.
- Інтеграція з системою: Firewalld тісно інтегрований з іншими системними компонентами, такими як systemd та SELinux, забезпечуючи надійний та всеохоплюючий захист.
Перевірка статусу Firewalld
Перед початком налаштування важливо переконатися, що firewalld запущений та активний. Для цього скористайтесь наступною командою:
systemctl status firewalld
Якщо firewalld не запущено, ви можете ініціювати його запуск за допомогою:
systemctl start firewalld
Щоб налаштувати автоматичний запуск брандмауера при кожному завантаженні системи, скористайтесь командою:
systemctl enable firewalld
Налаштування мережевих зон
Зони у firewalld визначають рівні безпеки для різних мережевих підключень. Зазвичай використовуються наступні стандартні зони:
- public: Зона для загальнодоступних мереж, таких як Інтернет.
- dmz: Зона для демілітаризованої зони (DMZ), де розміщуються служби з обмеженим доступом.
- internal: Зона для внутрішніх мереж, наприклад, мережі вашої компанії.
- home: Зона для домашніх мереж, де можна дозволити більш широкий доступ.
Щоб переглянути список доступних зон, виконайте:
firewall-cmd --get-zones
Для встановлення зони для мережевого інтерфейсу скористайтеся наступною командою:
firewall-cmd --permanent --zone=public --change-interface=eth0
Ця команда призначить зону public мережевому інтерфейсу eth0.
Налаштування сервісів
Сервіси в firewalld представляють набір портів та протоколів, до яких дозволено доступ. Щоб відкрити доступ до певного сервісу, його потрібно додати до відповідної зони. Наприклад:
firewall-cmd --permanent --zone=public --add-service=http
Ця команда дозволить доступ до сервісу http (порт 80) для зони public.
Створення власних правил
Якщо вам потрібно налаштувати правила, що не відповідають стандартним сервісам, ви можете створити власні. Для створення нового правила використайте команду:
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 необхідно перезапустити брандмауер, щоб зміни набули чинності:
firewall-cmd --reload
Перевірка активних правил
Для перегляду поточних правил firewalld скористайтеся командою:
firewall-cmd --list-all
Ця команда покаже вам всі поточні налаштування, включаючи зони, сервіси та додані вами правила.
Видалення правил
Щоб видалити правило, використайте команду:
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
Видалення сервісу
Для видалення сервісу з зони, виконайте:
firewall-cmd --permanent --zone=public --remove-service=http
Застосування змін
Після редагування правил firewalld важливо зберегти їх, щоб вони залишалися активними після перезавантаження системи:
firewall-cmd --runtime-to-permanent
Вимкнення Firewalld
Якщо вам потрібно вимкнути firewalld, використайте:
systemctl stop firewalld
Відключення автоматичного запуску Firewalld
Для відключення автоматичного запуску firewalld при завантаженні системи, виконайте:
systemctl disable firewalld
Приклади практичного застосування
Налаштування доступу до веб-сервера
Для дозволу доступу до веб-сервера (порт 80) для зони public, зробіть наступні кроки:
1. Додайте сервіс http до зони public:
firewall-cmd --permanent --zone=public --add-service=http
2. Перезавантажте firewalld:
firewall-cmd --reload
Блокування вхідних підключень на певний порт
Щоб заблокувати вхідні з’єднання на порт 22 (SSH), виконайте наступні дії:
1. Додайте правило, що блокує вхідні з’єднання на порт 22:
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port protocol="tcp" port="22" reject'
2. Перезавантажте firewalld:
firewall-cmd --reload
Відкриття доступу для конкретних IP-адрес
Для надання доступу до веб-сервера лише з певних IP-адрес, виконайте:
1. Додайте правило, що дозволяє доступ з певних IP-адрес:
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:
firewall-cmd --reload
Підсумки
Firewalld є потужним інструментом для забезпечення безпеки вашого сервера на Rocky Linux 9. З цим посібником ви зможете налаштувати firewalld відповідно до ваших індивідуальних потреб та гарантувати захист вашої системи. Не забувайте регулярно оновлювати програмне забезпечення та використовувати надійні паролі для максимальної безпеки.
Часті питання
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 або в документації Red Hat.
Теги: Rocky Linux, Firewalld, безпека, мережевий доступ, конфігурація, правила, зони, сервіси, SSH, HTTP, TCP, IP-адреса, порт, брандмауер, захист мережі, безпека мережі, налаштування