Теория и практика файрволинга локальной сети. Часть вторая. Практика.

Теория и практика файрволинга локальной сети. Часть вторая. Практика.

Рассмотрим практическую реализацию данного подхода для фильтрации трафика в небольшой локальной сети. Сеть построена на основе продуктов Microsoft, содержит два контроллера домена, сервер Exchange, несколько файл - и принт-серверов, межсетевого экрана, WEB и SQL серверов.
7368 просмотров за 1 неделю

Продолжение, начало см. Теория и практика файрволинга локальной сети, Часть первая. Теория.

Рассмотрим практическую реализацию данного подхода для фильтрации трафика в небольшой локальной сети. Сеть построена на основе продуктов Microsoft, содержит два контроллера домена, сервер Exchange, несколько файл - и принт-серверов, межсетевого экрана, WEB и SQL серверов.

Перед настройкой IDS необходимо привязать RPC-службы фиксированным номерам портов. Для этого можно воспользоваться расширениями групповых политик при помощи административных шаблонов (файлы с расширением ADM). Пример подобного файла, который может быть использован для настройки служб сервера Exchange и котроллеров домена приведен ниже.

Файл rpcpm.adm

Данный файл следует подключить к административным шаблонам компьютера в редакторе групповой политики (Computer Configuration – Administrative Template – Add/Remove Template). По умолчанию, параметры шаблона в редакторе отображаться не будут. Это связанно с тем, что он модифицирует параметры ключей реестра находящихся за пределами HKLM\Software. Что бы произвести настройку параметров шаблона необходимо включить режим отображения устаревших политик. Для этого в меню «View» снимается выделение с пункта «Show Policies Only». В Windows Server 2003 необходимо открыть пункт меню «View – Filtering» и снять выделение с пункта «Only show policy settings that can be fully managed».

В качестве NIDS используется бесплатная система обнаружения атак Snort (www.snort.org). Поскольку разрабатывалась эта система для UNIX систем (хотя существуют реализации и для Windows) , то в качестве базовой ОС для построения системы используется Linux Red Hat 7.2. Snort имел возможность работы с функцией разрыва соединений необходимо откомпилировать его с поддержкой функции Flexible Response.

Затем настраивается файл конфигурации системы snort.conf:

#<1>
var HOME_NET 10.1.0.0/32
var EXTERNAL_NET any
var RULE_PATH /rules
#<1>

#<2>
preprocessor frag2
preprocessor stream4: detect_scans, disable_evasion_alerts
preprocessor stream4_reassemble
#<2>

#<3>
config order: pass alert log
#<3>

#<4>
include $RULE_PATH/permit.rules
#<4>
В секции 1 определяются основные переменные – путь к файлам правил, адреса внутренней и внешней сети. В секции 2 подключаются препроцессоры сборки фрагментированных пакетов и сессий. Секция 3 описывает порядок обработки правил IDS: первыми будут обрабатываться правила, пропускающие пакет. В секции 4 подключается файл permit.rules, содержащий правила фильтрации трафика. Файл permit.rules:
# Firewall rules for snort
# (c) Sergey V. Gordeychik 2003
# offtopic@mail.ru

#<1>
var DCS [10.1.1.3,10.1.1.254]
var EXCHANGE [10.1.1.2]
var PROXY [10.1.1.253]
var SQL [10.1.1.7]
var WEB [10.1.1.10]
var LINUX [10.1.1.4]
var ADMINS [10.1.1.25]
var FILESRV [10.1.1.5,10.1.1.12,$DCS,$SQL]
# remove $SQL if servers user TCP/IP only

var DNSSRV [$DCS]
var DNSSRV_EXT [$PROXY]
var WINSSRV [$DCS]
var RPC [$DCS,$EXCHANGE]

var SERVERS [$PROXY,$FILESRV,$DNSSRV,$EXCHANGE,$WEB,$SQL]
var PASS [$DCS,$EXCHANGE]
#<1>


#<2>

# Filters for DNS
pass tcp $HOME_NET 1024: -> $DNSSRV 53  
pass udp $HOME_NET 1024: -> $DNSSRV 53 
pass udp $DNSSRV 53 -> $HOME_NET 1024: 
pass udp $DNSSRV 1024: -> $DNSSRV_EXT 53
$DNSSRV_EXT 53 -> pass udp $DNSSRV 1024: 

# Filters for LDAP
pass tcp $HOME_NET 1024: -> $DCS 389 
pass udp $HOME_NET 1024: -> $DCS 389
pass udp $DCS 389 -> $HOME_NET 1024: 

# Filter for Kerberos
pass tcp $HOME_NET 1024: -> $DCS 88 
pass udp $HOME_NET 1024: -> $DCS 88
pass udp $DCS 88 -> $HOME_NET 1024:

# Filter for SNTP
pass tcp $HOME_NET 1024: -> $DCS 123 
pass udp $HOME_NET 1024: -> $DCS 123
pass udp $DCS 123 -> $HOME_NET 1024:
pass udp $DCS 1024: -> $PROXY 123:
pass udp $PROXY 123 -> $DCS 1024:

# Filter for WINS
pass tcp $HOME_NET 1024: -> $WINSSRV 1512 
pass udp $HOME_NET 1024: -> $WINSSRV 1512
pass udp $WINSSRV 1512 -> $HOME_NET 1024:

