Мельников Д. А. - Организация и обеспечение безопасности информационно-технологических сетей и систем - 2012
.pdf242 |
Глава 17. П рот окол сет ево го у п ра вл ен и я SNMP т рет ьей версии |
|
Подсистема обработки сообщений. Подсистема обработки |
сообщений отвечает за подготовку сообщений к их дальнейшей пе редаче и «изъятие» (разобрамление) данных из поступивших сооб щений. Эта подсистема может включать несколько моделей обра ботки SNMP-сообщений (рис. 17.2).
Каждая модель обработки SNMP-сообщений определяет фор мат соответствующей версии сообщения, а также координирует подготовку и разобрамление каждого такого сообщения в соответст вии с его версией.
Подсистема обеспечения безопасности. Подсистема безопас ности предоставляет ряд услуг по обеспечению защиты информа ции, к которым относятся аутентификация и конфиденциальность SNMP-сообщений. Эта подсистема может включать несколько моде лей обеспечения безопасности (рис. 17.3). В SNMPv3-CTa^E3,apTe при нята модель обеспечения информационной безопасности на основе выбора пользователем способа и средств защиты информации (User-based Security Model - USM).
Рис. 17.3. Подсистема обеспечения безопасности
Модель обеспечения безопасности определяет угрозы, от кото рых она защищает, цели предоставляемых ею услуг по обеспечению безопасности и протоколы безопасности, используемые ей при пре доставлении этих услуг (аутентификация и конфиденциальность).
Рис. 17.4. Подсистема управления доступом
раздел И. |
243 |
Протокол обеспечения безопасности определяет способы, ал горитмы и процедуры, а также MIB-модули, используемые при пре доставлении услуг по обеспечению безопасности (аутентификация и конфиденциальность).
Рис. 17.5. Классический SNMP-менеджер
244 |
Гла ва 17. П рот окол сет ево го у п р а вл ен и я SNMP т р ет ьей версии |
Подсистема управления доступом. Подсистема управления доступом предоставляет услуги авторизации на основе одной или нескольких моделей управления доступом (рис. 17.4). В SNMPv3стандарте принята модель управления доступом на основе про смотра данных (View-based Access Control Model - VACM).
Рис. 17.6. Классический SNMP-агент
Раздел 11. |
245 |
Модель управления доступом описывает соответствующую функцию принятия решения относительно доступа к элементам SNMP-системы в целях реализации процедуры принятия решения на основе учета прав доступа.
Прикладные программные SNMP-модули. Прикладные программные SNMP-модули могут включать несколько следующих субмодулей:
огенераторы команд, которые осуществляют мониторинг и ма нипулируют управляющей информацией;
вполучатели (приемники) команд (то есть ответного реагирова ния на поступившие команды), которые обеспечивают доступ к управляющей информации;
оисточники управляющих операций/процедур, которые явля ются первичным источниками асинхронных сообщений;
вполучатели (приемники) управляющих операций/процедур, которые обрабатывают поступившие асинхронные сообщения;
вуполномоченный трансляторы (ретрансляторы), которые транслируют SNMP-сообщения между базовыми программ ными SNMP-блоками.
Такие прикладные программные SNMP-модули обеспечивают
использование услуг, предоставляемых базовым программным SNMP-модулем.
SNMP-менеджер. Базовый программный SNMP-блок (одно значно связанный со своим базовым программным SNMP-модулем), который включает один или несколько прикладных программных SNMP-модулей, состоящих из субмодулей генераторов команд и/или получателей управляющих операций/процедур, называется SNMP-менеджером (рис. 17.5).
SNMP-агент. Базовый программный SNMP-блок (однозначно связанный со своим базовым программным SNMP-модулем), кото рый включает один или несколько прикладных программных SNMP-модулей, состоящих из субмодулей приемников команд и/или источников управляющих операций/процедур, называется SNMP-агентом (рис. 17.6).
Именование пользователей системы сетевого управления. На рис. 17.7 приведена структура именования пользователей систе мы сетевого управления.
Пользователь (principal) - это тот, кто использует предоставчяемые системой сетевого управления услуги. Пользователем может быть (среди прочих возможных):
1)субъект (человек), выполняющий определенную роль;
2)группа субъектов, в которой каждый субъект выполняет свою определенную роль;
246Глава 17. Протокол сетевого управления SNMP третьей версии
3)прикладной программный модуль (процесс) или группа таких модулей (процессов);
4)комбинации из выше перечисленных.
Пользователь
INTERNET
Рис. 17.7. Структура именования пользователей системы сетевого управления
Имя пользователя («securityName») представляет собой чита бельную последовательность символов, однозначно определяющую пользователя. Формат этого имени зависит от модели обеспечения безопасности и может использоваться вне границ самой модели безопасности.
Идентификатор имени пользователя, зависимого от модели безопасности («model-dependent security ГО»), представляет собой последовательность символов, определяемую соответствующей мо делью безопасности и отображающую имя пользователя
Name») в пределах этой модели обеспечения безопасности. Идентификатор имени пользователя может быть читабельным
или наоборот, его синтаксис определяется моделью безопасности (например, это могут быть имена групп и имена субъектов).
Преобразование идентификатора в имя пользователя и на оборот полностью возлагается на соответствующую модель обеспе чения безопасности.
Именование управляющей информации. Управляющая ин формация размещается в базовом программном SNMP-блоке, в кото ром субмодуль приема команд и ответного реагирования на них («Command Responder») имеет локальный доступ к нескольким груп пам (модулям) управляющей информации (рис. 17.8). Этот приклад ной субмодуль использует идентификатор «contextEnginelD», который эквивалентен идентификатору базового программного «snmpEnginelD».
раздел II. |
247 |
Рис. 17.8. Структура именования управляющей информации
Группа (модуль) управляющей информации («SNMP-context» или просто «context») представляет собой совокупность данных управления, которые доступны с помощью базового программного SNMP-блока. Любой элемент данных управления может присутст вовать в одной или нескольких группах управляющей информации. В действительности, базовый программный SNMP-блок имеет дос туп ко многим группам управляющей информации. Комбинация идентификаторов «contextEnginelD» и «contextName» однозначно (недвусмысленно) определяет группу (модуль) управляющей ин формации в пределах административного сетевого сегмента.
Идентификатор «contextEnginelD». В рамках административ ного сетевого сегмента, идентификатор «contextEnginelD» уникаль
248 Глава 17. Протокол сетевого управления SNMP третьей версии
но определяет базовый программный SNMP-блок, который может распознать субъект управления, указанный в группе (модуле) управляющей информации с соответствующим идентификатором (именем) «contextName».
Идентификатор (имя) «contextName» используется для имено вания группы (модуля) управляющей информации. Каждый иден тификатор «contextName» обязательно должен быть уникальным в пределах одного базового программного SNMP-блока.
Определитель «scopedPDU» представляет собой блок данных, который содержит идентификаторы «contextEnginelD» и «context Name», а также PDU-блок.
PDU-блок представляет собой протокольный блок данных («SNMP Protocol Data Unit»), содержащий данные, указанную в группе (модуле) управляющей информации, которая, в свою оче редь, однозначно определена в рамках административного сетевого сегмента с помощью комбинации идентификаторов «contextEngine lD» и «contextName».
17.3. Абстрактные служебные интерфейсы
Абстрактные служебные интерфейсы (Abstract Service Interfac es - ASI) служат для определения концептуальных интерфейсов между различными подсистемами базового программного SNMPблока. ASI-интерфейсы обеспечивают прозрачное функционирова ние базовых программных SNMP-блоков и не накладывают какихлибо ограничений на функционирование прикладных процессов (модулей). Более того, они не должны интерпретироваться как при кладные программные интерфейсы (Application Program Interface - API) или как требования к состоянию API.
ASI-интерфейсы описываются с помощью группы примитивов (простых наборов символов), которые определяют наборы услуг и элементы абстрактных данных. Запрос услуг осуществляется с по мощью примитивов.
Примитивы диспетчеризации. Подсистема диспетчеризации, как правило, предоставляет услуги прикладным программным SNMP-модулям (или просто прикладным модулям) через PDU/Dispatcher-субмодуль (рис. 17.5 и рис. 17.6).
PDU/Dispatcher-субмодуль в интересах прикладных модулей в целях передачи SNMP-запросов или управляющих опера ций/процедур на другой базовый программный SNMP-блок фор мирует следующие примитивы:
раздел II. |
249 |
statuslnfo rm ation=
sen dP du(
IN transportD om ain
IN transportA ddress
IN m essa g eP ro ce ssin g M o d el IN securityM odel
IN sec u rityN a m e
IN securityLevel
IN co n tex tE ngin elD
IN co n tex tN am e
IN pduVersion
IN P D U
IN e xp ectR esp o n se
п е р е д а ч а « s e n d P d u H a n d le » , есл и успеш ны й прием пе р е д а ч а «errorlndication», есл и ош иб ка
тип а д р ес ац и и п р и м ен ен и е сетев о го а д р е с а
обы чно, S N M P -вер сия
испол ь зуем ая м о дель о б е сп еч ен и я б езопа снос ти по и м ени этого по л ьзов ател я тр еб уе м ы й уровень б езо па сно с ти
д ан н ы е из этого S N M P -б л о ка
д ан н ы е из этой группы уп рав л я ю щ е й и нф о рм ац ии версия P D U -б л о ка
S N M P /P D U -б ло к
отв ет полож ительны й или отри ц ател ьн ы й
) |
|
|
|
PDU/Dispatcher-субмодуль |
для |
передачи |
входящего |
SNMP/PDU-блока в прикладные модули |
формирует |
следующие |
|
примитивы: |
|
|
|
processPdu(
IN m essa g eP ro ce ssin g M o d el IN securityM odel
IN securityN am e
IN securityLevel
IN con textE ngin elD
IN con textN am e
IN pduVersion IN PD U
IN m a x S ize R e s p o n s e S c o p e d P D U IN stateR eferenc e
о б р а б о тка P D U -зап р о с а /у п р а в л я ю щ е й оп ер ац и и обы чно, S N M P -вер сия
испол ь зуем ая м о дель о б есп еч ен и я б езопа снос ти по им ени этого пол ьзов ател я тр еб уе м ы й уровень б езопа снос ти
д ан н ы е из этого S N M P -б л о ка
д ан н ы е из этой группы уп р ав л я ю щ е й инф о рм ац ии версия P D U -б л о ка
S N M P /P D U -б л о к
м аксим альны й р азм е р о тв етного P D U -б л о ка
ука за н и е состояния д анн ы х (при п е р е д а ч е о тв е та )
)
PDU/Dispatcher-субмодуль в интересах прикладного модуля для передачи ответного SNMP/PDU-блока в другой PDU/Dispatcherсубмодуль формирует следующие примитивы:
result = |
«ус п еш н о » или «о ш и б ка» |
returnResponsePdu( |
|
IN m essageP rocessingM odel |
обы чно, S N M P -вер сия |
IN securityM odel |
испол ь зуем ая м одель о б есп еч ен и я б езо па сно с ти |
IN securityNam e |
по им ени этого пол ьзовател я |
IN securityLevel |
уровень б езопа снос ти как во в ход ящ ем запр о се |
IN contextE nginelD |
д анн ы е из этого S N M P -б ло ка |
IN contextN am e |
д анн ы е из этой группы уп рав л я ю щ е й инф о рм ац ии |
IN pduVersion |
версия P D U -б л о ка |
IN P D U |
S N M P /P D U -б ло к |
IN m axS izeR esponseScopedP DU |
максимальны й размер, обеспечиваемы й при передаче |
IN stateR eference |
ука за н и е состояния д анн ы х (как указан о в зап р о с е ) |
IN statuslnform ation |
«ус п еш н о » или «о ш и б ка» (у ка за те л ь /зн а ч е н и е |
) |
ош иб ки ) |
PDU/Dispatcher-субмодуль для передачи входящего ответ ного SNMP/PDU-блока в прикладные модули формирует сле дующие примитивы:
250 |
Глава 17. Протокол сетевого управления SNMP третьей версии |
p ro ce s s R e s p o n s e P d u (
IN m essa g e P ro c e s s in g M o d e l IN securityM odel
IN sec u rityN a m e IN securityLevel
IN c o n tex tE n g in elD IN co n te x tN a m e
IN pdu V ersion IN P D U
IN status Inform ation IN s e n d P d u H a n d le )•
о б р а б о тка о тв етного S N M P /P D U -б л о ка обы чно, S N M P -вер сия
испол ь зуем ая м о дель о б есп еч ен и я безопасности по и м ени этого пол ьзов ател я уровень б езопа снос ти
д ан н ы е из этого S N M P -б л о ка
д ан н ы е из этой группы уп рав л я ю щ е й инф орм ации версия P D U -б л о ка
S N M P /P D U -б л о к
« ус п еш н о » или «ош и б ка»
у п р ав л е н и е со стороны «se n d P d u »
Прикладные модули могут регистрировать ответственность (или снимать ее) за специфический идентификатор «contextEngine lD» и за специфический указатель типа SNMP/ PDU-блока «pduType» относительно PDU/Dispatcher-субмодуля (перечень со ответствующих «pduType», которые может регистрировать при кладной модуль, определяется моделью(ями) обработки сообщений, входящей (ими) в состав базового программного SNMP-блока, со держащего PDU/ Dispatcher-cyбмодуль):
statuslnfo rm ation =
reg isterC o n textE n g in e lD (
IN |
c o n tex tE n g in elD |
IN |
pdu T yp e |
u n reg isterC o n te xtE n g in elD (
IN |
c o n tex tE n g in elD |
IN |
pd u T yp e |
--«ус п еш н о » или «о ш и б ка»
-- пр ин ятие отв етстве нно сти базовы м S N M P -блоком
сэтим ID
--реги страц ия ти п а (о в ) S N M P /P D U -б ло ка
-- |
п е р е д а ч а отв етстве нно сти б азов ом у S N M P -блоку |
сэтим ID
--сн яти е ти п а (о в ) S N M P /P D U -б л о ка с регистрации
)•
Примитивы подсистемы обработки сообщений. Dispatcherсубмодуль сообщений (рис. 17.5 и рис. 17.6) взаимодействует с моде лью обработки для определения версии SNMP-сообщений.
Подсистема обработки сообщений в целях подготовки исхо дящих SNMP-сообщений, содержащих запросы или управляющие операции, формирует следующие примитивы:
statuslnfo rm ation = |
« ус п еш н о » или «о ш и б ка» |
p re p a re O u tg o in g M e s s a g e ( |
|
IN transportD om ain |
тип а д р ес ац и и |
IN transportA dd ress |
пр и м ен ен и е сетев о го а д р е с а |
IN m e s s a g e P ro c e s s in g M o d e l |
обы чно, S N M P -вер сия |
IN securityM odel |
испол ь зуем ая м одель о б есп еч ен и я безопасности |
IN s ec u rityN a m e |
по им ени этого пользователя |
IN securityLevel |
треб уем ы й уровень б езопасности |
IN c o n tex tE n g in elD |
д ан н ы е из этого S N M P -бло ка |
IN con te x tN a m e |
д анн ы е из этой группы уп рав л я ю щ е й инф ормации |
IN pduV ersion |
версия P D U -б ло ка |
IN P D U |
S N M P /P D U -б л о к |
Раздел II.
IN e x p e ctR esp o n se
IN sen d P d u H a n d le
O U T d es tTran sportD om ain O U T destTran sportA ddress O U T outg o in g M ess ag e
O U T outgo in g M ess ag eL en g th
251
«ус п еш н о » или «о ш и б ка» уп р ав л е н и е ср а в н ен и ем вход ящ их ответны х соо б щ ен и й
сетев ой се гм е н т на зн ач ен и я д л я доставки а д р е с на зн ач ен и я д л я достав ки с о о б щ ен и е д л я пе р ед ачи р азм е р со о б щ ен и я д л я п е р ед ачи
Подсистема обработки сообщений в целях подготовки исходя щих SNMP-сообщений, содержащих ответы на поступившие запросы или управляющие операции, формирует следующие примитивы:
result =
prep a re R esp o n seM essa g e( IN m essa geP roce ssingM odel IN securityM odel
IN securityN am e
IN securityLevel
IN con textE ngin elD
IN con textN am e IN pduVersion IN P D U
IN m a x S iz e R e s p o n s e S c o p e d P D U
IN stateR eferen c e
IN statuslnform ation
O U T destTran sportD om ain O U T destTransportA ddress O UT o u tgoingM essage
O UT o u tgoingM essageLen gth
--«ус пеш но» или «о ш и б ка»
— |
обы чно, S N M P -вер сия |
- |
та ка я ж е как и в по ступи в ш ем запр о се |
-- |
та ко е ж е как и в по ступи в ш ем запро се |
— |
такой ж е как и в п о ступи в ш ем зап р о се |
— |
д ан н ы е из этого S N M P -б л о ка |
— |
д ан н ы е из этой группы уп р ав л я ю щ е й и нф о рм ац ии |
—версия P D U -б л о ка
—S N M P /P D U -б л о к
-- возм ож ны й м аксим ал ьны й р а зм е р P D U -б л о ка
—у ка за н и е состояния д анн ы х (как указан о в зап р о с е )
«ус п еш н о » или « о ш и б ка» (у ка за те л ь /зн а ч е н и е ош иб ки )
— тип а д р ес ац и и д л я достав ки
~а д р е с на зн ач ен и я д л я д остав ки
— |
со о б щ е н и е д л я п е р ед ачи |
- |
р азм е р со о б щ ен и я д л я п е р ед ачи |
)
Подсистема обработки сообщений формирует служебный при митив для предварительной обработки отдельных элементов абст рактных данных, содержащихся во входящих SNMP-сообщениях:
result = |
-- |
«ус пеш но » |
или «о ш и б ка» |
prepareD ataElem ents( |
-- |
тип а д р ес ац и и источника со о б щ ен и я |
|
IN transportDom ain |
|||
IN transportAddress |
-- |
а д р е с источника соо б щ ен и я |
|
IN w holeM sg |
-- |
как принято из сети |
|
IN w holeM sgLength |
-- |
как принято из сети |
|
OUT m essageP rocessingM odel |
-- |
обы чно, S N M P -вер сия |
|
OUT securityM odel |
-- |
испол ь зуем ая м о дель о б есп еч ен и я б езопа снос ти |
|
OUT securityN am e |
-- |
по им ени этого пол ьзов ател я |
|
OUT securityLevel |
-- |
тр еб уе м ы й уровень б езопа снос ти |
|
OUT contextE nginelD |
-- |
д анн ы е из этого S N M P -б ло ка |
|
OUT contextN am e |
-- |
д анн ы е из этой группы уп рав л я ю щ е й |
|
|
|
инф о рм ац ии |
|
O UT pduVersion |
-- |
версия P D U -б л о ка |
|
OUT P D U |
- |
S N M P /P D U -б ло к |
|
OUT pduType |
-- |
тип S N M P /P D U -б л о ка |
|
OUT sen dP duH andle |
- |
у п р ав л е н и е с р а в н ен и ем запросов |
|
O UT m a x S ize R e s p o n s e S c o p e d P D U |
-- |
возм ож ны й |
м аксим альны й р азм е р P D U -б л о ка |
OUT statuslnform ation |
-- |
«ус пеш но » |
или « о ш и б ка» (у ка за те л ь /зн а ч е н и е |
|
|
ош иб ки ) |
|
O UT stateR eferenc e |
-- |
ука за н и е состо яни я д анн ы х (для в озм ож ного |
|
|
|
о тв е та ) |
|
)