Налаштування firewalld - я системний адміністратор

Налаштування firewalld - я системний адміністратор

До мене Firewalld прийшов разом з першою установкою Centos 7. хоча напевно багато хто вже давно його використовують. Строго кажучи firewalld це не якийсь розроблений з нуля фаєрвол, а всього лише надбудова над iptables (точніше він як і iptables використовує для роботи iptables tool і управляє тим же мережевим фільтром ядра), проте з нею ми отримали деякі нові можливості і втратили деякі старі .

Почнемо з того що зі звичного нам тепер недоступно:

  1. Ні / etc / sysconfig / iptables. Налаштувань iptables в звичайному раніше для них місці немає, firewalld зберігає свої настройки в XML файлах розкидавши їх по / usr / lib / firewalld / і / etc / firewalld /
  2. Додавати правила звичними командами на кшталт iptables -A INPUT -p ICMP -j ACCEPT у нас вже не вийде і взагалі на спробу звернутися до iptables ми отримаємо відмову. Власне просто доведеться налаштовувати його іншими командами.

І що ж ми маємо корисного або не дуже відмовившись від звичних способів управління:

  1. Можливість зміни правил без перезавантаження служби: Firewalld запускається як служба і при конфігурації враховує і застосовує тільки відмінності в правилах. Звідси випливає (або не випливає, але по факту є) важлива властивість, а саме можна міняти правила не розриваючи існуючі з'єднання. Це однак гідне нововведення. (Надійшло зауваження, про те, що iptables теж не розриває з'єднання при перезавантаженні таблиць, так що можливість ця не така і нововведення. Однак так як на сайті красногорячіх цей пунк поданий як нововведення, поки осавлю його без змін, при нагоді потестірую і опишу результат )
  2. Концепція зон: Fierwalld оперує поняттями мережевий зони. Мережева зона як сказано в описі визначає рівень довіри мережевому підключенню. По русски це можна зрозуміти як встановлений набір правил який можна призначити підключення (по крайней мере я так зрозумів). Очевидно що, в уникненні конфліктів правил, одне підключення може знаходитися тільки в одній зон, а ось в зону можна додавати скільки завгодно підключень.
  • drop - як і слід було очікувати входять мережеві пакети скидаються, без відповіді, допускаються тільки вихідні з'єднання
  • block - входять мережеві з'єднання відхиляються з повідомленням icmp-host-prohibited для Ipv4 і icmp6-adm-prohibited для IPv6, допускаються тільки мережеві з'єднання ініційовані всередині нашої системи.
  • public - для використання в мережі з не довіреними комп'ютерами (в парку напевно, ви адже часто виводите свої сервера в парк на прогулянку), дозволяється встановлювати тільки конкретні вхідні з'єднання.
  • external - для використання в зовнішніх мережах з дозволеним маськарадінг, особливо для роутерів, дозволяється встановлювати тільки конкретні вхідні з'єднання
  • dmz - для комп'ютерів власної демілітаризованій зоні з обмеженим доступом до вашої внутрішньої мережі, дозволяється встановлювати тільки конкретні вхідні з'єднання.
  • work / home / internal - Для всіх трьох зон в описі приблизно та ж вода, плюс: максимальна довіра до комп'ютерів, впевненість в тому, що вони не заподіють шкоди нашому комп'ютера, дозволяється встановлювати тільки конкретні вхідні з'єднання
  • trusted - Спеціальна зона для тещі, всі мережеві з'єднання дозволені.

Разом, додаємо з'єднання в зону і отримуємо якийсь встановлений набір правил. Напевно це зручно, якщо зробити свої зони і потім з якихось правил призначати їх інтерфейсів знову підключених комп'ютерів, але поки я в цьому не розібрався.

Для того щоб управляти всім цим багатством можливостей існує два основні інструменти:

  1. firewall-config з графічним інтерфейсом, якої я ніколи не бачив, так як у мене немає жодної машини з firewalld і графічним інтерфейсом. Так що повіривши опсанію повідомляю що вона дуже зручна і вміє багато всього.
  2. firewall-cmd утиліта командного рядка яка не менше корисна і теж вміє багато всього, але про це детальніше:

Перше, не саме фундаментальне і правильне, але іноді важливе що хотілося б згадати це як відкрити порт. Буває що ви ставите машину лише для то го, щоб там крутився єдиний сервіс, наприклад jabber сервер і в такому випадку вам потрібно просто відкрити певні порти, залишивши все інше закритим (22 tcp за замовчуванням відкритий)

# Firewall-cmd --zone = [нужная_зона] --add-port = 5280 / tcp --permanent
# Firewall-cmd --reload

У нашому випадку нужная_зона це public адже ми відкриваємо порт параметр --permanent доданий для того щоб зміни зберігалися постійно, якщо його опустити, то зроблені настройки пропадуть після перезавантаження.

