Опубликован: 20.02.2006 | Уровень: специалист | Доступ: платный
Лекция 6:

Сетевые анализаторы

Особенности применения сетевых анализаторов

Чтобы применять сетевые анализаторы этично и продуктивно, необходимо выполнять следующие рекомендации.

Всегда получайте разрешение

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

Разберитесь в топологии сети

Прежде чем настраивать анализатор, убедитесь, что вы полностью понимаете физическую и логическую организацию вашей сети. Проводя анализ в неправильном месте сети, вы либо получите ошибочные результаты, либо не сможете увидеть то, что ищете. Проверьте, что между анализирующей рабочей станцией и тем, что вы собираетесь наблюдать, нет маршрутизаторов. Маршрутизаторы будут направлять трафик в сегмент сети, только если происходит обращение к расположенному там узлу. Аналогично, если вы находитесь в коммутируемой сети, вам понадобится сконфигурировать порт, к которому вы подключились, как порт "монитора" или "зеркала". Разные производители используют различную терминологию, но по сути вам необходимо, чтобы порт действовал как концентратор, а не как коммутатор, так как он должен видеть весь трафик, идущий через коммутатор, а не только тот, что направлен на вашу рабочую станцию. Без такой настройки порт монитора будет видеть только то, что направлено в порт, к которому вы подключены, и сетевой широковещательный трафик.

Используйте жесткие критерии поиска

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

Установите эталонное состояние сети

Применив сетевой анализатор во время нормальной работы и записав итоговые результаты, вы получите эталонное состояние, которое можно сравнивать с результатами, полученными во время попыток выделения проблемы. Анализатор Ethereal, рассматриваемый в этой лекции, создает для этого несколько удобных отчетов. Вы получите также некоторые данные для отслеживания использования сети в зависимости от времени. При помощи этих данных можно определить, когда сеть насыщается и каковы основные причины этого - перегруженный сервер, рост числа пользователей, изменение типа трафика и т.п. Если есть точка отсчета, проще понять, кто и в чем виноват.

Tcpdump: Анализатор трафика Ethernet

Tcpdump

Автор/основной контакт: University of California, Lawrence Berkeley Laboratories

Web-сайт: http://www.tcpdump.org

Платформы: Большинство UNIX-платформ

Лицензия: BSD

Рассмотренная версия: 3.8.1

Списки почтовой рассылки:

tcpdump-announce@tcpdump.org

Это список только для объявлений.

tcpdump-workers@tcpdump.org

Этот список для обсуждения программ. По нему также рассылаются объявления, поэтому, если вы в него входите, вам нет нужды подписываться на первый список.

Оба списка архивируются, поэтому вы можете выполнять поиск среди старых сообщений. Список обсуждения программ доступен также в формате еженедельного итогового дайджеста.

Существует много доступных анализаторов - как свободных, так и коммерческих, но Tcpdump доступен наиболее широко и недорог. Он поставляется с большинством дистрибутивов UNIX, включая Linux и BSD. На самом деле, если у вас достаточно свежий дистрибутив Linux, то, весьма вероятно, что вы уже имеете установленный и готовый к употреблению Tcpdump.

Установка Tcpdump

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

  1. Чтобы анализатор Tcpdump работал, он должен иметь возможность перевести сетевую плату в так называемый режим прослушивания (или неразборчивый режим - promiscuous mode). Это означает, что сетевая плата будет перехватывать весь трафик Ethernet, а не только тот, что адресован ей. Каждая операционная система по-своему обрабатывает трафик платы Ethernet. Чтобы предоставить общую ссылку для программистов, была создана библиотека pcap. В UNIX она называется libpcap, а в Windows - WinPcap. Эти низкоуровневые драйверы могут изменять способ, которым плата обычно обрабатывает трафик. Они должны быть установлены до Tcpdump.

    Если Tcpdump уже присутствует в системе, то установлены и драйверы. В противном случае возьмите их из каталога misc на компакт-диске, приложенном к этой книге, или с Web-сайта Tcpdump. Не забудьте установить их перед установкой Tcpdump.

    Примечание: Для libpcap требуются также интерпретируемые языки Flex и Bison или, в качестве замены, - Lex и Yacc. Если у вас их нет, найдите их на дистрибутивном диске своей операционной системы или в Сети, и установите, чтобы установка libpcap прошла успешно.

  2. Установите libpcap, распаковав ее и выполнив стандартные команды компиляции:
    ./configure
    make
    make install

    Если во время компиляции вы получите предупреждение вида "Cannot determine packet capture interface" ("Невозможно определить интерфейс перехвата пакетов"), то ваша сетевая плата не поддерживает режим прослушивания, и для применения Tcpdump придется взять другую плату. Большинство современных плат должны поддерживать этот режим.

  3. После установки libpcap распакуйте пакет Tcpdump и перейдите в его каталог.
  4. Выполните те же команды компиляции:
    ./configure
    make
    make install

    Tcpdump готов к употреблению.

