Как установить и настроить Firewalld на CentOS и Ubuntu

{title}

Безопасность - это одно из действий, которое всегда должно присутствовать не только в организациях, но и на личном уровне, когда мы работаем с операционной системой, то есть, хотя существует несколько инструментов для повышения безопасности и конфиденциальности во время использования системы. Сама операционная система включает дополнительную функцию, такую ​​как брандмауэр.

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

Когда мы работаем с системами Linux, одной из самых безопасных, у нас есть утилиты с открытым исходным кодом, которые помогают нам сделать этот процесс защиты намного более полным, и одна из этих утилит - Firewalld. Solvetic объяснит, что такое Firewalld и как мы можем установить его и использовать в двух наиболее распространенных дистрибутивах, таких как CentOS и Ubuntu.

примечание

Процесс конфигурации одинаков для обеих систем

Что такое Firewalld?

Firewalld (демон брандмауэра) - это утилита, целью которой является предоставление динамически управляемого брандмауэра, который поддерживает сетевые зоны, в которых определен уровень доверия к сетевым соединениям или интерфейсам, которые используются. Firewalld совместим с IPv4-адреса, конфигурация брандмауэра IPv6, мосты Ethernet и группы IP-адресов.

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

Firewalld интегрирует интерфейс D-Bus, который способен управлять службами, приложениями и администрированием конфигурации брандмауэра, этот интерфейс может быть интегрирован с такими инструментами конфигурации, как firewall firewall-cmd, firewall-config и firewall-applet.

Особенности Firewalld

Некоторые функции, которые мы находим при использовании Firewalld:

  • Совместимость с IPv4, IPv6, мостом и ipset.
  • Совместимость с IPv4 и IPv6 NAT.
  • Межсетевой экран или зоны межсетевого экрана.
  • Full D-Bus API
  • Простое обслуживание, порт, протокол, порт источника, маскирование, переадресация портов, фильтр icmp, расширенное правило, интерфейс и управление адресом источника в используемых областях.
  • Прямой интерфейс для управления.
  • Функция блокировки, которая создает белый список приложений, которые могут изменять брандмауэр.
  • Автоматическая загрузка модулей ядра Linux.
  • Интеграция с Puppet.
  • Временные правила межсетевого экрана в зонах.
  • Простая регистрация запрещенных пакетов.
  • Графический инструмент настройки с использованием gtk3.
  • Апплет с использованием Qt4.

распределения

Основные дистрибутивы, в которых может быть реализован Firewalld:

  • RHEL 7, CentOS 7
  • Fedora 18 и выше

приложений

Приложения и библиотеки, которые поддерживают firewalld в качестве инструмента управления брандмауэром, имеют:

  • NetworkManager
  • Libvirt
  • докер
  • fail2ban

Важно, что прежде чем вдаваться в подробности о том, как установить и использовать Firewalld, мы узнаем немного больше об этом, Firewalld состоит из трех уровней:

  • Основной уровень (базовый уровень), который обрабатывает конфигурацию и сервисы, такие как iptables, ip6tables, ebtables, ipset и загрузчик модулей.
  • Интерфейс D-Bus: который является основным средством для изменения и создания конфигурации брандмауэра.
  • Бэкэнды, которые позволяют вам взаимодействовать с netfilter (модуль ядра, используемый для брандмауэров), а некоторые считаются iptables, ip6tables, ebtables, ipset, nft, linnftables и т. Д.

Интерфейс Firewalld D-Bus является наиболее важным способом создания и редактирования настроек брандмауэра. Этот интерфейс используется всеми сетевыми инструментами, встроенными в firewalld, такими как firewall-cmd, firewall-config и firewall-applet, строка firewall-offline-cmd не взаимодействует напрямую с firewalld, но редактирует и создает файлы конфигурации firewalld напрямую через ядро ​​firewalld с контроллерами ввода-вывода.

Глобальный файл конфигурации firewalld находится по пути /etc/firewalld/firewalld.conf, а функции брандмауэра настроены в формате XML.

Firewalld использует зоны, которые определяют уровень доверия, который будет использовать сетевое соединение, интерфейс или канал адреса источника, и одну и ту же зону можно использовать для многих сетевых соединений, интерфейсов и источников.

Области, доступные в Firewalld:

Капля

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

При использовании этой зоны уровень доверия аналогичен Drop, но отличается только тем, что входящие пакеты отклоняются с использованием сообщений icmp-host-disabled для IPv4 и icmp6-adm-запрещено для IPv6.
общественного

В этой зоне уровень доверия относится к ненадежным публичным сетям, поэтому он принимает только надежные соединения.
внешний

Это уровень, определяемый, когда мы используем межсетевой экран в качестве шлюза, и его маскирование включается маршрутизаторами.
ДМЗ

$config[ads_text5] not found

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

Как видно из названия, этот уровень используется в рабочих областях, что позволяет сетевому оборудованию получить к нему доступ.
дома

Используя этот уровень, мы говорим о домашней среде, и большинство компьютеров в сети принимаются
внутренний

Этот тип уровня применяется к внутренним сетям, так что все компьютеры в локальной сети будут приняты.
доверенный

