Материал: Система защиты информации в локальной сети предприятия

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Существует три основных типа межсетевых экранов - пакетный фильтр (packet filtering), шлюз на сеансовом уровне (circuit-level gateway) и шлюз на прикладном уровне (application-level gateway). Очень немногие существующие межсетевые экраны могут быть однозначно отнесены к одному из названных типов. Как правило, МСЭ совмещает в себе функции двух или трех типов.

Как уже отмечалось, для того, чтобы эффективно обеспечивать безопасность сети, firewall обязан отслеживать и управлять всем потоком, проходящим через него. Для принятия управляющих решений для TCP/IP-сервисов (то есть передавать, блокировать или отмечать в журнале попытки установления соединений), firewall должен получать, запоминать, выбирать и обрабатывать информацию, полученную от всех коммуникационных уровней и от других приложений.

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

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

1.      Информация о соединениях - информация от всех семи уровней в пакете.

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

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

.        Манипулирование информацией - вычисление разнообразных выражений, основанных на всех вышеперечисленных факторах.

Наиболее распространенным решением для управления межсетевого экрана (брандмауэра) netfilter для ядер Linux версий 2.4 и 2.6 является утилита Iptables. Вопреки очень распространённому мнению, ни iptables, ни netfilter не производят маршрутизацию пакетов и никак ей не управляют. Netfilter только фильтрует и модифицирует (в том числе, для NAT) пакеты по правилам, заданным администратором через утилиту iptables. Для использования утилиты iptables требуются привилегии суперпользователя (root). Иногда под словом iptables имеется в виду и сам межсетевой экран netfilter.

.3 Организация защищенных каналов связи

.3.1 Настройка Firewall

Данная настройка Iptables рассчитана на схему с использованием 2 сетевых интерфейсов.

Рис 5 брэндмауэр.

Программа позволяет задать правила, которым должны соответствовать проходящие через брандмауэр IP-пакеты. Эти правила, как и все настройки Linux, записываются в текстовый файл, находящийся в папке /etc. Последовательность правил называется цепочкой (CHAIN). Для одного и того же сетевого интерфейса используются несколько цепочек. Если проходящий пакет не соответствует ни одному из правил, то выполняется действие по умолчанию.

Для определений правил используются несколько таблиц:

MANGLE

Используется для изменения заголовка пакета. Допускается выполнять только нижеперечисленные действия:

·              TOS

·              TTL

·              MARK

Действие TOS выполняет установку битов поля Type of Service в пакете. Это поле используется для назначения сетевой политики обслуживания пакета, т.е. задает желаемый вариант маршрутизации. Однако, следует заметить, что данное свойство в действительности используется на незначительном количестве маршрутизаторов в Интернете. Другими словами, не следует изменять состояние этого поля для пакетов, уходящих в Интернет, потому что на роутерах, которые таки обслуживают это поле, может быть принято неправильное решение при выборе маршрута.

Действие TTL используется для установки значения поля TTL (Time To Live) пакета. Есть одно неплохое применение этому действию. Мы можем присваивать определенное значение этому полю, чтобы скрыть наш брандмауэр от чересчур любопытных провайдеров (Internet Service Providers). Дело в том, что отдельные провайдеры очень не любят когда одно подключение разделяется несколькими компьютерами. и тогда они начинают проверять значение TTL приходящих пакетов и используют его как один из критериев определения того, один компьютер "сидит" на подключении или несколько.

Действие MARK устанавливает специальную метку на пакет, которая затем может быть проверена другими правилами в iptables или другими программами, например iproute2. С помощью "меток" можно управлять маршрутизацией пакетов, ограничивать траффик и т.п.

NAT

Используется для выполнения преобразований сетевых адресов NAT (Network Address Translation). Только первый пакет из потока проходит через цепочки этой таблицы, трансляция адресов или маскировка применяются ко всем последующим пакетам в потоке автоматически. Для этой таблицы характерны действия:

·              DNAT

·              SNAT

·              MASQUERADE

Действие DNAT (Destination Network Address Translation) производит преобразование адресов назначения в заголовках пакетов. Другими словами, этим действием производится перенаправление пакетов на другие адреса, отличные от указанных в заголовках пакетов.(Source Network Address Translation) используется для изменения исходных адресов пакетов. С помощью этого действия можно скрыть структуру локальной сети, а заодно и разделить единственный внешний IP адрес между компьютерами локальной сети для выхода в Интернет. В этом случае брандмауэр, с помощью SNAT, автоматически производит прямое и обратное преобразование адресов, тем самым давая возможность выполнять подключение к серверам в Интернете с компьютеров в локальной сети.

