...
...
...

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

введение

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

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

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

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

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

виртуальные локальные сети

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

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

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

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

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

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

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

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

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

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

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

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

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

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

- ограничить количество пользователей в группе виртуальной сети;

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

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

особенности построения 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.

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

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

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

- назначение имени VMPS-домену;

- назначение режима security mode;

- определение, если необходимо, имени FallBack VLAN. FallBack VLAN позволяет подключить в выделенный VLAN клиентов, MAC-адреса которых,не входят в БД VMPS;

- назначение соответствия MAC-адресов имени VLAN’а. Если необходимо запретить подключение к сети определенных клиентов (хостов), то напротив MAC- адреса надо указать вместо имени VLAN’а ключевое слово «--NONE--«;

- разнесение портов по логическим группам портов;

- разнесение VLAN’ов по логическим группам VLAN’ов;

- определение соответствия VLAN’ов портам, то есть разрешение установки определенных VLAN’ов только на указанные порты.

Можно также вносить комментарии в файл конфигурации, вводя символ «!» перед строчкой.
Ниже приведен пример файла конфигурации БД 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
!
!


настройка VMPS

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

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

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

set vmps downloadmethod rcp | tftp [username]

Указать IP-адрес TFTP- или rcp-сервера, где размещен конфигурационный файл БД VMPS:

set vmps downloadserver ip_addr [filename]

Разрешить работу VMPS:

set vmps state enable

Посмотреть конфигурацию VMPS на коммутаторе можно с помощью команды

show vmps

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

set vmps state disable

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

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

Указать IP-адрес VMPS-сервера (коммутатор, на котором активна функция VMPS):

set vmps server ip_addr [primary]

Проверить выполнение предыдущей команды можно с помощью

br show vmps server

Выбрать порт, чтобы назначить его в динамический VLAN:

set port membership mod/port dynamic

Проверить назначение порта в динамический VLAN можно командой

show port [mod[/port]

администрирование и мониторинг 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

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

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

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

configure terminal
logging 192.168.1.2
end


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

configure terminal
logging trap 4
end


Где 4 - это уровень детализации Warning, при котором отсылаются сообщения, требующие внимания.

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

Обнаружение несанкционированного подключения к портам коммутаторов основано на помещении MAC-адреса нарушителя в VLAN FallBack.

Итак, мы настроили коммутатор на отсылку системных сообщений. Теперь нам нужно решить, как эти сообщения обрабатывать. Просматривать приходящие сообщения вручную и определять, какое из них сообщает нам о помещении порта в VLAN FallBack - очень утомительное занятие. Необходимо автоматизировать процесс.

Syslog-сообщение, посылаемое коммутатором при подключении к порту имеет следующий формат:

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

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

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

// Данные строчки размещаться в событии 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.



Алексей Лило


© Сетевые решения