І звичайно на всякий випадок:

# Firewall-cmd [--zone = нужная_зона] --list-ports

Якщо ми вказуємо замість нужная_зона public то отримаємо список відкритих портів. Якщо написати --list-services то можна подивитися список сервісів порти для яких відкриті (сервіси додані в зону public). У зону можна додавати як порт так і сервіс (і не тільки) і якщо ви додали в зону public сервіс, то порт на якому він працює не відображається в списку портів.

Взагалі наскільки я зрозумів всі параметри програми firewall-cmd прішутся з двома тире - попереду. Ось список основних корисних прокладено на просторах інтернету:
firewall-cmd

Добридень!
Деякі критики:
Можливість зміни правил без перезавантаження служби: Firewalld запускається як служба і при конфігурації враховує і застосовує тільки відмінності в правилах. Звідси випливає (або не випливає, але по факту є) важлива властивість, а саме можна міняти правила не розриваючи існуючі з'єднання.

При reload iptables з'єднання теж не розриваються, просто перечитуються правила. systemctl reload iptables.service або service iptables reload. Так що цей функціонал можливий як в firewalld, так і в старих добрих iptables. Перевіряв особисто на CentOS 6 і 7.


При reload iptables з'єднання теж не розриваються, просто перечитуються правила. systemctl reload iptables.service або service iptables reload. Так що цей функціонал можливий як в firewalld, так і в старих добрих iptables. Перевіряв особисто на CentOS 6 і 7.

Додав до статті поправку, при наявності вільного часу неодмінно спробую і перепишу абзац :) Велике спасибі.

Firewolld звичайно сервіс динамічний, але без - reload порт не відкривався :)

Reload потрібен тому, що в команді ви вказали ключ --permanent. У firewalld два, так би мовити, місця, де зберігається конфігурація - це runtime і permanent (приблизно як в апаратних маршрутізатораз Cisco, наприклад). --permanent - це зберегти в конфіг. Якщо правило задавати без цього ключа, то воно застосується відразу. Але не буде відображено в конфіги Щоб поточну runtime-конфігурацію перенести в конфіг, потрібно виконати команду:

Цитую Aleq Qery:

Firewolld звичайно сервіс динамічний, але без - reload порт не відкривався :)

  • Робота з користувачами в командної рядку Windows (net user)

Ось довідка по чудовій програмі net, точніше по її роботі з користувачами: net user. Іноді, наприклад потрібно активувати обліковий запис гостя або.

  • Діагностика групових політик - gpresult

    Утиліта gpresult - простий і зручний спосіб протестувати роботу групових політик на клієнтських машинах. Вона входить в стандартну поставку Windows і з її допомогою.

  • Професійний стандарт адміністратора баз даних

    От цікаво, для адміністратора баз даних міністаерство праці та соцзахисту створило окремий стандарт, а для адміністратора наприклад web серверів окремого стандарту немає. Зате.

  • Професійний стандарт для теххподдержкі
  • І ще один професійний стандарт системного адміністратора

    Ось ще один професійний стандарт від улюбленого нами міністерства, відповідний для як системного адмінітратора, так і для простого енікеёщіка, тому.

    Цікаві новини

    • Телеметрія в Windows 10. відключати, що не відключав, все одно отримаєш краще рішення
  • Го. Комп'ютер зміг обіграти чемпіона триразового чемпіона Європи з гри го

    Програма AlphaGo, розроблена компанією британської DeepMind, виграла у триразового чемпіона Європи Фань Хуея п'ять ігор поспіль. Гра го.

  • Нові "подарунки" від Microsoft - "стабільність" і "приватність"

    Всесвітньо відома корпароція знову порадувала нас новинами: Після виходу чергового патча, вбудований інструмент для шифрування Bitlocker перестав працювати, а Microsoft не в силах.

    • Програмі встановлення не вдалося створити новий або знайти існуючий системний розділ.
    • Налаштування Firewalld
    • Помилка 79 Service Error на принтері HP LaserJet 400 M401dn
    • Посадова інструкція системного адміністратора
    • Шпаргалка по параметрам fierwalld-cmd або знову настройка firewalld
    • Перенесення ролей FSMO
    • Що можна зробити якщо ви хочете видалити драйвер принтера, а система відповідає: "Зазначений драйвер принтера зайнятий".
    • Установка CentOS 7
    • Установка ejabberd 15 на CentOS 7
    • Шпаргалка по циклам в bash
    • Установка Openfire 3.10 на CentOS 7
    • Шпаргалка по Wget
    • FTP протокол передачі файлів
    • Як очистити чергу друку в Windows.
    • Оператори вибору в bash

    Схожі статті