Россия, Москва, Московский Государственный Открытый Университет, 2007 |
Анализаторы сетевых потоков
И многое другое :
Как видим, Snort является чрезвычайно конфигурируемым и разносторонним IDS. Вы можете обновлять правила самыми последними сигнатурами с сайта http://www.snort.org и относительно легко создавать свои собственные. И вы определенно не найдете ничего лучшего.
Однако в использовании Snort есть несколько недостатков. Один из недостатков состоит в том, что его файлы регистрации и предупреждений довольно трудно интерпретировать, независимо от того, какое средство вывода вы используете. К счастью, несколько сторонних приложений, таких как Demarc, ACID и SnortSnarf позволяют создавать отчеты и производить структурный анализ данных Snort. Вам определенно потребуется одно из этих приложений, чтобы ежедневно продолжать свою деятельность по обнаружению вторжений.
Может потребоваться, чтобы ваш инструмент IDS активно пресекал некоторые виды деятельности, как только он их обнаружит (закрытие порта или блокировка IP-адреса). Изначально Snort этого не делает. Опять же, для выполнения этих задач доступны некоторые приложения (такие как Guardian и Hogwash).
Администрирование файлов правил и установка нескольких датчиков Snort может быть трудным делом для новичков. Однако не мучайтесь, потому что существуют сторонние приложения, которые обеспечивают более передовые способы администрирования. Все эти приложения можно загрузить с сайта http://www.snort.org/downloads-other.html.
Видно, что заставить Snort работать с оптимальной эффективностью на начальном этапе достаточно сложно. Но как только вы установите и сконфигурируете различные части так, как вам надо, Snort станет непобедим.
Пример из жизни. Слежка за внутренним пользователем
Предположим, вы получаете телефонный звонок от одного из ваших пользователей, который жалуется, что ему не удается обратиться к Web-сайту суперновостей. Вы спрашиваете его, какое сообщение дает его броузер, и он отвечает: "Ошибка 403 - запрещен". Услышав это, вы говорите ему: "Хорошо, раз вы получили это сообщение, значит, броузер делает сетевое подключение к серверу, но сервер не посылает назад Web-страницу, как должно". Вы обвиняете в этом хозяев сайта суперновостей и советуете ему немного подождать. В течение дня вы продолжаете получать звонки о сайте суперновостей и непрерывно отвечаете звонящим, что вы ничего не можете сделать. Наконец, одна из ваших пользователей звонит вам и сообщает, что она смогла обратиться к этому сайту со своей, вызываемой по телефону учетной записи, но не из офиса. Это кажется неправдоподобным. Вы набираете свою собственную телефонную учетную запись и обнаруживаете, что она права; получается, что запрещен только трафик из этого офиса.
Вы находите контактную информацию Web-мастера сайта суперновостей и посылаете ему по электронной почте сообщение о возникшей проблеме. Вскоре вы получаете довольно грубый и краткий ответ, утверждающий, что кто-то с вашего IP-адреса злоупотребил Web-сервером и сетью суперновостей, выполняя сканирование портов, засылая саморазмножающиеся сетевые вирусы и даже применяя средства взлома (exploits) CGI (Common Gateway Interface - стандартный интерфейс обмена данных) против Web-сервера. Ваш IP был запрещен до тех пор, пока человек, ответственный за эту деятельность, не прекратит ее.
К сожалению, у вас нет возможности узнать, кто этот злоумышленник. Файлы регистрации вашего брандмауэра установлены так, чтобы делать запись любого поступающего трафика, но в настоящее время вы не контролируете выходящий трафик. Вы подавляете свою гордость и признаетесь мастеру сайта суперновостей, что вы не имеете никаких файлов регистрации, по которым можно найти преступника. Вы просите его восстановить ваш IP-адрес с обещанием, что впредь будете внимательно контролировать деятельность, исходящую из вашей сети так, чтобы преступник мог быть найден и призван к порядку. Web-мастер неохотно соглашается на ваше предложение.
Ваши пользователи снова довольны, но теперь вы должны поработать на своем конце этой сделки. Начинается работа детектива: кто пробует взломать super_news.com?
Tcpdump: установка западни. Даже при том, что вы хорошо осознаете, что внутренний злоумышленник мог бы участвовать в подлых действиях и против других сайтов, ваша главная забота касается отслеживания любой деятельности, направленной к сайту суперновостей. Легче всего установить на своей сети анализатор сетевых потоков (sniffer), который будет просматривать весь уходящий трафик, отыскивая пакеты, предназначенные для IP-адреса Web-сервера суперновостей.
Поскольку в офисе вы используете преобразование сетевых адресов (NAT), с внешней стороны кажется, что весь ваш интернет-трафик исходит с единственного IP-адреса. Вы должны поместить свой анализатор перед NAT-блоком, чтобы видеть частные IP-адреса машин, говорящих с сайтом суперновостей. Кроме того, поскольку ваша сеть функционирует в коммутируемой среде, вы должны удостовериться, что блок вашего анализатора присоединен к порту коммутатора, который сконфигурирован для управления портами. Вы также должны удостовериться, что дата и время на блоке вашего анализатора точны, так, чтобы вы знали не только "кто" и "что" делал, но и "когда" делал.
После того, как вы все это сделали, проще всего использовать tcpdump. Вы набираете в командной строке:
tcpdump -w perp.dump dst host www.super_news.com -s 512
Эта команда вынуждает tcpdump делать запись только первых 512 байтов уходящих пакетов, предназначенных для Web-сервера суперновостей. Не ограничиваясь запросами к порту 80, вы могли бы зафиксировать любой другой вид сканирования портов или деятельности, направленной на взлом сайта суперновостей.
Поскольку вы записываете пакеты в двоичном файле, с именем perp.dump, то можете анализировать его позже и отфильтровать данные по дополнительным характеристикам, чтобы помочь классифицировать данные. Вы оставляете анализатор выполняться в фоновом режиме работы и ждете, что злоумышленник снова начнет действовать.
Ethereal: идентификация подозреваемого. Через несколько дней после установки западни вы получаете еще один звонок от одного из ваших пользователей, сообщающий, что сайт суперновостей опять выключен. Вы делаете проверку и убеждаетесь, что суперновости снова блокировали доступ к своему сайту с вашего IP-адреса. Вам хотелось бы зафиксировать действия хакера раньше, чем это сделали суперновости, но, по крайней мере, вы знаете, что теперь в файле дампа tcpdump у вас достаточно информации, чтобы выяснить, кто ответствен за эти действия.
Вы останавливаете работу утилиты tcpdump и сначала просматриваете файл perp.dump, используя команду tcpdump -r perp.dump. Сначала все, что вы можете видеть - это огромное количество запросов, идущих через порт 80, которые все кажутся нормальным и подлинным. Поэтому вы решаете посмотреть, какие запросы были сделаны не через порт 80, набрав команду tcpdump -r perp.dump not dst port 80. Вы видите некоторые ping-прослушивания с нескольких различных IP-адресов, а также подключение через порт 21 с локального IP-адреса 10.10.4.24. Суперновости могли бы иметь анонимную FTP-службу на этом блоке, так что он мог бы быть законным. Но секундой позже вы видите попытки telnet-подключения через порт 23 с того же самого IP-адреса. Итак, вы получаете вашего первого подозреваемого!
Затем вы захотите выяснить, до чего этот парень добрался; но вы знаете, что использование tcpdump из командной строки будет грубым, даже при использовании опции -X. Вместо этого вы делаете копию файла perp.dump и переносите ее на свою станцию Windows. Загружаете этот файл в Ethereal и готовите фильтр отображения для IP-адреса 10.10.4.24. Используя Ethereal, вы сможете выбрать и щелкнуть на каждом пакете, который был послан суперновостям. Рассматривая TCP-порты и метки времени, вы замечаете, что были выполнены несколько различных сканирований портов. Используя свойство пакета выдавать график производительности, вы получаете информацию относительно того, в какое время запускались атаки с адреса 10.10.4.24. И вы видите, что наиболее интенсивная деятельность происходила вчера ночью в 3:00 и, вероятнее всего, послужило катализатором для вторичного помещения вашего IP-адреса в черный список суперновостей.
Сосредоточившись на этом периоде - 3:00, вы используете инструмент "Follow TCP Stream" (Сопровождение TCP-потока), чтобы увидеть, что еще делал пользователь. Вы видите несколько попыток взлома с помощью CGI, которые были, очевидно, выполнены из скрипта, потому что много попыток сделано за короткий промежуток времени. Вы также видите, что пользователь пробовал применить грубую силу для получения учетной записи при проникновении в telnet, но потерпел неудачу. Теперь у вас достаточно информации, чтобы встретиться с преступником, но вы беспокоитесь, что файл perp может содержать информацию и о других попытках, кроме деятельности, характерной для неквалифицированных взломщиков "script-kiddy" и атак типа отказов в обслуживании (Denial-of-Service). Для начала вы блокируете посылку любого трафика уходящего к суперновостям с адреса 10.10.4.24. Теперь пришло время установить анализатор сетевых потоков (sniffer), специально нацеленный на его IP-адрес, чтобы определить, что еще делает злоумышленник.
Dsniff: сбор улик. Вы сверяетесь с политикой защиты личной информации, которой придерживается ваша компания, чтобы удостовериться, что вы имеете право следить за действиями этого пользователя при использовании оборудования компании и сетевых ресурсов. Как только вы убедились, что действительно имеете такое право, вы решаете использовать dsniff -утилиты перехвата инструмента dsniff, чтобы перехватить его сообщения электронной почты (mailsnarf), разговоры в чате (msgsnarf), посещения Web-сайтов (urlsnarf) и NFS-передачи (filesnarf).
Вы перехватываете сообщения электронной почты и мгновенные сообщения человеку со скрытым именем и адресом электронной почты SNSux. Ваш пользователь сообщает своему другу, что он запустил набор скриптов, которые он нашел в интернете, против сайта суперновостей, и хвастается, что ему уже дважды удалось сломать Web-сервер суперновостей. Очевидно, что преступник знает о взломе и сетях только ту информацию, которой достаточно, чтобы самому заиметь неприятности, поскольку он перепутал попадание адреса в черный список суперновостей, с отказом Web-сервера сайта суперновостей от обслуживания в результате собственных "успешных" действий.
Вы перехватываете ответы от SNSux, который сообщает, что он никогда не видел, чтобы Web-сайт сломался, но что у него есть друг из числа внутренних пользователей, который мог бы предоставить для них надежный вход в систему сети суперновостей. Это могло бы иметь серьезные последствия. Вы быстро понимаете, что выходите из "своей лиги" и скоро должны войти в контакт с властями. Вы собираете всю свою информацию и входите в контакт с web-мастером суперновостей по поводу ваших находок. Затем вы отдаете эти результаты своему менеджеру отдела, который убеждает вас, что проблема будет решена должным образом.
IDS: извлечение уроков. После недавних событий вы понимаете, что были хорошо подготовлены к любым внешним нападениям, входящим в вашу сеть, но вы совсем не были готовы к тому, чтобы ловить внутренних пользователей, совершающих внешние нападения. Вы устанавливаете IDS на вашей внутренней сети, и инструмент будет искать такие действия, как выходящее сканирование портов, CGI-нападения, попытки вызвать отказ в обслуживании (Denial-of-Service) и другое нежелательное в сети поведение. Это поможет в будущем избежать попадания в черный список.