Глава 13. Основы Межсетевого экрана RHEL9

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

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

Данная глава обсудит некоторые базовые понятия межсетевых экранов, портов TCP/IP и служб. Настройка межсетевого экрана RHEL9 будет рассмотрена в Главе 14, Настройка Межсетевого экрана при помощи firewalld.

Разбираемся с Портами и Службами

Доминирующим применяемым в наши дни протоколом сетевого взаимодействия выступает TCP/IP. Именно этот протокол применяется в Интернете, а раз так, он смёл большинство ранее популярных протоколов, применявшихся в локальных сетях (LAN).

В общей сложности TCP/IP определяет 65 535 портов, из которых 1 023 рассматриваются как хорошо известные порты. Существенно понимать, что это не физические порты к которым подключаются сетевые кабели, а вместо этого они представляют виртуальные порты для каждого сетевого соединения, которое может применяться приложениями и службами для взаимодействия через сетевое подключение TCP/IP. На практике общее число применяемых в популярных сетевых клиентах и службах портов составляет ещё меньшее подмножество хорошо известной группы портов.

Операционная система может предоставлять некоторое число различных служб TCP/IP. Всесторонний список таких служб представлен в таблице в конце данной главы. Тем не менее, такие службы включают HTTPS для запуска защищённого веб-сервера, FTP для разрешения передачи файлов, SSH для обеспечения безопасного удалённого входа в систему и передачи файлов, а также SMTP для транспортировки сообщений электронной почты. Каждой службе, в свою очередь, назначается стандартный порт TCP/IP. К примеру, HTTPS назначается порт 443, в то время как соединение SSH происходит через порт 22.

Защита портов и служб

По большей части защита серверов вовлекает определение ролей и, основываясь на таких ролях, задание того, какие службы и порты должны быть разрешёнными. Например, действующая исключительно в роли веб сервера машина должна исполнять только службу HTTPS (возможно, дополнительно к SSH для доступа удалённого администрирования). Все прочие службы должны быть отключены и, в идеале, полностью удалены из её операционной системы (тем самым затрудняя проникновение через повторное разрешение такой службы).

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

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

Службы RHEL9 и Правила iptables

По умолчанию, вновь установленная система RHEL9 обладает правилами iptables, заданными для ограничения доступа к портам. Для просмотра текущих установок iptables в окне терминала может быть выполнена такая команда:


# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source                               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source                               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source                               destination
		

Как это проиллюстрировано в предыдущем выводе, в настоящий момент времени не определены никакие правила. Хотя это может показаться небезопасной конфигурацией, важно помнить, что в недавно установленной системе RHEL 9 по умолчанию также запущено несколько служб, что делает имеющиеся порты бесполезными для потенциального злоумышленника. Например, доступ к веб-серверу в только что установленной системе RHEL 9 невозможен, поскольку по умолчанию службы веб-сервера не установлены или не запущены. Как только службы начнут активироваться в системе, важно устанавливать стратегию межсетевого экрана, определяя правила iptables.

Для задания правил iptables доступен ряд методов, включая применение инструментов командной строки и файлов конфигурации. К примеру, для блокирования доступа к порту 25 (применяемого протоколом SMTP передачи электронной почты) с IP адреса 192.168.2.76 в окне терминала может быть активирована такая команда:


# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source                               destination
DROP       tcp  --  192.168.2.76                         anywhere tcp dpt:smtp

Chain FORWARD (policy ACCEPT)
target     prot opt source                               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source                               destination
		

Впоследствии это правило может быть удалено следующим образом:


# iptables -D INPUT -s 192.168.2.76 -p tcp --destination-port 25 -j DROP
		

Принимая во внимание сложность iptables, неудивительно, что для облегчения процесса создания правил было создано несколько дружественных инструментов настройки. Одним из таких инструментов является средство командной строки firewall-cmd, которое будет рассмотрен в Главе 14, Настройка Межсетевого экрана при помощи firewalld.

Хорошо известные Порты и Службы

