Как настроить брандмауэр в CentOS 8?

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

Что такое межсетевой экран?

Проще говоря, брандмауэр — это система, используемая для сетевой безопасности путем мониторинга, контроля и фильтрации сетевого трафика (входящего или исходящего). Мы можем установить некоторые правила безопасности, если хотим разрешить или заблокировать определенный трафик. Итак, для безопасности системы важен хорошо настроенный брандмауэр.

Firewalld: система управления межсетевым экраном.

Если говорить о конфигурации брандмауэра в операционной системе CentOS 8, то в CentOS 8 есть служба брандмауэра, известная как firewalld. Firewalld демон является отличным программным обеспечением для управления брандмауэром для управления и контроля сетевого трафика системы. Он используется несколькими основными дистрибутивами Linux для настройки межсетевого экрана и в качестве системы фильтрации сетевых пакетов.

В этом посте вы узнаете все о firewalld и покажете, как установить и настроить брандмауэр в операционной системе CentOS 8. Мы также попробуем несколько основных команд и выполним некоторые основные настройки брандмауэра для управления сетевым трафиком. Начнем с понимания основных концепций Firewalld.

Основные концепции Firewalld

Демон Firewalld использует за собой firewall-cmd. Firewall-cmd — это утилита командной строки или клиент демона firewalld. Давайте обсудим и разберемся с некоторыми концепциями этого инструмента.

Для управления трафиком firewalld использует зоны и сервисы. Итак, чтобы понять и начать работать с firewalld, вы сначала должны понять, что такое зоны и службы в firewalld.

Зоны

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

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

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

  • drop: Это зона с самым низким уровнем безопасности. В этой зоне будет проходить исходящий трафик, а входящий трафик не будет разрешен.
  • block: эта зона почти такая же, как и указанная выше зона перетаскивания, но мы получим уведомление, если соединение будет прервано в этой зоне.
  • public: эта зона предназначена для ненадежных общедоступных сетей, в которых вы хотите ограничить входящие соединения в зависимости от сценария.
  • external: эта зона используется для внешних сетей, когда вы используете брандмауэр в качестве шлюза. Он используется для внешней части шлюза вместо внутренней.
  • internal: в отличие от внешней зоны, эта зона предназначена для внутренних сетей, когда вы используете брандмауэр в качестве шлюза. Он противоположен внешней зоне и используется на внутренней части шлюза.
  • dmz: это имя зоны происходит от демилитаризованной зоны, где система будет иметь минимальный доступ к остальной части сети. Эта зона явно используется для компьютеров в менее густонаселенной сетевой среде.
  • работа: Эта зона используется для систем рабочей среды, чтобы иметь почти все доверенные системы.
  • home: эта зона используется для домашних сетей, где большинство систем заслуживают доверия.
    доверенный: эта зона имеет самый высокий уровень безопасности. Эта зона используется там, где мы можем доверять каждой системе.

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

Настройки правил Firewalld

В firewalld может быть два типа наборов правил :

  • Время выполнения
  • Постоянный

Когда мы добавляем или изменяем набор правил, он применяется только к работающему брандмауэру. После перезагрузки службы firewalld или перезагрузки системы служба firewalld загрузит только постоянные конфигурации. Недавно добавленные или измененные наборы правил не будут применяться, потому что изменения, которые мы вносим в firewalld, используются только в конфигурации среды выполнения.

Читайте также:  Почему вам следует задуматься о том, что AMD Ryzen делает для игр

Чтобы загрузить недавно добавленные или измененные наборы правил при перезагрузке системы или перезагрузке службы firewalld, нам необходимо добавить их в постоянные конфигурации firewalld.

Чтобы добавить наборы правил и постоянно держать их в конфигурации, просто используйте флаг –permanent в команде:

sudo firewall-cmd —permanent [options]

После добавления наборов правил в постоянные конфигурации перезагрузите firewall-cmd с помощью команды:

sudo firewall-cmd —reload

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

sudo firewall-cmd —runtime-to-permanent

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

Установка и включение firewalld

Firewalld предустановлен в последней версии CentOS 8. Однако по какой-то причине он сломан или не установлен, вы можете установить его с помощью команды:

sudo dnf install firewalld

После установки демона firewalld запустите службу firewalld, если она не активирована по умолчанию.

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

sudo systemctl start firewalld

Лучше, если вы автоматически запускаете при загрузке, и вам не придется запускать его снова и снова.

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

sudo systemctl enable firewalld

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

sudo firewall-cmd —state

Вы можете видеть на выходе; брандмауэр работает отлично.

Правила брандмауэра по умолчанию

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

Чтобы узнать выбранную зону, выполните команду firewall-cmd с флагом –get-default-zone, как показано ниже:

firewall-cmd —get-default-zone

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

Зона по умолчанию останется единственной активной зоной до тех пор, пока мы не дадим firewalld никаких команд для изменения зоны по умолчанию.

Мы можем получить активные зоны, выполнив команду firewall-cmd с флагом –get-active-zone, как показано ниже:

firewall-cmd —get-active-zones

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

Если вы хотите получить наборы правил, определенные для общедоступной зоны, выполните команду, введенную ниже:

sudo firewall-cmd —list-all

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