Это означает доверие, что подразумевает, что это самый высокий уровень и зависит от всех входящих соединений.

Для настройки или добавления зон мы можем использовать любой из следующих доступных интерфейсов конфигурации firewalld:

  • Firewall-config графический инструмент конфигурации.
  • Firewall-cmd инструмент командной строки.
  • Программный интерфейс D-BUS.
  • Создайте, скопируйте или отредактируйте файл зоны в одном из каталогов конфигурации, таких как: / etc / firewalld / zone для пользовательских и пользовательских файлов конфигурации или / usr / lib / firewalld / zone для настроек по умолчанию и резервных копий,

$config[ads_text5] not found

1. Как установить Firewalld и управлять им в Linux

Шаг 1
Если используется CentOS 7, пакет firewalld предустановлен и может быть проверен с помощью следующей команды:

 rpm -qa firewalld 
В случае Ubuntu мы должны установить его с помощью следующей команды:
 sudo apt установить firewalld 

{title}

Введите букву S, чтобы подтвердить загрузку и установку Firewalld.

Шаг 2
Firewalld - это обычный сервис systemd, которым можно управлять с помощью команды systemctl следующим образом:

 sudo systemctl start firewalld (позволяет запустить службу). sudo systemctl enable firewalld (включает службу при запуске системы). sudo systemctl status firewalld (позволяет просматривать состояние службы). 

$config[ads_text5] not found

{title}

Шаг 3
После запуска службы firewalld мы можем проверить, работает ли демон в Linux, для этого мы должны использовать инструмент firewall-cmd, мы выполним следующее:

 sudo firewall-cmd –state 

{title}

2. Как управлять зонами в Firewalld CentOS и Ubuntu

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

 sudo firewall-cmd --get-zone 

$config[ads_text6] not found

{title}

Шаг 2
Для просмотра услуг мы выполним:

 sudo firewall-cmd --get-services 

{title}

Шаг 3
Зона по умолчанию - это зона, реализованная для каждой функции firewalld, которая не связана с другой зоной. Можно получить набор зон по умолчанию для сетевых подключений и интерфейсов, выполнив следующее:

 sudo firewall-cmd --get-default-zone 

$config[ads_text5] not found

{title}

Шаг 4
Если мы хотим установить другую зону по умолчанию, мы должны использовать следующую команду, следует отметить, что если мы добавим опцию --permanent, то конфигурация установлена ​​постоянно, мы можем выполнить любую из следующих опций:

 sudo firewall-cmd --set-default-zone = external 
или
 sudo firewall-cmd --set-default-zone = external –permanent 

Шаг 4
Затем мы применяем изменения, выполнив:

 sudo firewall-cmd –reload 

{title}

Шаг 5
Если целью является, например, добавить интерфейс в зону, мы можем выполнить следующее:

 sudo firewall-cmd --zone = home --add-interface = enp0s3 
В этом случае мы добавили интерфейс enp0s3 (LAN) в домашнюю зону.

$config[ads_text5] not found

{title}

Шаг 6
Следует отметить, что интерфейс можно добавить только в одну зону, вместо этого его можно переместить в другую зону, для этого мы будем использовать ключ --change-interface или удалить из предыдущей зоны с ключом -remove-interface и Затем добавьте его в новую зону, например:

 sudo firewall-cmd --zone = public --add-interface = enp0s3 sudo firewall-cmd --zone = public --change-интерфейс = enp0s3 
С Firewalld можно использовать много зон одновременно, если мы хотим получить список всех активных зон с включенными функциями, таких как интерфейсы, службы, порты, протоколы, мы выполняем следующее:
 sudo firewall-cmd --get-active-zone 

{title}

Шаг 7
Чтобы получить больше информации о зонах, например, что было включено или удалено, мы можем использовать любую из этих команд:

 sudo firewall-cmd --zone = home --list-all 
О
 sudo firewall-cmd --info-zone public 

{title}

Шаг 8
Еще одна полезная опция, которую можно использовать с Firewalld, - --get-target, она показывает цель постоянной зоны, цели могут быть значениями по умолчанию, ПРИНЯТЬ, ОТПРАВИТЬ, ОТКАЗАТЬ, чтобы проверить цель нескольких зон, мы можем использовать любую из следующих команды:

 sudo firewall-cmd --permanent --zone = public - get-target sudo firewall-cmd --permanent --zone = block --get-target sudo firewall-cmd --permanent --zone = dmz --get- целевой sudo firewall-cmd --permanent --zone = external --get-target sudo firewall-cmd --permanent --zone = drop --get-target 

3. Как заблокировать или открыть порты в Firewalld Linux CentOS и Ubuntu


Чтобы открыть порт через firewalld, просто добавьте его в зону с параметром --add-port. Если вы не укажете зону явно, она будет включена в зоне по умолчанию.

Шаг 1
Например, чтобы добавить порты 80 и 443, которые разрешают входящий веб-трафик по протоколам HTTP и HTTPS, мы выполним следующее:

 sudo firewall-cmd --zone = public --permanent --add-port = 80 / tcp --add-port = 443 / tcp 