Прежде чем переходить к более сложным правилам межсетевого экрана, для начала стоит выделить некоторые ключевые службы, которые могут предоставляться системой RHEL 9, совместно с соответствующими номерами портов:

Таблица 13-1. Распространённые порты служб
Порт Выделение Описание

20

FTP

File Transfer Protocol (Data) - Протокол передачи файлов предоставляет механизм для передачи конкретных файлов между соединёнными сетевой средой компьютерами. Такая передача обычно выполняется при помощи клиента ftp. Большинство современных веб браузеров также способно просматривать и выгружать файлы с удалённого сервера FTP. FTP для передачи файлов пользуется TCP (вместо UDP), который рассматривается как механизм транспорта с высокой надёжностью. FTP не выполняет шифрования данных и не рассматривается в качестве безопасного протокола передачи файлов. Вместо FTP настоятельно рекомендуются Secure Copy Protocol (SCP) и Secure File Transfer Protocol (SFTP).

21

FTP

File Transfer Protocol (Control) - Традиционно FTP обладает двумя назначенными ему портами (порт 20 и порт 21). Порт 20 изначально рассматривался как порт передачи данных, в то время как порт 21 назначался для взаимодействия контролирующими сведениями. Однако, в современных реализациях, порт 20 применяется редко при имеющем место всём взаимодействии по порту 21.

22

SSH

Secure Shell - Безопасная оболочка предоставляет сохранный, зашифрованный, с удалённой регистрацией сеанс к некому хосту поверх сети TCP/IP. Первоначальным механизмом для удалённого доступа служил протокол Telnet. Однако, поскольку Telnet передаёт данные открытым текстом, его применение настоятельно не одобрялось в угоду данной безопасной оболочке, которая шифрует всё взаимодействие, включая регистрацию и учётные данные пароля. SSH также предоставляет соответствующий механизм, посредством которого файлы могут безопасно передаваться при помощи Secure Copy Protocol (SCP), а также служит основой для Secure File Transfer Protocol (SFTP). SSH к тому же заменил и клиентов rsh с rlogin.

23

Telnet

Telnet - Telnet это протокол эмуляции терминала, который способен регистрироваться в удалённой системе поверх соединения TCP/IP. Его доступ основан на текстовом обмене, позволяя самому пользователю выполнять набор в приглашении командной строки в соответствующем удалённом хосте и, отражаемый таким удалённым хостом текст отображается и в самом клиенте Telnet. Telnet не шифрует ни применяемый пароль, ни текстовое взаимодействие между своими клиентом и сервером. А раз так, применение Telnet настоятельно не рекомендуется. Большинство современных систем обладают закрытым портом 23, а сама служба Telnet отключена для предотвращения её применения. Вместо Telnet надлежит применять SSH.

25

SMTP

Simple Mail Transfer Protocol - SMTP определяет механизм, посредством которого сообщения электронной почты отправляются с одного сетевого хоста другому. SMTP это прямолинейный протокол требующий от соответствующей службы электронной почты постоянной доступности на стороне принимающего хоста. Обычно сам принимающий хост буде сохранять входящие сообщения во временной области хранения для последующего доступа самим получателем при помощи протоколов POP3 или IMAP. SMTP пользуется транспортным протоколом TCP для гарантии свободной от ошибок доставки сообщения.

53

DNS

Domain Name Server - Данная служба используется сетевыми средами TCP/IP для трансляции имён хостов и Fully Qualified Domain Names (FQDN) в адреса IP.

69

TFTP

Trivial File Transfer Protocol - TFTP это усечённая версия File Transfer Protocol (FTP). Она обладает уменьшенным множеством команд и отсутствием аутентификации. Наиболее значимая функциональная возможность TFTP состоит в том, что для передачи данных она пользуется UDP. Как результат, это приводит к высокоскоростным скоростям передачи однако, вследствие этого, отсутствием надёжности данных. TFTP обычно используется в сетевом запуске для рабочих станций без дисков.

80

HTTP