Маскировка (MASQUERADE) применяется в тех же целях, что и SNAT, но в отличие от последней, MASQUERADE дает более сильную нагрузку на систему. Происходит это потому, что каждый раз, когда требуется выполнение этого действия - производится запрос IP адреса для указанного в действии сетевого интерфейса, в то время как для SNAT IP адрес указывается непосредственно. Однако, благодаря такому отличию, MASQUERADE может работать в случаях с динамическим IP адресом, т.е. когда вы подключаетесь к Интернет, скажем через PPP, SLIP или DHCP.

FILTER

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

Так же можно осуществлять фильтрацию по состоянию соединения. Допустимыми являются состояния NEW, ESTABLISHED, RELATED и INVALID. В таблице, приводимой ниже, рассматриваются каждое из возможных состояний.

Состояние

Описание

NEW

Признак NEW сообщает о том, что пакет является первым для данного соединения. Это означает, что это первый пакет в данном соединении, который увидел модуль трассировщика. Например если получен SYN пакет являющийся первым пакетом для данного соединения, то он получит статус NEW. Однако, пакет может и не быть SYN пакетом и тем не менее получить статус NEW. Это может породить определенные проблемы в отдельных случаях, но может оказаться и весьма полезным, например когда желательно "подхватить" соединения, "потерянные" другими брандмауэрами или в случаях, когда таймаут соединения уже истек, но само соединение не было закрыто.

RELATED

Состояние RELATED одно из самых "хитрых". Соединение получает статус RELATED если оно связано с другим соединением, имеющим признак ESTABLISHED. Это означает, что соединение получает признак RELATED тогда, когда оно инициировано из уже установленного соединения, имеющего признак ESTABLISHED. Хорошим примером соединения, которое может рассматриваться как RELATED, является соединение FTP-data, которое является связанным с портом FTP control, а так же DCC соединение, запущенное из IRC. Обратите внимание на то, что большинство протоколов TCP и некоторые из протоколов UDP весьма сложны и передают информацию о соединении через область данных TCP или UDP пакетов и поэтому требуют наличия специальных вспомогательных модулей для корректной работы.

ESTABLISHED

Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. Схема установки состояния ESTABLISHED достаточна проста для понимания. Единственное требование, предъявляемое к соединению, заключается в том, что для перехода в состояние ESTABLISHED необходимо чтобы узел сети передал пакет и получил на него ответ от другого узла (хоста). После получения ответа состояние соединения NEW или RELATED будет заменено на ESTABLISHED.

INVALID

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


2.3.2 Настройка VPN туннеля на основе протокола IPsec

Рис 6 каналы связи.

Основными конфигурационными файлами FreeS/WAN являются файлы:

* /etc/ipsec.conf;* /etc/ ipsec.secrets.

Для конфигурирования шлюзов виртуальной частной сети, организуемой с помощью FreeS/WAN, на обоих шлюзах необходимо выполнить следующие настройки.

Отредактируем в соответствии с нашими потребностями файл /etc/ipsec.conf.

В рассматриваемом примере:

# /etc/ipsec.conf - конфигурационный файл FreeS/WAN

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

# doc/examples исходных кодов.setup

# Сетевой интерфейс, используемый IPSec="IPSEC0=eth0"

# Запрет на выдачу отладочных сообщений

# all - включение выдачи отладочных сообщений=none=none

# Автоматическая установка соединений и аутентификация

# при запуске IPSec=%search=%search

# Параметры соединения между локальными сетями

# Название соединения (произвольная строка)Moscow_Fil

# Исходные данные для шлюза в Москвe

# IP адрес=212.45.28.123

# Описание локальной сети=192.168.150.0/24

# IP ближайшего к шлюзу в Москве роутера

# (может быть определен с помощью traceroute)=62.117.82.145

# Исходные данные для шлюза в филиале

# IP адрес=212.111.80.21

# Описание локальной сети=192.168.1.0/24

# IP ближайшего к шлюзу в филиале роутера=212.111.78.1

# Количество попыток проверки ключей

# 0 - до достижения положительного результата=0

# Тип аутентификации(AH или ESP)=ah

#Опции устанавливаемые для использования RSA-ключей =rsasig = =

# Устанавливать соединение при запуске IPSec=start