{title}

Шаг 2
Теперь мы собираемся перезагрузить firewalld и проверить функции, включенные в публичной области:

 sudo firewall-cmd - перезагрузить sudo firewall-cmd --info-zone public 

{title}

Шаг 3
Если мы хотим заблокировать порт в firewalld, мы должны использовать параметр --remove-port, в этом примере, например, так:

 sudo firewall-cmd --zone = public --permanent --remove-port = 80 / tcp --remove-port = 443 / tcp 

4. Как заблокировать или открыть сервисы в Firewalld CentOS и Ubuntu


Чтобы включить службу в Firewalld, мы должны включить ее с помощью параметра --add-service, помните, что если мы опускаем зону, будет использоваться зона по умолчанию.

Шаг 1
Например, чтобы включить службу http в публичной зоне, мы выполняем:

 sudo firewall-cmd --zone = public --permanent --add-service = http sudo firewall-cmd –reload 

{title}

Шаг 2
С помощью параметра -remove-service мы можем удалить сервис из назначенной зоны:

 sudo firewall-cmd --zone = public --permanent --remove-service = http sudo firewall-cmd –reload 

{title}

5. Как включить и отключить маскировку IP через Firewalld Linux


Маскировка IP, или IPMASQ / MASQ) - это механизм NAT, который позволяет узлам в сети с частными IP-адресами устанавливать связь с Интернетом через публичный IP-адрес, назначенный серверу Linux с использованием шлюза IPMASQ.,

$config[ads_text5] not found

С помощью этой маскировки невидимый трафик хоста будет появляться на других компьютерах в Интернете, как если бы он исходил непосредственно с сервера Linux.

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

 sudo firewall-cmd --zone = public --query-masquerade 
Тогда мы можем добавить область как это:
 sudo firewall-cmd --zone = public --add-masquerade 
Чтобы удалить область из этого типа функции, мы должны выполнить следующее:
 sudo firewall-cmd --zone = public --remove-masquerade 

6. Как включить и отключить сообщение IMCP в Firewalld Linux


ICMP (Internet Control Message Protocol) - это протокол, который был разработан для генерации запросов на информацию или ответов на эти запросы на информацию или в условиях ошибки на протяжении всего процесса связи. в сети

$config[ads_text5] not found

Шаг 1
В Firewalld можно включать или отключать сообщения ICMP, но рекомендуется проверять все типы совместимых ICMP, для этого мы выполняем:

 sudo firewall-cmd --get-icmptypes 

{title}

Шаг 2
Мы можем добавить или заблокировать ICMP следующим образом:

 sudo firewall-cmd --zone = home --add-icmp-block = эхо-ответ sudo firewall-cmd --zone = home --remove-icmp-block = эхо-ответ 

{title}

Шаг 3
Мы можем видеть все типы ICMP, добавленные в зону, используя ключ --list-icmp-blocks:

 sudo firewall-cmd --zone = home --list-icmp-blocks 

7. Как включить или нет режим паники в Firewalld Linux CentOS и Ubuntu


Режим «Паника» - это специальный режим, встроенный в Firewalld, в котором все входящие и исходящие пакеты удаляются, а активные подключения истекают после его активации. Мы можем включить этот режим в экстренных ситуациях, когда существует угроза для системы. и поэтому мы будем избегать любой связи.

Шаг 1
Чтобы проверить режим паники, мы будем использовать опцию --query-panic и можем активировать ее с помощью опции sudo firewall-cmd --panic-on:

$config[ads_text5] not found

{title}

Шаг 2
Чтобы понять, как это работает, при отключении мы можем пропинговать веб-сайт и получать все отправленные запросы, но при активации мы увидим сообщение о временном сбое подключения:

{title}

Шаг 3
Чтобы отключить этот режим, мы выполняем:

 sudo firewall-cmd --panic-off 

8. Как заблокировать Firewalld в Linux CentOS и Ubuntu

Шаг 1
В Firewalld локальные приложения или службы могут изменять конфигурацию брандмауэра, если они выполняются с привилегиями root, мы можем контролировать, какие приложения могут запрашивать изменения в брандмауэре, добавляя его в белый черный список. Эта функция по умолчанию отключена, и мы можем включить или отключить ее с помощью ключа --lockdown-on или –lockdown-off:

 sudo firewall-cmd - блокировка-вкл 
О
 sudo firewall-cmd - блокировка выключена 

Шаг 2
Более безопасный способ - включить или отключить эту функцию непосредственно в редакции основного файла конфигурации, поскольку иногда firewall-cmd не существует в блокирующем белом списке, для этого мы получаем доступ к файлу конфигурации:

 sudo nano /etc/firewalld/firewalld.conf 

{title}

Там мы находим строку Lockdown = no и устанавливаем ее статус в Lockdown = yes, сохраняем изменения, используя клавиши Ctrl + O, и закрываем редактор, используя Ctrl + X.

Firewalld - это комплексное решение для добавления различных правил и зон в наши дистрибутивы Linux и, следовательно, для улучшения общих параметров безопасности в системе.

$config[ads_text6] not found