# Filters for RPC
pass tcp $HOME_NET 1024: -> $RPC 135 
pass udp $HOME_NET 1024: -> $RPC 135
pass udp $RPC 135 -> $HOME_NET 1024: 
pass tcp $HOME_NET 1024: -> $DCS 1026 

# Filters for Exchange
pass tcp $HOME_NET 1024: -> $EXCHANGE 2000 
pass tcp $HOME_NET 1024: -> $EXCHANGE 2001 
pass tcp $HOME_NET 1024: -> $EXCHANGE 2002 
pass udp $EXCHANGE 1024: -> $HOME_NET 1024:

# Filter for CIFS/SMB/NETBIOS
pass tcp $HOME_NET 1024: -> $FILESRV 445 
pass udp $HOME_NET 1024: -> $FILESRV 445 
pass udp $FILESRV 445 -> $HOME_NET 1024:
pass tcp $HOME_NET 1024: -> $FILESRV 137 
pass udp $HOME_NET 1024: -> $FILESRV 137 
pass udp $FILESRV 137 -> $HOME_NET 1024:
pass udp $HOME_NET 1024: -> $FILESRV 138
pass udp $FILESRV 138 -> $HOME_NET 1024:
pass tcp $HOME_NET 1024: -> $FILESRV 139 
pass udp $HOME_NET 1024: -> $FILESRV 139
pass udp $FILESRV 139 -> $HOME_NET 1024:

# NEBIOS broadcasts
pass udp $HOME_NET 137 -> 255.255.255.255 137
pass udp $HOME_NET 138 -> 255.255.255.255 138

# Filter for HTTP
pass tcp $HOME_NET 1024: -> $WEB 80 

# Filter for SQL
pass tcp $HOME_NET 1024: -> $SQL 1433
pass udp $HOME_NET 1024: -> 255.255.255.255 1434
pass udp $SQL 1434: -> $HOME_NET 1024:


# Filter for SMTP 
pass tcp $EXCHANGE 1024: -> $PROXY 25 
pass tcp $PROXY 1024: -> $EXCHANGE 25

# Filter for remote control (RDP)
pass tcp $ADMINS 1024: -> $SERVERS 3369 

# Filter for remote control (SSH)
pass tcp $ADMINS 1024: -> $LINUX 22 

# Filters for ICMP
pass icmp $HOME_NET any -> $DCS any

# Filters for PROXY
pass tcp $HOME_NET 1024: -> $PROXY 8080

#<2>

#<3>

# Passthrought
pass tcp $PASS any -> $PASS any
pass udp $PASS any -> $PASS any
pass icmp $PASS any -> $PASS any

#<3>



#<4>
alert tcp any any -> any any (flags: !R; msg: "Bad TCP connection"; \
 flow: to_server; resp:rst_all;)
alert udp any any -> any any (msg: "Bad UDP packet"; \
resp: icmp_port,icmp_host;)
alert icmp any any -> any any (msg: "Bad ICMP packet";)
#<4>
В секции 1 файла permit.rules описываются сетевые адреса серверов в зависимости от той роли, которую они выполняют в корпоративной сети. Серверы могут принадлежать нескольким группам. Например, в группу FILESRV так же включаются контроллеры домена, использующей общие папки для хранения групповых политик и серверы баз данных, в случае поддержки ими сетевой библиотеки Named Pipes.

Секция 2 содержит собственно фильтры, описывающие разрешенный трафик. Фильтр начинается с ключевого слова pass (пропустить), содержит адрес и номер порта отправителя и получателя пакета. В приведенном примере для большинства протоколов предусмотрена возможность взаимодействия как по TCP, так и по UDP. Однако в реальных сетях следует, где возможно, отказаться от использования UDP как от менее надежного протокола.

При запуске системы необходимо указать опцию –o, требующую использования порядка применения правил, описанного в файле конфигурации. Для запуска IDS в режиме системно службы используется опция –D. В большинстве случаев команда запуска будет выглядеть следующим образом:

# snort –c /etc/snort/snort.conf –o –D 
Информация о попытках нарушения политики фильтрации трафика будет сохраняться в файле /var/log/snort/alert.

Учебный центр "Информзащита" http://www.itsecurity.ru - ведущий специализированный центр в области обучения информационной безопасности (Лицензия Московского Комитета образования № 015470, Государственная аккредитация № 004251). Единственный авторизованный учебный центр компаний Internet Security Systems и Clearswift на территории России и стран СНГ. Авторизованный учебный центр компании Microsoft (специализация Security). Программы обучения согласованы с Гостехкомиссией России, ФСБ (ФАПСИ). Свидетельства об обучении и государственные документы о повышении квалификации.

Компания SoftKey – это уникальный сервис для покупателей, разработчиков, дилеров и аффилиат–партнеров. Кроме того, это один из лучших Интернет-магазинов ПО в России, Украине, Казахстане, который предлагает покупателям широкий ассортимент, множество способов оплаты, оперативную (часто мгновенную) обработку заказа, отслеживание процесса выполнения заказа в персональном разделе, различные скидки от магазина и производителей ПО. (с)oded by offtopic@mail.ru 2004

Теория струн? У нас целый оркестр научных фактов!

От классики до авангарда — наука во всех жанрах

Настройтесь на нашу волну — подпишитесь