SNMP протокол - принципы, безопасность, применение. Протокол snmp Interfaces - чем больше, тем интерестнее

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, которая позволяет менеджеру получить несколько значений переменных за один запрос.

ВВЕДЕНИЕ 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 [Электронный ресурс].

Введение

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

Угрозы

Проблемы с протоколом SNMP начались с первой версии, когда механизма
защиты не было как такового. Любой желающий мог узнать пароли просто
прослушивая сеть. Но через некоторое время вышла вторая версия, в которой,
в соответствии с требованиями времени, были реализованы более серьезные
функции защиты. В частности, хэширование при помощи MD5, шифрование по
DES и др. (см. первую статью). На сегодняшний момент последней является третья версия SNMP, разработчики
которой основной задачей видят обеспечение безопасности. Однако, не все
так гладко с безопасностью даже и у третьей версии.
Существует 6 видов угроз для SNMP:

  1. Раскрытие информации: отслеживание обмена данными между агентами и
    управляющей станцией с целью сбора значений
  2. Маскарадинг
  3. Модификации: посылка сообщений для фиктивных операций
  4. Модификации в потоке сообщений
  5. Анализ сетевого трафика
  6. Атаки отказа в обслуживании.

Рассмотрим, как кажется, наиболее защищенную третью версию SNMP в свете
противодействиям этим типам атак.

Атака на SNMPv3

  • Маскарадинг - ошибка устранена, система
    проверяет происхождение пакетов
  • Модификация - протокол проверяет целостность при помощи MD5
  • Угроза раскрытия - криптование при помощи DES
  • Анализ трафика - протокол по прежнему
    УЯЗВИМ
  • Отказ в обслуживании - УЯЗВИМА

Итак, как оказалось, даже 3 версия уязвима для некоторых типов атак. В
частности, набор утилит ucd-snmp версий 5.0.1, 5.0.3, 5.0.4.pre2, который
включает в себя SNMP демон, утилиты для опроса и установления значений
MIB, а также другие полезные особенности уязвимы для атаки отказа в
обслуживании. Уязвимость была найдена Andrew Griffiths и анонсирована
компанией iDEFENSE 2 октября 2002.
Решением проблем такого плана может быть только регулярное обновление
программного обеспечения.

Одной из самых распространенных проблем даже по сей день являются пароли
(community strings) по умолчанию. В который раз хочется отметить, что
установки по умолчанию НЕОБХОДИМО менять. Решением послужит тщательное изучение страниц man по следующим файлам:
snmp.conf, snmp_config, snmpcmd, в которых содержится информация по
конфигурации SNMP и работе файлов. Даже при простом изменении значения по
умолчанию "public" на более сложный пароль, злоумышленник уже не сможет
получить информацию о Вашей системе при помощи тривиальной утилиты
snmpwalk. Множество сетевых устройств (switches, WAN/LAN роутеры, модемы, а также
некоторые операционные системы) по умолчанию сконфигурированы с
активированым SNMP и даже с rw доступом(!). Последствия такой небрежности
предсказать несложно. Вот небольшой список, для примера, устройств с
паролями по умолчанию:

3com Switch 3300 (3Com SuperStack II) - private
- Cray MatchBox router (MR-1110 MatchBox Router/FR 2.01) - private
- 3com RAS (HiPer Access Router Card) - public
- Prestige 128 / 128 Plus - public
- COLTSOHO 2.00.21 - private
- PRT BRI ISDN router - public
- CrossCom XL 2 - private
- WaiLAN Agate 700/800 - public
- HPJ3245A HP Switch 800T - public
- ES-2810 FORE ES-2810, Version 2.20 - public
- Windows NT Version 4.0 - public
- Windows 98 (не 95) - public
- Sun/SPARC Ultra 10 (Ultra-5_10) - private

