При работе с системами семейства Linux, такими как CentOS, Red Hat Enterprise Linux (RHEL) или Fedora, многие сталкиваются с системой защиты FirewallD, пришедшей на замену классическому iptables. Главное преимущество FirewallD заключается в удобстве и простоте использования благодаря концепциям зон и готовых сервисов.

Давайте рассмотрим подробнее, почему FirewallD стал таким популярным среди администраторов и как правильно настроить защиту своего сервера:

 

📌 Почему FirewallD предпочтительнее iptables?

Недостатки iptables:

  • ❗ Сложность: каждая команда содержит множество аргументов и флаги, которые сложно запомнить и быстро освоить.
  • ⚠️ Отсутствие зон: настройка правил для различных уровней доверия к сети затруднительна.
  • 👨‍💻 Мгновенное применение: каждое изменение применялось немедленно, без возможности безопасного отката.

Преимущества FirewallD:

  • 🧑‍🤝‍🧑 Интуитивно понятно: работа осуществляется через простой и наглядный интерфейс с понятными зонами и сервисами.
  • 🔥 Группы зон: возможность легко создавать отдельные наборы правил для публичных, внутренних и доверенных сетей.
  • 🖥️ Предназначенные сервисы: стандартные услуги (HTTP, FTP, SSH) можно включить одним простым действием, избавляя вас от ручной настройки портов.
 

📍 Как работает FirewallD?

🛡️ Концепции и термины:

  • Зоны («Zones») — каждый тип сети соответствует своей зоне, где задаётся уровень доверия (публичная, внутренняя, доверенная). Например, зона «public» предназначена для общедоступных сетей, тогда как «home» подходит для домашней сети.
  • Сервисы («Services») — встроенные шаблоны для стандартных услуг вроде HTTP, SSH, DNS, позволяя упростить работу с открытием нужных портов.
  • Порты («Ports») — в случае отсутствия подходящего сервиса, можно самостоятельно задать нужный порт и протокол (TCP/UDP).

🎯 Ключевые команды FirewallD:

🕵️ Проверка статуса и списка правил:

systemctl status firewalld  # состояние службы
firewall-cmd --state       # активен ли фаервол
firewall-cmd --list-all    # показывает текущие правила

🐱 Работа с зонами:

firewall-cmd --get-default-zone     # текущая активная зона
firewall-cmd --set-default-zone=home  # смена активной зоны
firewall-cmd --get-active-zones     # активные зоны

📋 Добавление и удаление правил:

# Временное разрешение HTTP сервиса
firewall-cmd --add-service=http

# Постоянное включение SSH
firewall-cmd --add-service=ssh --permanent

# Открытие порта MySQL (3306/TCP)
firewall-cmd --add-port=3306/tcp

# Блокировка конкретного IP
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'

🔄 Применение изменений:

firewall-cmd --reload  # загрузка новых правил без прерывания активных сессий
 

🏗️ Реальные сценарии использования:

🌐 Веб-сервер Nginx/Apache:

# Разрешаем HTTP и HTTPS
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent

# Дополнительно открываем порт 8080
firewall-cmd --add-port=8080/tcp --permanent

# Загружаем новые правила
firewall-cmd --reload

🔐 Защита SSH:

# Изменяем порт SSH на нестандартный (2222)
firewall-cmd --remove-service=ssh --permanent
firewall-cmd --add-port=2222/tcp --permanent

# Только разрешаем подключения с определенного IP
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.50" port port="2222" protocol="tcp" accept' --permanent

# Запрещаем все остальные подключения к SSH
firewall-cmd --add-rich-rule='rule family="ipv4" port port="2222" protocol="tcp" reject' --permanent

firewall-cmd --reload

🖼️ NAT и проброс портов:

# Включаем NAT-масскарадинг
firewall-cmd --add-masquerade --permanent

# Пробрасываем внешний порт 80 на внутренний сервер 192.168.1.10
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.10 --permanent

firewall-cmd --reload

🔥 Заключение: Стоит ли использовать FirewallD?

Да, если ваша цель — лёгкое и удобное управление безопасностью сервера на системах CentOS, RHEL или Fedora. Благодаря простоте и интуитивному интерфейсу FirewallD позволит быстро и эффективно организовать защиту без глубоких технических познаний.

Используйте FirewallD, если хотите избежать сложного набора команд и иметь готовое решение для простых и средних задач по защите сервера. Однако помните, что для специфичных ситуаций или полного контроля над трафиком пакеты типа nftables будут предпочтительны.

От root

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *