Протокол SNMP. Методы сетевых атак и защиты
Курсовая работа, 04 Марта 2014, автор: пользователь скрыл имя
Описание работы
Особенно остро встает вопрос о надежности и максимальной эффективности функционирования вычислительных сетей. Огромные убытки от сетевых неполадок, приводящих к потере данных, резкому падению производительности, блокировке серверов и другим неприятностям, несут банки, финансовые, транспортные и телекоммуникационные компании. Следовательно, особую актуальность приобретает проблема управления сетью.
Управление сетью — это комплекс мер и мероприятий, направленный на повышение эффективности функционирования сети, обнаружение и устранение сбоев в ее работе, правильное ее развитие и модернизацию, и сокращение затрат в конечном итоге.
Содержание работы
ВВЕДЕНИЕ……………………………………………………………………..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
Файлы: 1 файл
Галиуллина О.К. БИС-201.doc
— 185.00 Кб (Скачать файл)Министерство образования и науки РФ
ФГБОУ ВПО «Челябинский государственный университет»
Институт информационных технологий
Кафедра информационных технологий
КУРСОВАЯ РАБОТА
Протокол SNMP. Методы сетевых атак и защиты
Выполнила студентка
Дата сдачи:_______________
Дата защиты:_____________
Оценка:__________________
Челябинск
2014
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ…………………………………………………………
ГЛАВА 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
ЗАКЛЮЧЕНИЕ……………………………………………………
СПИСОК ЛИТЕРАТУРЫ……………………..…………………………
ВВЕДЕНИЕ
Деятельность современных организаций тесно связана с использованием информационных технологий, будь то компьютер на рабочем месте менеджера мелкой фирмы или корпоративная сеть крупной компании — системного интегратора. И чем больше организация и чем важнее ее функции, тем выше требования к компьютерным системам, обеспечивающим выполнение этих функций, и тем дороже цена каждого сбоя в работе. Эффективность деятельности компании становится все более и более зависимой от качества работы ее компьютерного и телекоммуникационного оборудования.
Особенно остро встает вопрос о надежности и максимальной эффективности функционирования вычислительных сетей. Огромные убытки от сетевых неполадок, приводящих к потере данных, резкому падению производительности, блокировке серверов и другим неприятностям, несут банки, финансовые, транспортные и телекоммуникационные компании. Следовательно, особую актуальность приобретает проблема управления сетью.
Управление сетью — это комплекс мер и мероприятий, направленный на повышение эффективности функционирования сети, обнаружение и устранение сбоев в ее работе, правильное ее развитие и модернизацию, и сокращение затрат в конечном итоге.
В настоящее время для управления сетями используются приложения, работающие на базе платформ сетевого управления, таких как системы 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, для управления содержит три основных компонента:
- SNMP менеджер - ПО, устанавливаемое на ПК администратора (системы мониторинга)
- SNMP агент - ПО, запущенное на сетевом узле, за которым осуществляется мониторинг.
- 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-
При использовании шифрования в 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
Структура 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;
- Метка времени – содержит метку времени с момента события (непонятно, относительно чего эта метка…).