Кстати, 16 октября в списке рассылки bugtraq была опубликована новая
информация о несанкционированном доступе к AVAYA Cajun. SNMP-community
NoGaH$@! позволяет полный доступ. Также были приведены недокументированные
учетные записи diag/danger и manuf/xxyyzz. Решением таких проблем послужит ограничение rw доступа, запрещение доступа
к устройствам с активированным SNMP извне. Необходимо запретить доступ на
SNMP-порты для всех посторонних компьютеров. Осуществить это довольно просто,
достаточно использовать набор правил ipchains/iptables. Дать совет по настройке
ipchains довольно сложно, т.к. необходимо знать топологию локальной сети, а
для домашних рабочих станций SNMP не нужен.

Для любого системного администратора, который имеет дело с данным
протоколом, необходимы программы, которые бы упрощали работу с SNMP. В
связи с этим можно упомянуть MRTG и SNMP::Monitor. На взгляд автора пакета
SNMP::Monitor, его программа имеет преимущества по сравнению с MRTG (какие
именно, Вы можете прочитать в readme). Скачать SNMP::Monitor можно с
архивов packetstormsecurity.org . Вот лишь некоторые из ее функций:

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

Определенно необходимо логгирование отказов в предоставлении SNMP сервиса
неавторизованным хостам и последующий анализ журналов. Если Вы хотите
проверить уязвимость Вашей сети, то неплохой программой будет snmpsniff,
перехватчик трафика. Загрузить ее можно с www.packetstormsecurity.org/sniffers/snmpsniff-1.0.tar.gz .
Для проверки надежности паролей можно использовать snmpbrute.c, который
является довольно быстрым переборщиком паролей.

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

Протокол 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!

Delphi , Интернет и Сети, Протоколы



Все серьезные системы управления сетями используют для своей работы простой сетевой протокол управления (Simple Network Management Protocol, SNMP). На самом деле SNMP - это не просто протокол, а целая технология, призванная обеспечить управление и контроль за устройствами и приложениями в сети. С ее помощью можно контролировать абсолютно любые устройства, подключенные к компьютерной сети, например датчики пожаротушения или даже светофоры. Разумеется, SNMP можно использовать (и это активно делают) для управления сетевыми компонентами: концентраторами, серверами, маршрутизаторами и т. п. Пользуясь информацией SNMP (такой, как показатель числа пакетов в секунду и коэффициент сетевых ошибок), сетевые администраторы могут более просто управлять производительностью сети и обнаруживать и решать сетевые проблемы.

Три составляющие части технологии SNMP: структура управляющей информации (Structure of Management Information, SMI) базы управляющей информации (Management Information Base, MIB) сам протокол SNMP

Модель управления SNMP

Агентами в SNMP являются программные модули, которые работают в управляемых устройствах. Агенты собирают информацию об управляемых устройствах, в которых они работают, и делают эту информацию доступной для систем управления сетями (network management systems - NMS) с помощью протокола SNMP.

Протокол SNMP v1

SNMP реализован в 1988 практически во всех широко распространенных сетевых средах: TCP/IP, IPX/SPX, AppleTalk и др. Основной концепцией протокола является то, что вся необходимая для управления устройством информация хранится на самом устройстве - будь то сервер, модем или маршрутизатор - в так называемой Административной Базе Данных (MIB - Management Information Base). SNMP как непосредственно сетевой протокол предоставляет только набор команд для работы с переменными MIB. Этот набор включает следующие операции:

  • get-request Используется для запроса одного или более параметров MIB
  • get-next-request Используется для последовательного чтения значений. Обычно используется для чтения значений из таблиц. После запроса первой строки при помощи get-request get-next-request используют для чтения оставшихся строк таблицы
  • set-request Используется для установки значения одной или более переменных MIB
  • get-response Возвращает ответ на запрос get-request, get-next-request или set-request
  • trap Уведомительное сообщение о событиях типа cold или warm restart или "падении" некоторого link"а.

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

Формат сообщений

Сообщения SNMP состоят из 2 частей: имени сообщества (community name) и данных (data). Имя сообщества назначает среду доступа для набора NMS, которые используют это имя. Информационная часть сообщения содержит специфичную операцию SNMP (get, set, и т.д.) и связанные с ней операнды. Операнды обозначают реализации об"екта, которые включены в данную транзакцию SNMP.

Structure of Managment Information. RFC 1208

Определяет логику адресации информации при взаимодействии агентов и менеджеров SNMP. Синтиксис описывается абстрактными правилами Abstract Syntax Notation One, ASN.1.

Managment Information Base (MIB, MIB-II). RFC 1213

MIB представляет из себя набор переменных, характеризующих состояние объекта управления. Эти переменные могут отражать такие параметры, как количество пакетов, обработанных устройством, состояние его интерфейсов, время функционирования устройства и т.п. Каждый производитель сетевого оборудования, помимо стандартных переменных, включает в MIB какие-либо параметры, специфичные для данного устройства (в поддерево private enterprise).

Как происходит адресация в MIB к некоторой ее переменной?

По своей структуре MIB представляет из себя дерево.Каждому элементу соответствует численный и символьный идентификатор. В имя переменной включается полный путь до нее от корневого элемента root.

Например, время работы устройства с момента перезагрузки хранится в переменной, находящейся в разделе system под номером 3 и называется sysUpTime. Соответственно, имя переменной будет включать весь путь: iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysUpTime(3); или на языке чисел: 1.3.6.1.2.1.1.3. Следует заметить, что при этом узлы дерева разделяются точками.

Существует стандартная ветвь MIB, относящаяся к разделу управления mgmt, которую обычно поддерживают все сетевые устройства.

Тестирование сети с помощью SNMP

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

Так, например, для раздела, относящегося к интерфейсам Ethernet, определен тест TDR (Time-domain reflectometry), позволяющий определять приблизительное расстояние до повреждения в коаксиальном кабеле. Для того, чтобы запустить TDR тест необходимо установить значение переменной ifExtnsTestTypе (1.3.6.1.2.1.12.2.1.4), содержащей тип выполняемого теста, так, чтобы она содержала идентификатор теста TDR в MIB: 1.3.6.1.2.1.10.7.6.1.

Результатом теста будет, во-первых, значение переменной ifExtnsTestResult (1.3.6.1.2.1.12.2.1.5), характеризующей исход теста:

  • отсутствие результата
  • успех
  • выполняется
  • не поддерживается
  • невозможно запустить
  • прекращен
  • неудачное завершение

И во-вторых, значение переменной ifExtnsTestCode (1.3.6.1.2.1.12.2.1.6) будет содержать идентификатор переменной MIB, содержащей результат теста. Результат теста определен как временной интервал в 100-наносекундных единицах между началом передачи тестового пакета и обнаружением коллизий в несущей. В принципе, на основании данного значения можно определить требуемое расстояние.

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

Безопасность SNMP. RFC 1352.

Один из наиболее заметных недостатков SNMP v1 - отсутствие развитой системы защиты данных на уровне, необходимом для сетей масштаба предприятия.

Как сказал Mike Warfield: "SNMP stands for Security Not My Problem".

В SNMPv1 защита административной информации трактовалась слишком упрощенно: она базировалась на использовании коллективного имени (Community Name), которое, находясь в заголовке SNMP, несло в себе все возможности защиты сообщений. Данное средство (известное под названием тривиальный протокол) требовало, чтобы программа-агент и менеджер опознали одно и то же коллективное имя, прежде чем продолжить выполнение операций сетевого администрирования. В результате многие администраторы сетей ограничивались в своей работе только функциями мониторинга, запрещая выдачу команды SET, способной изменять параметры конфигурации удаленного устройства. Это привело к тому, что пользователи избегали команд SET: такое примитивное средство защиты, как коллективное имя, могло дать возможность лицам, не наделенным соответствующими полномочиями, изменять параметры, о чем пользователи могли даже и не узнать. К тому же вся критически важная информация передавалась в открытом виде,поэтому в интернете доступен даже snmp sniffer

В связи с этим были разработаны предложения по совершенствованию защиты в рамках SNMPv1, представленные в июле 1992 г.; они составили основу структуры защиты для SNMPv2.

Стандартами защиты SNMPv2 определяются методы аутентификации (DAP - Digest Authentication Protocol) и обеспечения конфиденциальности (SPP -Symmetric Privacy Protocol) информации административного характера. В основе лежит концепция участника (party) - уникального набора параметров защиты, который может включать местоположение сети, протоколы аутентификации и обеспечения конфиденциальности, используемые между агентом и менеджером.