ЗАМЕЧАНИЕ Файлы на обоих шлюзах должны быть идентичны с точностью до значения параметра interfaces, которое должно соответствовать имени внешнего интерфейса шлюза.

В рассматриваемом примере файл /etc/ipsec.conf состоит из двух разделов.

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

Опция interfaces="IPSEC0=eth0" определяет сетевое устройство для интерфейса IPSec. В данном случае это первая сетевая карта. При использовании значения по умолчанию, т.е. interfaces=%defaultroute, в качестве сетевого интерфейса будет выбрано устройство, используемое для соединения с Интернет или локальной сетью.

Опция plutoload=%search определяет соединения, автоматически загружаемые в память при старте демона pluto. Значение опции по умолчанию none запрещает загрузку всех соединений, %search - загружает все соединения с установленным значением опции auto=start или auto=add. В качестве значения опции может использоваться имя соединения, например, plutoload=" Moscow-Fil" или список имен соединений, разделенных пробелами.

Опция plutostart=%search определяет соединения, автоматически устанавливаемые при старте демона pluto. Значение опции по умолчанию none запрещает установку всех соединений, %search - устанавливает все соединения с установленным значением опции auto=start. В качестве значения опции может использоваться имя соединения, например, plutoload="Moscow-Fil" или список имен соединений, разделенных пробелами.

Во втором разделе - conn Moscow-Fil - устанавливаются опции, имеющие отношение только к определенному соединению, в нашем примере, соединению с именем Moscow-Fil.

Опции left=212.45.28.123 и right=212.111.80.21 определяют, соответственно, IP-адрес шлюза в г. Москве и филиале.

Опция leftsubnet=192.168.1.0/24 определяет параметры локальных сетей в г. Москве и филиале.

Опция leftnexthop=62.117.82.145 и rightnexthop=212.111.78.1, соответственно, IP-адреса ближайших к шлюзам в г. Москве и в филиале роутеров.

Опция keyingtries=0 определяет максимальное количество попыток обмена ключами при установке соединения. Значение опции равное 0, устанавливаемое по умолчанию, предполагает неограниченное (до получения положительного результата) количество попыток.

Опция auth=ah определяет протокол аутентификации данных (AH или ESP).

Опция authby=rsasig используется для включения поддержки проверки подлинности соединения с использованием RSA-ключей.

Опция auto=start определяет операции, которые должны быть выполнены при запуске IPSec. При установке значения start - соединение должно быть установлено автоматически, add параметры соединения должны быть загружены в память./WAN поддерживает два формата ключей, используемых демоном pluto для проверки подлинности соединений длиной до 256 бит. Каждый из этих форматов требует определенных операций по созданию ключей и изменению конфигурационного файлов FreeS/WAN.

В случае использования RSA-ключей, необходимо выполнить следующие операции для файлов ipsec.conf и ipsec.secrets.

На шлюзе 212.45.28.123 в главном офисе:

ipsec rsasigkey --verbose 1024 > /root/moscow-key

На шлюзе 212.111.80.21 в филиале:rsasigkey --verbose 1024 > /root/fil-key

Затем редактируем строчку leftrsasigkey= в файле ipsec.conf дописывая туда полученным нами publickey из файла /root/moscow-key, в строчку rightrsasigkey= вписываем полученным нами publickey из файла /root/fil-key.

Для нормальной работы IPSec на обоих шлюзах должна быть выключена подсистема rp_filter, используемая для защиты от подмены IP-адреса. Для этого на каждом из шлюзов выполните:

echo 0 > /proc/sys/net/ipv4/conf/IPSEC0/rp_filter 0 > /proС/sys/net/ipv4/conf/eth0/rp_filter

2.4 Организация защиты информационной системы предприятия

.4.1 Политики безопасности

Управление групповой политикой в организациях, работающих со справочником AD компании Microsoft, на первый взгляд вещь совершенно несложная. Оно позволяет администраторам контролировать с центральной консоли изменения и разнообразные установки для всех пользователей и компьютеров в пространстве AD. Хотя функциональность Group Policy являлась неизменной составной частью ОС Windows, начиная с версии Windows 2000, она до сих пор имеет недостатки, способные серьезно испортить жизнь системному администратору. Например, в крупных доменах, управляемых несколькими администраторами, последним приходится соблюдать особую осторожность, ведь средства групповой политики AD весьма мощные и в режиме реального времени меняют установки, влияющие на каждый компьютер и на каждого пользователя в домене в режиме реального времени.

Основой групповой политики является использование ограничений прав доступа для пользователей. Что позволяет: