28.11.2006

Обнаружение несанкционированных подключений к портам активного оборудования Cisco

image

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

Автор: Лило Алексей Валерьевич

1. Введение

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

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

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

Изложена настройка и использование программы, а так же конфигурирование коммутаторов для взаимодействия с ней.

1.1 Виртуальные сети (VLAN)

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

Виртуальная сеть (virtual LAN, VLAN) представляет собой логическое объединение сетевых устройств или пользователей, не ограниченное одним физическим сегментом. Устройства или пользователи VLAN могут быть сгруппированы по выполняемым функциям, по принадлежности к одной организации, по характеру используемых приложений и т.д., независимо от их физического расположения в сегментах. VLAN создает единое широковещательное пространство, не ограниченное физическим сегментом, и его можно рассматривать как подсеть.

Создание VLAN производится в коммутаторе с помощью соответствующего программного обеспечения. VLAN не стандартизованы и требуют использования лицензионного программного обеспечения от производителя коммутатора.

В первоначальных реализациях виртуальных сетей использовалась разметка портов, которая объединяла в широковещательный домен группы устройств, выбираемые по умолчанию. Современные требования включают в себя необходимость расширения сферы действия виртуальной сети на всю сеть. Такой подход позволяет объединить географически разделенных пользователей посредством создания виртуальной локальной сети. Конфигурация виртуальной сети осуществляет скорее логическое, чем физическое объединение (рис. 1.1).

Рис. 1.1 «Пример использования VLAN»

1.2 Динамические виртуальные сети

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

1.3 Достоинства виртуальных сетей

Добавление новых пользователей, их переезд и изменение расположения:

Современные компании находятся в состоянии непрерывной реорганизации. В среднем 20 - 40% работников физически меняют свое расположение каждый год. Эти переезды, добавления новых пользователей и изменения структуры сети представляют собой значительную нагрузку сетевых администраторов и вызывают большую часть расходов, связанных с поддержанием работы сети. Многие переезды требуют изменения прокладки кабелей и почти все переезды требуют изменения адресации станций и установки новой конфигурации маршрутизаторов и концентраторов.

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

Управление широковещанием:

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

Виртуальные сети существенно уменьшает общий широковещательный поток, освобождает полосу пропускания для потока данных пользователей и снижает общую чувствительность сети к широковещательной лавине (broadcast storm).

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

Обеспечение большей безопасности сети:

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

Одним из эффективных в финансовом отношении и легко административно реализуемых методов повышения безопасности является сегментация сети на большое количество широковещательных групп. Это позволяет сетевому администратору:

  1. Ограничить количество пользователей в группе виртуальной сети;
  2. Запретить другим пользователям подсоединение без предварительного получения разрешения от приложения, управляющего виртуальной сетью;
  3. Установить конфигурацию всех неиспользуемых портов в принимаемое по умолчанию состояние низкой активности VLAN.
  4. Реализовать сегментацию такого типа относительно просто. Порты коммутатора группируются на основе типа приложений и приоритетов доступа. Приложения и ресурсы, доступ к которым ограничен, обычно размещаются в защищенной группе виртуальной сети. Маршрутизатор ограничивает доступ в эту группу в соответствии с конфигурацией коммутаторов и маршрутизаторов. Ограничения доступа могут основываться на адресах станций, типах приложений или типах протоколов [1].

2. Особенности построения DVLAN на оборудовании “Cisco”

В данном разделе рассматривается, как осуществляется конфигурирование и администрирование DVLAN’а на коммутаторах Cisco, чтобы в дальнейшем иметь представление о работе программы.

Настройка членства в DVLAN осуществляется за счет функции управления политики VLAN сервером (VMPS – VLAN Management Policy Server). Данная функция присутствует начиная с модели Cisco Catalyst 4000. С помощью VMPS можно назначать порты коммутатора в VLAN динамически, основываясь на MAC-адресе устройства.

Когда на коммутаторе настраивается служба VMPS, необходимо составить БД соответствия MAC-адресов и названия VLAN’ов, после чего выложить БД на TFTP сервер. После перезагрузки коммутатор автоматически будет загружать с TFTP сервера БД, для восстановления работы VMPS. В БД так же можно определить MAC-адреса которым доступ в сеть будет запрещен, для этого в поле имени VLANа указать --NONE-- .

VMPS слушает протокол UDP, для приема и отправки запросов клиента. Когда приходит корректный запрос клиента, VMPS сравнивает MAC-адрес клиента с MAC-адресами свой БД, чтобы определить к какому VLAN он относится. Если назначенный VLAN ограничивается группой портов, то проверяется, допущен ли VLAN в порт или нет. Если включен режим secure mode (безопасный режим), то порт отключается, в противном случае клиент получает ответ о запрещении доступа.

На коммутаторе можно также сконфигурировать VLAN FallBack (по умолчанию). В него помещаются устройства, с MAC-адресами, которые не входят в БД VMPS при выключенном режиме secure mode [4].

2.1 Создание конфигурационного файла БД VMPS

Перед тем как использовать VMPS, необходимо создать файл БД VMPS в формате ASCII и сохранить его на TFTP сервере. Каждая новая запись должна начинаться с новой строчки.

Конфигурационный файл БД VMPS может содержать следующие параметры:

  • Конфигурационный файл должен начинаться с ключевого слова VMPS, чтобы защитить коммутатор от загрузки ошибочного (неправильного) файла.
  • Назначить имя VMPS домену. VMPS домен должен сочетаться с именем VTP (VLAN Trunk Protocol — протокол магистральных связей виртуальных локальных сетей) домена, сконфигурированного на коммутаторе.
  • Назначить режим «security mode» .
  • Определить, если необходимо, имя FallBack VLAN. FallBack VLAN позволяет подключить в выделенный VLAN клиентов MAC-адреса которых, не входят в БД VMPS.
  • Назначить соответствия MAC-адресов к имени VLANа. Если необходимо запретить подключение к сети определенных клиентов (host’s), то напротив MAC-адреса надо указать вместо имени VLAN’а ключевое слово --NONE--.
  • Назначить порты в логическую группу портов.
  • Назначить VLAN’ы в логическую группу VLAN’ов.
  • Определить соответствия VLAN’ов к портам, то есть разрешить установку определенных VLAN’ов только на указанные порты.
  • Вносить комментарии в файл конфигурации, введя символ «!» перед строчкой.

Ниже приведен пример файла конфигурации БД VMPS.

Пример 2.1: «Файл конфигурации БД VMPS»

!TheVMPSdomainmustbedefined.
!vmpsmode{open|secure}
!Thedefaultmodeisopen.
!vmpsfallback
!vmpsno-domain-req{allow|deny}
!
!Thedefaultvalueisallow.
vmpsdomainWBU
vmpsmodeopen
vmpsfallbackdefault
vmpsno-domain-reqdeny
!
!
!MACAddresses
!
vmps-mac-addrs
!
!addressvlan-name
!
address0012.2233.4455vlan-namehardware
address0000.6509.a080vlan-namehardware
addressaabb.ccdd.eeffvlan-nameGreen
address1223.5678.9abcvlan-nameExecStaff
addressfedc.ba98.7654vlan-name--NONE--
addressfedc.ba23.1245vlan-namePurple
!
!PortGroups
!
!vmps-port-group
!device{port|all-ports}
!
vmps-port-groupWiringCloset1
device198.92.30.32port3/2
device172.20.26.141port2/8
vmps-port-group“ExecutiveRow”
device198.4.254.222port1/2
device198.4.254.222port1/3
device198.4.254.223all-ports
!
!
!VLANgroups
!
!vmps-vlan-group
!vlan-name
!
vmps-vlan-groupEngineering
vlan-namehardware
vlan-namesoftware
!
!

2.2 Настройка VMPS

Как только будет разрешена работа VMPS, коммутатор попытается загрузить БД VMPS с TFTP или rcp сервера. После этого коммутатор сможет принимать VMPS запросы.

Для конфигурирования VMPS необходимо выполнить следующие команды в привилегированном режиме:

  1. Указать метод загрузки БД VMPS:

  2. set vmps downloadmethod rcp | tftp [username]
  3. Указать IP адрес TFTP или rcp сервера где размещен в формате ASCII конфигурационный файл БД VMPS:
  4. set vmps downloadserver ip_addr [filename]
  5. Разрешить работу VMPS:
  6. set vmps state enable
  7. Посмотреть конфигурацию VMPS на коммутаторе:

show vmps

Для отключения режима VMPS необходимо выполнить следующую команду в привилегированном режиме:

set vmps state disable

2.3 Настройка динамических портов на VMPS клиентах.

Для настройки динамических портов VMPS клиентов коммутаторов необходимо выполнить следующие команды в привилегированном режиме:

  1. Указать IP адрес VMPS сервера (коммутатор, на котором активна функция VMPS):
  2. set vmps server ip_addr [primary]
  3. Проверить выполнение предыдущей команды можно выполнив:
  4. br show vmps server
  5. Выбрать порт, чтобы назначить его в динамический VLAN.
  6. set port membership mod/port dynamic
  7. Проверить назначения порта в динамический VLAN:
  8. show port [mod[/port]

2.4 Администрирование и мониторинг VMPS

Для получения информации о соответствии MAC-адресов к VLAN’ом необходимо ввести следующие команды в привилегированном режиме:

  • Посмотреть в какой VLAN входит указанный MAC-адрес: show vmps mac [mac_address]
  • Посмотреть MAC-адреса которые входят в указанный VLAN: show vmps vlan [vlan_name]
  • Показать порты назначенные на VLAN: show vmps vlanports [vlan_name]

Для отображения информации о статистики VMPS:

show vmps statistics

Для сброса статистики VMPS:

clear vmps statistics

Для сброса IP адреса VMPS сервера на клиенте:

clear vmps server ip_addr

Для того чтобы переконфигурировать членство портов в динамическом VLAN’е:

reconfirm vmps

Для проверки введенной выше команды:

show dvlan statistics

Для загрузки файла конфигурации БД VMPS c TFTP сервера или из другого источника:

download vmps

Для просмотра файла конфигурации БД VMPS на коммутаторе:

show vmps

2.5 Настройка коммутаторов для отправки системных сообщений

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

Пример 2.2 «Настройка отправки системных сообщений на удаленный компьютер»

configure terminal
logging 192.168.1.2
end
Так же необходимо настроить уровень детализации системных сообщений, так как нам интересны сообщения касающиеся только подключений к портам.

Пример 2.3 «Настройка уровня детализации системных сообщений»

configure terminal
logging trap 4
end
Где «logging trap 4» - это уровень детализации Warning, при котором отсылаются сообщения требующего внимания. Остальные сообщения, которые включает данный уровень детализации, будут игнорироваться программой.

3. Обнаружение несанкционированного подключения

Обнаружение несанкционированного подключения к портам коммутаторов основано на помещении MAC-адреса нарушителя в VLAN FallBack. Настроив коммутатор посылать системные сообщения, мы можем в последующем их обработать. Просматривать приходящие сообщения вручную (пример 3.1) и определять какое из них сообщает о помещения порта в VLAN FallBack очень утомительное занятие. Необходимо автоматизировать процесс.

Пример 3.1 «Формат Syslog-сообщения, посылаемого коммутатором при подключении к порту»

<132>1449: 1w4d: %CDP-4-NATIVE_VLAN_MISMATCH:
Native VLAN mismatch discovered on FastEthernet0/7 (1), with 066540098(TEST-SW5505) 4/31 (99).

Из сообщения представленного в примере 3.1 видно, что коммутатор обнаружил, что на порту Fast Ethernet 0/7 к которому подключен коммутатор «ТЕSТ-SW5505», порт 4/31 назначен в 99 VLAN. Соответственно сравнив номер VLANа в сообщении с номером FallBack VLANа, можно сделать вывод о несанкционированном подключении и выслать уведомление, например по электронной почте.

Рассмотрим пример 3.2, где приведен отрывок программы созданной при помощи C++ Builder 6.0 с помощью которого можно выделять полезные сообщения несущие информацию о несанкционированных подключениях.

Пример № 3.2 «Отрывок программы»

//Данные строчки размещаться в событии OnUDPRead компоненты IdUDPServer

AnsiString Message = «»;
//создаем поток для записи в переменную UDP сообщения
TStringStream *SS = new TstringStream(“”);
SS->CopyFrom(Adata,Adata->Size);
Message = SS->DataString;
AnsiString IPinUDP = UDPServer->Bindings->Items[0]->PeerIP;

// Не забыть ввести в свойство Default Port компоненты IdUDPServer - 514, так как коммутатор посылает сообщения на этом порту

//Просмотр входящих сообщений на наличие нужных

int DlinaVlanFallBack =  StrLen (FormMomVMPS->EditNomerVlanFallBack->Text.c_str());

//необходимо вычислить количество символов, чтобы оценить количество циклов по проверке сообщения.

DlinaVlanFallBack = DlinaVlanFallBack +1;
int dlinaSysLog = StrLen (Message.c_str()); //количество символов в полученном сообщении
int Y=0;
int N=0;
int uslovieSysLog = 0;
// Проверяем по символьно полученное сообщение на наличие сообщения типа: «(номер VLANа)»
for (Y=1; Y!=dlinaSysLog; Y++)
{
AnsiString Pr = Message[Y];
if (Message[Y] == '(') //так как номер VLANа в скобках то начинаем проверку с на-личия «левой» скобки.
{ //теперь проверяем по символьно номер VLANа
for (N=1; N !=DlinaVlanFallBack; N++)
{
AnsiString Pr2 = FormMomVMPS->EditNomerVlanFallBack->Text[N];
Y=Y+1;
if (Message[Y] == FormMomVMPS->EditNomerVlanFallBack->Text[N])
uslovieSysLog = 1; //если номер VLANа совпал с номером FallBack VLANа

Pr = Message[Y];
}
if (uslovieSysLog == 1) //убедиться в корректности отловленного сообщения, чтобы исключить ошибку надо проверить на наличие «правой» скобки
{
Y=Y+1;
if (Message[Y] == ')') // значит отловили строчку от '(' до ')'
{ //Отправляем уведомление
MainForm->SMTP->Connect(); //Соединиться
if (MainForm->SMTP->Connected)
{
SMTP->UserID = PostForm->EditMailUserName->Text; //Имя пользователя
SMTP->Host = PostForm->EditMailServerSMTP->Text;
SMTP->PostMessage->FromAddress = PostForm->EditEmailOut->Text;
SMTP->PostMessage->FromName = “SysLog FallBack VMPS”; //от гого
SMTP->PostMessage->Subject = PostForm->EditSub->Text; //тема письма
SMTP->PostMessage->ToAddress->Add(PostForm->EditEmail->Text); //кому: e-mail Администратора
//Формируем тело письма
MemoSysLog->Lines->Add(“Date: “+ DateToStr(Date()));//Дата
MemoSysLog->Lines->Add(“Time: “+ TimeToStr(Now()));//Время
MemoSysLog->Lines->Add(“Message from IP: “+ IPinUDP); // IP адрес уст-ройства пославшего сообшение
// Так же в поле Memo добавляем полученное сообщение о несанкциони-рованном подключении
MemoSysLog->Lines->Add(DateToStr(Date())+” “+TimeToStr(Now())+” “+Message); //Добавили в закладку обнаруженных MAC
//----------------------
SMTP->PostMessage->Body->Assign(MemoSysLog->Lines);
SMTP->SendMail();
}

else ShowMessage(«Нет соединения с почтовым сервером»);
if (MainForm->SMTP->Connected)
SMTP->Disconnect(); //Разьединить
Message = “”;
return;
}
}
}
}
Таким образом можно создать еще один барьер безопасности.

Дополнительно для удобства можно создать базу данных для хранения данных о MAC адресах и принадлежность к VLAN и пользователях. И автоматически создавать из базы данных конфигурационный файл VMPS.

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

или введите имя

CAPTCHA