Настройка Firewalld для общедоступных и ограниченных услуг

Вопрос или проблема

Вот моя цель:
Я хочу, чтобы определённые порты/услуги были открыты для всех, а некоторые порты/услуги должны быть доступны только для определённого/доверенного IP. Ограниченные услуги должны восприниматься как закрытые (предпочтительно) или фильтруемые (при сканировании).

Вот что я придумал до сих пор:

  • добавить публичные услуги в публичную зону, которая определяется с помощью eth0. sudo firewall-cmd --zone=public --add-service=<service>
  • добавить IP в другую зону и добавить ограниченные услуги там. sudo firewall-cmd --zone=? --add-source=<trusted-IP> + sudo firewall-cmd --zone=? --add-service=<service>

Вопросы:

  1. Я не уверен в различиях между стандартными зонами. Насколько я понимаю, доверенная зона разрешает доступ ко всем портам, что мне не нужно, а скорее рабочие/внутренние/домашние? Это просто разные названия или есть реальная разница? (В моих исследованиях всё объясняется одинаково…)
  2. Чтобы заставить ограниченные порты выглядеть закрытыми, нужно ли мне делать что-то ещё (например, изменить стандартную зону на dropped/blocked – и если да, то какой эффект это окажет на публичную зону)? Будет ли блокировка или сброс правильным решением?

Ответ или решение

Настройка Firewalld для публичных и ограниченных сервисов

В этой статье мы рассмотрим, как правильно настроить firewalld, чтобы обеспечить доступ к определённым портам и сервисам для всех пользователей, а также ограничить доступ к другим (ограниченным) сервисам для определённых, доверенных IP-адресов. Это необходимо для повышения безопасности вашей сети и защиты критически важных ресурсов.

1. Основы зон в firewalld

Firewalld использует концепцию зон для управления правилами фильтрации трафика. Каждая зона имеет свои параметры и уровень безопасности. Основные зоны, которые следует учитывать:

  • Public: Это зона для общедоступных сетей, где вы можете открывать определенные сервисы для всех.
  • Trusted: Эта зона позволяет доступ ко всем сервисам от доверенных источников, что может быть небезопасно для вашего случая.
  • Work и Home: Эти зоны предназначены для внутренних сетей и обычно имеют более высокую степень доверия.

В вашем случае целесообразно использовать зону Public для общедоступных сервисов и создать отдельную зону, как Internal, для ограниченных сервисов.

2. Открытие публичных сервисов

Для открытия публичных сервисов выполняем команды:

sudo firewall-cmd --zone=public --add-service=<service>
sudo firewall-cmd --runtime-to-permanent

Здесь <service> — это имя сервиса (например, http для веб-сервера).

3. Настройка ограниченных сервисов

Для добавления доверенного IP-адреса в другую зону выполните:

sudo firewall-cmd --zone=internal --add-source=<trusted-IP>
sudo firewall-cmd --zone=internal --add-service=<restricted-service>
sudo firewall-cmd --runtime-to-permanent

Где internal — это зона, в которой будут находиться ваши ограниченные сервисы, <trusted-IP> — это IP, которому вы хотите предоставить доступ, а <restricted-service> — это сервисы, доступные только для этого IP.

4. Покрытие ограниченных портов

Чтобы сделать порты с ограничением видимыми как закрытые, можно изменить поведение по умолчанию:

  • Block: заблокирует пакеты, не соответствующие правилам (отправляет ICMP unreachable).
  • Drop: игнорирует пакеты без уведомления, что делает эти порты «невидимыми» при сканировании.

Для установки зоны по умолчанию на drop, выполните:

sudo firewall-cmd --set-target=drop

Это действие изменит поведение всей системы на все зоны, где пакеты, не попадающие под определённые правила (например, Public и Internal), будут автоматически сбрасываться или блокироваться. Учтите, что изменение зоны по умолчанию может повлиять на взаимодействие с другими сервисами и пользователями, поэтому будьте осторожны в этом отношении.

5. Полезные советы

  • Проверка правил: Используйте команду sudo firewall-cmd --list-all --zone=<zone> для просмотра активных правил в каждой зоне.
  • Тестирование безопасности: После настройки обязательно протестируйте доступность открытых и закрытых сервисов с разных IP-адресов.
  • Логи: Включите логирование для мониторинга активности и возможной атаки.

Заключение

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

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

Капча загружается...