Идентификация брандмауэров
Почти каждый брандмауэр имеет свои отличительные особенности. Поэтому с помощью сканирования портов, инвентаризации и сбора идентификационных маркеров взломщики могут правильно определить тип, версию и набор правил практически каждого брандмауэра в сети. Почему так важна подобная идентификация? Как только вся эта информация будет получена, взломщик может приступать к ее анализу, поиску уязвимых мест и дальнейшему их использованию.
Прямое сканирование
Самый простой способ поиска брандмауэров заключается в сканировании определенных портов, используемых ими по умолчанию. Некоторые современные брандмауэры можно уникально идентифицировать, выполнив простое сканирование портов. Для этого необходимо лишь знать, что именно вы хотите найти. Например, брандмауэры Firewall-1 компании Checkpoint ожидают поступления запросов с TCP-портов 256, 257 и 258, a Proxy Server компании Microsoft обычно прослушивает TCP-порты с номерами 1080 и 1745. Обладая такой информацией, поиск этих типов брандмауэров окажется тривиальным, если воспользоваться сканером портов, таким как утилита nmap.
Контрмеры: защита от прямого сканирования
Способы предотвращения сканирования портов брандмауэра во многом совпадают с методами, рассмотренными в главе 2. Необходимо заблокировать попытки такого сканирования на пограничном маршрутизаторе или воспользоваться одним из средств выявления вторжений (свободно распространяемым или коммерческим). Однако и в этом случае нельзя предотвратить простое сканирование портов, поскольку по умолчанию большинство систем IDS не позволяет обнаружить подобную деятельность. Так что перед их использованием необходимо выполнить соответствующую настройку.
Обнаружение
Для того чтобы безошибочно обнаружить факт сканирования портов по случайному закону или с применением ложных узлов, нужно тонко настроить соответствующую сигнатуру. Для получения дополнительной информации по этому вопросу внимательно изучите документацию, входящую в комплект поставки используемой системы IDS.
Предотвращение
Для того чтобы предотвратить сканирование портов брандмауэра из Internet, нужно заблокировать эти порты на маршрутизаторе, расположенном перед брандмауэром. Если эти устройства управляются вашим провайдером услуг Internet, то этот вопрос придется согласовать с ним. Если же вы самостоятельно управляете маршрутизатором, то для явного блокирования попыток сканирования воспользуйтесь следующим списком ACL компании Cisco.
access-list 101 deny tcp any any eq 256 log! Если вы заблокируете порты Checkpoint (256-258) на пограничных маршрутизаторах, то не сможете управлять брандмауэром по Internet. Администратор Cisco может без особых проблем применить вышеперечисленные правила. Нужно просто перейти в режим редактирования параметров и ввести по очереди предыдущие строки. После этого необходимо выйти из режима редактирования и ввести команду write, чтобы внесенные изменения были внесены в конфигурационный файл. Кроме того, на всех маршрутизаторах в любом случае должно быть задано правило очистки (если они не препятствуют поступлению пакетов по умолчанию), которое имеет тот же смысл, что и приведенная ниже операция.
access-list 101 deny ip any any log! Отслеживание маршрута
Более скрытый и изощренный метод поиска брандмауэров в сети заключается в использовании утилиты traceroute. Для поиска каждого сегмента пути к целевому узлу можно воспользоваться утилитой traceroute системы UNIX или аналогичной утилитой tracert.exe системы NT. Затем на основании полученной информации можно сделать некоторые логические предположения. В версии утилиты traceroute из системы Linux имеется параметр -I, при указании которого для поиска сегментов будут посылаться пакеты ICMP, а не UDP-пакеты, используемые по умолчанию.
[sm]$ traceroute -I 192.168.51.100 Предыдущая команда предоставит большое количество информации, если маршрутизатор, расположенный между целевым сервером и компьютером взломщика, отвечает на пакеты, время жизни которых, определяемое значением TTL (Time-To-Live), истекло. Однако некоторые маршрутизаторы и брандмауэры настроены таким образом, что они не возвращают lCMP-пакеты в ответ на поступившие ICMP- и UDP-пакеты с истекшим временем TTL. Все, что в данном случае можно сделать, — это воспользоваться утилитой traceroute и посмотреть на последний сегмент полученного маршрута. Этот узел может оказаться полнофункциональным брандмауэром или, как минимум, первым маршутизатором пути, с которого началось блокирование пакетов с истекшим временем TTL. В приведенном ниже примере произошло блокирование передачи ICMP-пакетов источнику назначения. Как следствие, данные о маршрутизаторах, расположенных на пути к целевому узлу дальше маршрутизатора client-gw.smallisp.net, в полученной информации отсутствуют.
1 stoneface (192.168.10.33) 12.640 ms 8.367 ms Контрмеры: защита от отслеживания маршрута
Для того чтобы предотвратить получение информации с помощью утилиты traceroute, запретите передачу ответных пакетов на пакеты с истекшим временем TTL на всех брандмауэрах и маршрутизаторах, на которых это возможно. Однако помните о том, что полностью решить этот вопрос можно далеко не всегда, поскольку многие маршрутизаторы могут оказаться под управлениям вашего провайдера услуг Internet.
Обнаружение
Попытки получения маршрутов с использованием стандартных средств можно выявить на границах сети в процессе мониторинга ICMP- и UDP-пакетов со значением TTL, равным 1. Это можно осуществить с помощью пакета RealSecure 3.0, выбрав имя TRACE_ ROUTE среди параметров безопасности Security Events политики Network Engine Policy.
Предотвращение
Для того чтобы предотвратить возможность отслеживания маршрутов на границе сети, маршрутизаторы необходимо настроить таким образом, чтобы они не отправляли пакеты в ответ на сообщения с временем TTL, равным 0 или 1. На маршрутизаторах Cisco для этого можно воспользоваться следующим списком ACL.
access-list 101 deny ip any any 11 0 ! Время ttl истекло
Сбор маркеров
Сканирование портов позволяет определить местоположение брандмауэров, однако многие из них, подобно продуктам компаний Checkpoint и Microsoft, не прослушивают порты, установленные по умолчанию. Так что для подтверждения имеющихся сведений требуется получить дополнительные данные. В главе 3 подробно рассматривались методы получения имен запущенных приложений и их версий. Для этого необходимо подключиться к активным службам и извлечь связанные с ними идентификационные маркеры. Многие популярные брандмауэры предоставляют всю необходимую информацию сразу же после установки с ними соединения. Многие промежуточные узлы информируют злоумышленника о том, что они являются брандмауэрами, а некоторые из них дополнительно сообщают свой тип, а также версию. Например, при подключении с помощью утилиты netcat к порту 21 (FTP) узла, который, очевидно, является брандмауэром, можно получить некоторую важную информацию.
C:\>nc -v -n 192.168.51.129 21
C:\>nc -v -n 192.168.51.129 23
C:\>nc -v -n 192.168.51.129 25 Контрмеры: защита от сбора маркеров
Для того чтобы избежать утечки информации, необходимо ограничить количество данных, предоставляемых по внешним запросам. К каждому маркеру можно добавить также сообщение о юридической ответственности, а, кроме того, все попытки получения этой информации должны регистрироваться в системных журналах. Специфика изменения маркеров, используемых по умолчанию, сильно зависит от типа используемого брандмауэра, так что перед выполнением подобных действий внимательно прочтите документацию или проконсультируйтесь с производителем.
Предотвращение
Для того чтобы предотвратить возможность сбора маркеров злоумышленником и, как следствие, получение им подробной информации о брандмауэре, можно изменить соответствующие конфигурационные файлы. Конкретные рекомендации зависят от типа брандмауэра. Например, для брандмауэров Eagle Raptor можно модифицировать маркеры FTP и telnet, изменив файлы сообщений с событиями дня (message-of-the day) ftp.motd и telnet.motd.
|