Запуск Tcpdump

Существует ряд операций для фильтрации вывода, чтобы найти определенный тип трафика или снизить общий объем вывода. На самом деле, в активно используемой сети нефильтрованный вывод Tcpdump будет пролетать на экране быстрее, чем вы сможете его прочитать! Однако прямо сейчас для демонстрации возможностей Tcpdump запустим его из командной строки, набрав просто

tcpdump

Вы увидите весь нефильтрованный трафик TCP, проходящий через плату Ethernet вашей машины. Он может выглядеть примерно так, как в примере на листинге 6.1.

12:25:38.504619 12.129.72.142.http > 192.168.1.3.3568: . ack 1418369642 
 win 31856 <nop,nop,timestamp 72821542 25475802> (DF)
12:25:38.504758 192.168.1.3.3568 > 12.129.72.142.htt: . ack 1 
 win 40544 <nop,nop,timestamp 25486047 72811295> (DF)
12:25:38.507753 192.168.1.3.4870 > 65.83.241.167.domain: 11414+ PTR? 1
 42.72.129.12.in-addr.arpa. (44) (DF)
12:25:38.561481 65.83.241.167.domain > 192.168.1.3.4870: 11414 NXDomain*- 0/1/0 (113)
12:25:38.562754 192.168.1.3.4870 > 65.83.241.167.domain: 11415+ PTR? 
 3.1.168.192.in-addr.arpa. (42) (DF)
12:25:38.609588 65.83.241.167.domain > 192.168.1.3.4870: 11415 NXDomain 0/1/0 (119)
12:25:38.610428 192.168.1.3.4870 > 65.83.241.167.domain: 1416+ PTR? 
 167.241.83.65.in-addr.arpa. (44) (DF)
12:25:38.649808 65.83.241.167.domain > 192.168.1.3.4870: 11416 1/0/0 (69)
12:25:43.497909 arp who-has 192.168.1.1 tell 192.168.1.3
12:25:43.498153 arp reply 192.168.1.1 is-at 0:6:25:9f:34:ac
12:25:43.498943 192.168.1.3.4870 > 65.83.241.167.domain: 11417+ PTR? 
 1.1.168.192.in-addr.arpa. (42) (DF)
12:25:43.533126 65.83.241.167.domain > 192.168.1.3.4870: 11417 NXDomain 0/1/0 (119)
12:25:44.578546 192.168.1.1.8783 > 192.168.1.255.snmptrap: Trap(35) 
 E:3955.2.2.1 192.168.1.1 enterpriseSpecific[specific-trap(1)!=0] 43525500[|snmp]
Листинг 6.1. Пример выдачи Tcpdump

На первый взгляд, выдача кажется запутанной, но если разбить ее на составляющие, то смысл начинает проясняться. Первое число является временной меткой с точностью до долей секунды, так как в активно используемой сети каждую секунду проходит множество пакетов. Следующее число - это IP-адрес отправителя пакета, за которым следует > (знак больше), а затем целевой адрес. Наконец, могут присутствовать некоторые комментарии и другие данные. В примере можно видеть несколько различных видов трафика, включая трафик DNS (domain), ARP и SNMP.

По умолчанию Tcpdump выполняется, пока не будет остановлен нажатием Ctrl+C или другим сигналом прерывания. Когда Tcpdump останавливается, он выдает сводные данные о просмотренном трафике, включая:

  • пакеты, полученные фильтром. Это количество пакетов, обработанных фильтром Tcpdump, а не общее число пакетов TCP в сети, если только вы не выполняете Tcpdump без критериев фильтрации;
  • пакеты, отброшенные ядром. Число пакетов, которые были отброшены в связи с отсутствием ресурсов в системе. Эта возможность поддерживается не всеми системами. Даже когда она поддерживается, число может быть неточным, если сеть очень загружена или машина анализатора очень медленная.
Роман Попов
Роман Попов

После прохождения курса Стандарты инфрмационной безопасности мне предложено получение Удостоверения о повышении квалификации от НИУ ВШЭ по программе Менеджмент информационной безопасности. Программа включает в себя ряд курсов которые я уже ранее проходил. Какой порядок действий в данном случае? Как прозводится перезачет результатов? И какие экщамены мне надо еще доздать чтобы получить удостоверение?

Александр Путятинский
Александр Путятинский

Добрый день по окончании данного курса выдается сертификат?

Гончик Цымжитов
Гончик Цымжитов
Россия, Санкт-Петербург
Александр Косенко
Александр Косенко
Украина, Днепропетровск