Изменение зоны сетевого интерфейса

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

Чтобы изменить зону сетевого интерфейса, вы можете использовать команду firewall-cmd, указав имя зоны для параметра –zone и имя сетевого интерфейса для параметра –change-interface:

sudo firewall-cmd —zone=work —change-interface=eth1

Чтобы убедиться, что зона изменена или нет, запустите команду firewall-cmd с параметром –get-active zone:

sudo firewall-cmd —get-active-zones

Видно, что зона интерфейса успешно изменена, как мы и хотели.

Изменить зону по умолчанию

Если вы хотите изменить зону по умолчанию, вы можете использовать опцию –set-default-zone и указать ей имя зоны, которое вы хотите установить, с помощью команды firewall-cmd:

Например, для изменения зоны по умолчанию на домашнюю, а не на общественную:

sudo firewall-cmd —set-default-zone=home

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

sudo firewall-cmd —get-default-zone

Хорошо, поиграв с зонами и сетевыми интерфейсами, давайте узнаем, как устанавливать правила для приложений в брандмауэре в операционной системе CentOS 8.

Установка правил для приложений

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

Добавить услугу в зону

Нам часто нужно добавить какие-то сервисы в зону, в которой мы сейчас работаем.

Мы можем получить все службы, используя параметр –get-services в команде firewall-cmd:

firewall-cmd —get-services

Чтобы получить более подробную информацию о любой службе, мы можем посмотреть файл.xml этой конкретной службы. Сервисный файл находится в каталоге / usr / lib / firewalld / services.

Например, если мы посмотрим на службу HTTP, она будет выглядеть так:

cat /usr/lib/firewalld/services/http.xml

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

Читайте также:  Как конвертировать видео в GIF в Linux

Если мы не предоставим параметр –zone, служба будет включена в зону по умолчанию.

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

sudo firewall-cmd —add-service=http

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

sudo firewall-cmd —zone=public —add-service=http

Чтобы проверить добавление службы в общедоступную зону, вы можете использовать параметр –list-services в команде firewall-cmd:

sudo firewall-cmd —zone=public —list-services

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

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

sudo firewall-cmd —zone=public —add-service=http —permanent

Но если вы хотите добавить все конфигурации среды выполнения в постоянные конфигурации брандмауэра, выполните команду firewall-cmd с параметром –runtime-to-constant:

sudo firewall-cmd —runtime-to-permanent

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

Теперь, чтобы проверить изменения, перечислите службы, добавленные в постоянные конфигурации, используя параметр –permanent и –list-services в команде firewall-cmd:

sudo firewall-cmd —zone=public —list-services —permanent

Как открыть IP-адреса и порты в брандмауэре

Используя брандмауэр, мы можем разрешить прохождение всех или некоторых определенных IP-адресов и открыть некоторые определенные порты в соответствии с нашими требованиями.

Разрешить исходный IP

Чтобы разрешить поток трафика с определенного IP-адреса, вы можете разрешить и добавить IP-адрес источника, указав сначала зону и используя параметр –add-source:

sudo firewall-cmd —zone=public —add-source=192.168.1.10

Если вы хотите навсегда добавить исходный IP-адрес в конфигурацию брандмауэра, выполните команду firewall-cmd с параметром –runtime-to-constant:

sudo firewall-cmd —runtime-to-permanent

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

sudo firewall-cmd —zone=public —list-sources

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

Если по какой-либо причине вы хотите удалить исходный IP-адрес, команда для удаления исходного IP-адреса будет выглядеть следующим образом:

sudo firewall-cmd —zone=public —remove-source=192.168.1.10

Откройте исходный порт

Чтобы открыть порт, мы сначала должны упомянуть зону, а затем мы можем использовать параметр –add-port, чтобы открыть порт:

sudo firewall-cmd —zone=public —add-port=8080/tcp

В приведенной выше команде / tcp — это протокол; вы можете предоставить протокол в соответствии с вашими потребностями, например UDP, SCTP и т. д.

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

sudo firewall-cmd —zone=public —list-ports

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

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

sudo firewall-cmd —runtime-to-permanent

Если по какой-либо причине вы хотите удалить порт, команда для удаления порта будет выглядеть так:

sudo firewall-cmd —zone=public —remove-port=8080/tcp

Заключение

В этом подробном и содержательном посте вы узнали, что такое брандмауэр. А также основные концепции брандмауэра, что такое зоны и настройки правил брандмауэра. Вы научились устанавливать и включать службу firewalld в операционной системе CentOS 8.

В конфигурации брандмауэра вы узнали о правилах брандмауэра по умолчанию, как перечислить зоны по умолчанию, активные зоны и все зоны firewall-cmd. Кроме того, этот пост содержит краткое объяснение того, как изменить зону сетевого интерфейса, как установить правила для приложений, таких как добавление службы в зону, открытие IP-адресов и портов на брандмауэре.

Прочитав этот пост, вы сможете управлять потоком трафика на свой сервер и изменять наборы правил зоны, потому что в этом посте есть подробное описание того, как администрировать, настраивать и управлять брандмауэром в операционной системе CentOS 8.

Оцените статью
ПОПУЛЯРНЫЕ ТЕХНОЛОГИИ
Добавить комментарий