Второй, сетевой, уровень сбора данных состоит из записи и анализа всех пакетов, путешествующих в сети. На этом уровне собирается информация двух видов: предупреждения о подозрительных сигнатурах и полезная нагрузка пакетов. Предупреждения означают процесс поиска подозрительных или злонамеренных действий на основании использования сигнатур пакетов. После того как таковые определяются, может быть послано извещение администратору. Полезная нагрузка пакетов очень важна для анализа данных, так как они говорят нам о том, какие именно действия совершаются в сети. Как правило, эти две функциональных особенности сочетаются с системой обнаружения вторжения, так как большинство подобных систем могут и записывать всю полезную нагрузку пакетов, и высылать предупреждения на основании подозрительных сигнатур. Команда Honeynet Project успешно работала с IDS Snort - бесплатной открытой IDS (http://xvww.snort.org). Забавно, но важными оказались не возможности предупреждения IDS, а возможность записи данных. Запомните, что основная задача IDS заключается в том, чтобы определить подозрительные действия и предупредить о них. По определению; любые действия по отношению к Honeynet или исходящие из нее подозрительны, так что процесс предупреждения становится простым. Что действительно важно, так это возможность записывать пакеты в простом для анализа формате. Эта информация необходима для анализа данных, который мы проводим в главе 5. Следовательно, мы настраиваем нашу IDS, в данном случае Snort, так, чтобы записывать и хранить данные в трех форматах:
1. Во-первых, мы настраиваем Snort так, чтобы она оповещала нас о лю
бом подозрительном поведении (что является традиционной задачей
системы обнаружения вторжения). Эти предупреждения посылаются
через программу syslogd на сервер регистрации/предупреждения
в административной сети. О том, как мы сконфигурировали Snort, рас
сказывается в приложении А. Предупреждения хранятся в централизо
ванном системном журнале (/var/log/messages), за которым постоянно
наблюдает программа Swatch. Она просматривает системный журнал
в режиме реального времени, а в случае обнаружения определенных
предупреждений пересылает их администратору по электронной по
чте и архивирует в однородном файле. Файл конфигурации Swatch
приведен в приложении В. Ниже показан пример извещения Snort
об анонимном соединении FTP.
2. Во-вторых, Snort записывает каждый пакет, исходящий из сети, и его
полную полезную нагрузку, после чего сохраняет эти данные в двоичном формате. Затем собранные данные будут использованы для дальнейшего анализа. В приложении А рассказывается о том, как мы запускаем Snort, чтобы записывать весь сетевой трафик в двоичном формате. Это может оказаться сложным для многих организаций, так как ежедневно накапливаются сотни и даже тысячи мегабайт данных. И снова выручает простота Honeynet. В среднем Honeynet Project собирает 1-10 Мб сетевой информации в день. Этот небольшой объем значительно упрощает анализ. Двоичные системные журналы могут снабдить нас подробной информацией о сетевом трафике. Ниже приводится пример анонимного соединения FTP.
Соединения устанавливаются с сервером Microsoft FTP, логин anonymous и пароль guest@here.com:
3. Мы также сконфигурировали Snort, чтобы она конвертировала любую информацию в формате ASCII, найденную в пакетах, в легкий для чтения однородный файл, который называется врезкой сеанса связи (session breakout). Это великолепно подходит для быстрого анализа сеансов связи с открытым текстом, таких как FTP, TELNET или IRC. Записи пакетов хранятся в IDS, защищенной, доверенной системе. Вы можете обратиться к тхрило:же1г1ию A^, где рассказывается, как
мы настроили файл конфигурации Snort, чтобы он записывал все эти данные. Преобразованный код ASCII из предыдущего пакета, который является зондом для проверки NT, присланным с анонимного FTP-сервера, будет выглядеть следующим образом:
220 lab Microsoft FTP Service (Version 4.0).
331 Anonymous access allowed, send identity (e-mail name) as password.
PASS guest@here.com
230 Anonymous user logged in.
CM) /pub/
550 /pub: The system cannot find the file specified.
CM) /pubHc/
550 /public: The system cannot find the file specified.
CM) /pub/incoming/
550 /pub/incoming: The system cannot find the path specified.
CM) /incoming/
550 /incoming: The system cannot find the file specified.
CWD /_vti_pvt/
550 /_vti_pvt: The system cannot find the file specified.
550 /_vti_pvt: The system cannot find the file specified.
CWD /
250 CWD command successful.
MKD 010108135706p
550 01010813S706p: Access is denied.
CWD /upload/
S50 /upload: The system cannot find the file specified.
Наша IDS теперь записала данные в трех видах. Первый вид - предупреждение о подозрительных действиях. Такие предупреждения информируют администратора о происходящем в режиме реального времени. Второй вид - запись всех пакетов, входящих и выходящих из сети, и их полезной нагрузки. Эта информация хранится в бинарном файле и может быть востребована для подробного анализа. Третий уровень данных - это вся информация в формате ASCII, такая как комбинации клавиш или сеансы IRC, которая хранится в отдельном однородном файле ASCII.
Перехватчик пакетов (sniffer) можно разместить в любом из нескольких мест. Например, на брандмауэре. Так как все данные проходят через брандмауэр, он представляет собой отличное место для записи потоков информации. Однако запуск такого приложения может подвергнуть брандмауэр риску. Тот, кто может взломать программу записи пакетов, сумеет взломать и брандмауэр, так как они функционируют в одной и той же системе. Существуют инструменты, которые могут взламывать уязвимые модули проверки текущего состояния, например snoop (GETQUOTA), Buffer Overflow Vulnerability (Bugtraq ID 864). При наличии ресурсов более безопасное решение - создание специализированной IDS, которая может записывать весь трафик сети. Очень важно, чтобы записывался весь трафик: как входящий/исходящий из Honeynet, так и потоки между системами honeypot в пределах Honeynet. После того как honeypot будет взломана, нарушитель наверняка попытается напасть и на другие системы, входящие в Honeynet. Эта информация также должна фиксироваться. Вот еще одна причина для создания специализированной IDS, поскольку ни брандмауэр, ни системы контроля доступа записать эти данные не смогут.
У IDS на рис. 3.1 имеются два интерфейса. Интерфейс, соединенный с сетью Honeynet, записывает все потоки данных в сети. Если он подсоединен к коммутатору, как на рис. 3.1, убедитесь, что включено размножение портов. Это позволит IDS улавливать весь трафик, пересылаемый в ее сегменте. С этим интерфейсом не должен быть связан IP-стек или IP-адрес. Это дает гарантию того, что на IDS не нападут на уровнях IP. Второй интерфейс, соединенный с административной сетью, дает возможность удаленного администрирования IDS, а также способствует защищенной отправке предупреждений.