Hypertext Text Transfer Protocol - HTTP применяется для выгрузки текста, графики и мультимедиа из веб сервера в веб браузер. Он задаёт необходимые команды и механизмы контроля между своими браузером и сервером, определяя запросы клиента и отклики сервера. HTTP основывается на транспортном протоколе TCP, а раз так, это ориентированные на соединение протокол.

110

POP3

Post Office ProtocolPOP3 - Протокол POP3 это механизм для хранения и выборки входящих электронных почтовых сообщений из сервера. В большинстве корпоративных сред входящие электронные письма хранятся в неком сервере электронной почты и затем выгружаются в исполняемом на рабочем месте пользователя или в ноутбуке клиента электронной почты когда такой клиент проверяет электронную почту. Однако, POP3 выгружает все новые сообщения в своего клиента и не позволяет своему пользователю выбирать какие именно сообщения выгружать, просматривать заголовки или выгружать только части сообщений. По этой причине вместо протокола POP3 все больше применяется протокол IMAP.

119

NNTP

Network News Transfer Protocol - Данный протокол отвечает за публикацию и выборку сообщений в и из Usenet News Servers (то есть новостных групп и форумов обсуждений, размещающихся в удалённых серверах). NNTP работает на уровне Приложения стека OSI и пользуется TCP для обеспечения свободных от ошибок выборки и передачи сообщений.

123

NTP

Network Time Protocol - Разработанный для синхронизации часов компьютера с внешним источником времени. Применяя данный протокол, операционная система или приложение способны запрашивать значение текущего времени с некого удалённого сервера NTP. Такой удалённый сервер NTP обычно основывается на предоставляемом ядерными часами времени. NTP полезен для обеспечения того, что все системы в сетевой среде установлены на одно и то же, точное время дня. Это в особенности важно для ситуации с безопасностью когда, к примеру, значение принятого или изменённого файла в клиенте или сервера находятся под вопросом.

143

IMAP4

Internet Message Access Protocol, Version 4 - IMAP4 это некий расширенный и безопасный протокол выборки электронной почты. IMAP аналогичен POP3, позволяя пользователям выполнять доступ к сообщениям электронной почты, хранящимся в сервере электронной почты. Однако, IMAP содержит большое число дополнительных функциональных возможностей, таких как возможность выборочной выгрузки сообщений, просмотра заголовков сообщений, поиска сообщений и выгрузки частей сообщений. Кроме того IMAP4 пользуется аутентификацией и полностью поддерживает аутентификацию Kerberos.

161

SNMP

Simple Network Management Protocol - ПАредоставляет механизм, посредством которого сетевые администраторы способны собирать сведения относительно сетевых устройств (таких как хабы, мосты, маршрутизаторы и коммуникаторы). Протокол SNMP позволяет исполняемым в сетевых устройствах агентам взаимодействовать своим состоянием с центральным диспетчером и, в свою очередь, допускает такому диспетчеру отправлять новые параметры конфигурации в своего агента устройства. Такой агент в последующем может быть настроен на уведомление своего диспетчера когда происходят определённые события, известные как ловушки. SNMP для отправки и получения данных применяет UDP.

443

HTTPS

Hypertext Transfer Protocol Secure - Стандартный протокол HTTP (не безопасный) передаёт данные обычным текстом (то есть без шифрования и видимыми всем, кто может внедряться в этот обмен). Хотя это и приемлемо для большинства целей веб браузеров, это предоставляет определённый риск безопасности когда требуется передача от браузера к веб серверу конфиденциальных сведений, таких как подробности кредитных карт. HTTPS решает это применяя Secure Sockets Layer (SSL) для отправки зашифрованных данных между своими клиентом и сервером.

2049

NFS

Network File System - Изначально разработанный Sun Microsystems и в последующем широко приспособленным во всей отрасли, NFS делает возможным доступ к файловой системе удалённого хоста через сетевую среду другой системе так, как если бы эта файловая система присутствовала в локальном дисковом устройстве. NFS широко применяется в системах на основе UNIX и Linux. Поздние версии Microsoft Windows также способны выполнять доступ к совместным файловым системам в системах на основе UNIX и Linux.

Заключение

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

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