Проблемы внедрения SNMPv2

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

Несомненно,пользователи захотят иметь продукты на базе SNMPv2. Но дело в том, что многие уже вложили слишком большие средства в версию SNMPv1, чтобы просто выбросить ее и начать все с нуля. Авторы SNMPv2 предвидели это и исходили из постепенности перехода на новую технологию. Предусмотрены два способа сохранения SNMPv1: использование уполномоченных агентов и двуязычных менеджеров. Уполномоченный агент выполняет преобразование форматов SNMPv1 в сообщения SNMPv2 и обратно.

Другой вариант - двуязычный менеджер, который одновременно поддерживает оба протокола (SNMPv1 и SNMPv2) и не требует преобразований. Двуязычный менеджер SNMP определяет, с каким форматом работает агент - версии 1 или версии 2, и общается на соответствующем диалекте. Таким образом, выбор версии протокола должен быть прозрачен для принимающих устройств.

К сожалению,вторая версия SNMP так до сих пор и не утверждена, поэтому в стане сетевого управления наблюдается разброд и шатания.

Доступные реализации агентов и менеджеров

http://www.microsoft.com/smsmgmt/
MS SMS Netmon

http://www.winfiles.com/apps/98/net-manage.html
куча разнообразных агентов и менеджеров для Win95.

Epilogue предлагает ПО, реализующее поддержку SNMP, включающую:

  • Envoy, Epilogue"s compact, fast, portable SNMP solution for OEMs
  • Emissary, an SNMP MIB compiler that allows SNMP implementors to extend standard SNMP variables to support extensions to the MIBs in each managed device;
  • Ambassador, a complete, portable implementation of the RMON (FastEthernet) remote monitoring agent.
  • The IBM Netview for AIX feature of SystemView provides distributed or centralized management of large heterogeneous networks.
  • ACE*COMM WinSNMP supports SNMPv1 & SNMPv2u in v2.0 of its industry-leading Win16 and Win32 WinSNMP implementations.
  • Digital Unix POLYCENTER Manager on NetView provides client/server management of multivendor enterprise networks.
  • The PowerFlag tool - агент для UPS MIB источников бесперебойного питания компании Victron B.V.
  • WS_Ping ProPack v.2.10 позволяет просматривать MIB таблицы, указывать поддеревья. Для скачавания свежих версий с сервера Ipswitch можно использовать следующие данные:
    • User Name: 0000037181
    • Password: CQWSC
    • Serial Number: WP-101333
  • Openly-Available Implementations
  • CMU SNMP agent (source)
    • an agent that support both SNMPv1 and SNMPv2u
    • a number command line based applications that support both SNMPv1 and SNMPv2u.
    • Carnegie-Mellon University SNMP Development Kit supporting SNMPv1/v2
  • NetSCARF is a Network Statistics Collection and Reporting Facility. It allows ISPs to collect and report data about their part of the Internet, supports both SNMP version 1 and USEC.
  • Scotty is a network management extension for the Tool Command Language (Tcl) which includes a portable implementation of the SNMPv1, SNMPv2c and SNMPv2u protocol. The Scotty Tcl extension includes the network management platform (Tkined) which provides a MIB browser, a network map editor as well as status monitoring, troubleshooting, network discovery and event filtering scripts.
    • snmptcp v1.3 is a extensible platform for management applications which seemlessly implements SNMPv1, SNMPv2c, and SNMPv2u.
    • The package runs under the X Window System on UNIX and is built from Tool Command Language (Tcl7.3/Tk3.6).In addition to a MIB compiler, the package contains some minimal applications for a number of standard MIB modules.

Атака на Windows SNMP.

Cервисы работают на следующих UDP портах (/etc/services)

  • snmp 161/udp snmp
  • snmp-trap 162/udp snmp

Интересные SMI Network Management Private Enterprise Codes:

Prefix: 1.3.6.1.4.1.

  • 2 IBM
  • 4 Unix
  • 9 cisco
  • 32 Santa Cruz Operation
  • 42 Sun Microsystems

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

Уязвимость в стандартной конфиругации Windows NT SNMP Сервиса.

Позволяет удаленно конфигурировать сетевые парамерты, которые влияют на безопасность и правильное функционирования системы (если администратор сам запустил SNMP Service)

При конфигурации по умолчанию, SNMP service отвечает на стандартное community (имя) "public", которое обладает права на чтение и запись. Community - это имя, которое обладает такими же функциями, как логин и пароль в системах.

Протокол SNMP предоставляет два уровня полномочий: read-only and read-write, однако до выхода SP4 Windows NT SNMP Service не позволял конфигурировать communities по доступу, отличному от read-write!

Если попытать обезопасить SNMP Service путем переименования community для доступа, то система останется незащищенной от крякера, имеющего аккаунт на машине, так как параметры SNMP Service находятся в регистри и доступны всем пользователям на чтение. Также Windows NT SNMP Service обладает возможностью ограничить доступ для списков IP-адресов. На первый взгляд это позволяет защититься от атак неизвестных систем, однако это не является проблемой для крякеров (что необходимо понимать любому администратору), так как протокол SNMP использует UDP протокол для обмена информацией, а он является протоколом без установления соединения, поэтому возможна подмена исходящего адреса (но для этого придется переработать исходники SNMP менеджеров под Unix и изучить UDP spoofing)

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

Благодаря сконфигурированному по умолчанию Windows NT SNMP Сервису мы можем извлечь с помощью SNMP менеджера следующую информацию:

  • the LAN Manager domain name
  • a list of users
  • a list of shares
  • a list of running services
  1. Открыть HKLM\System\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents
  2. найти значение, которое содержит SOFTWARE\Microsoft\LANManagerMIB2Agent\CurrentVersion
  3. и удалить его.
  • a list of active TCP connections
  • a list of active UDP connections
  • a list of network interfaces and their associated IP and hardware addresses
  • the IP routing table and the ARP table as well as a number of networking performance statistics.

Устанавливая переменные, крякер может модифицировать таблицу роуминга, ARP таблицу, выключить сетевые интерфейсы, сбить существенные сетевые параметры типа default IP, время жизни пакетов (TTL), IP forwarding (позволит крякеру перенаправлять сетевой трафик). Это особенно опасно, если атакуемая машина является фаерволом.

За примерами далеко ходить не надо, например, если машина является domain controller или server, но получить список всех пользователей в домене можно командой C:\NTRESKIT>snmputil walk public .1.3.6.1.4.1.77.1.2.25

Если вам хочется удалить все записи в базе данных WINS (что приведет к полному отказу WinNT), то для этого необходимо выполнить ~$snmpset -v 1192.178.16.2 public .1.3.6.1.4.1.311.1.2.5.3.0 a 192.178.16.2 из набора CMU SNMP development kit under Unix.

Также есть очень любопытная деталь при установки SNMP community names в Windows NT 4.0 (SP3). Если сервис включен, а имена не сконфигурированы, то любое имя будет давать read/write привилегии. Как оказалось, это указано еще в спецификации SNMP (RFC 1157)!

Четвертый СервисПак(SP4) предоставляет следующее решение проблемы: добавление контроля доступа community как READ ONLY,READ WRITE или READE CREATE. Однако по умолчанию SP4 устанавливает READ CREATE доступ, который все еще позволяет атаковать машины. Микрософт явно заботиться об удобстве WinNT для хакеров:)

Проблема в OS Solaris версии до 2.6.

Исходя из ISS Security Advisory (November 2nd, 1998), в агенте SNMP, который по умолчанию запущен в этой системе, существуют реальные угрозы получить доступ на уровне рута, манипулировать процессами и параметрами машины.

Для доступа к MIB-информации существует скрытая "undocumented community string", которая позволит атакующему изменить большинство системных параметров.

К сожалению, само это community не называется, однако ISS Internet Scanner и ISS RealSecure real-time intrusion detection могут детектировать эту проблемы, т.е. посмотреть можно и в их исходниках

Статья Описание протокола SNMP (Simple Network Management Protocol) раздела Интернет и Сети Протоколы может быть полезна для разработчиков на Delphi и FreePascal.