faq обучение настройка
Текущее время: Пт мар 29, 2024 08:06

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Вс дек 09, 2007 23:56 
Не в сети

Зарегистрирован: Пт фев 23, 2007 00:08
Сообщений: 253
Собственно сабж. После запуска вводим айпи, мак, порт и номер профайла, на выходе комманды которые нужно ввести на свиче. Может кому будет полезно.

#!/usr/bin/perl

print "IPv4 address (xxx.xxx.xxx.xxx): ";
$ipaddr = <STDIN>;
chomp ($ipaddr);
die "invalid IP address\n" if (! ($ipaddr =~ /^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/));
($ip1, $ip2, $ip3, $ip4) = split (/\./, $ipaddr);
die "invalid IP address\n" if ($ip1 > 255 || $ip2 > 255 || $ip3 > 255 || $ip4 > 255);
$i1 = sprintf ("%.2X", $ip1);
$i2 = sprintf ("%.2X", $ip2);
$i3 = sprintf ("%.2X", $ip3);
$i4 = sprintf ("%.2X", $ip4);

print "MAC address (xx:xx:xx:xx:xx:xx): ";
$macaddr = <STDIN>;
die "invalid MAC address\n" if (! ($macaddr =~ /^[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}$/));
($m1, $m2, $m3, $m4, $m5, $m6) = split (/:/, $macaddr);

print "Switch port (1..26): ";
$port = <STDIN>;
chomp ($port);
die "Invalid port\n" if ($port <= 0 || $port > 26);

print "Profile id: ";
$pid = <STDIN>;
chomp ($pid);
die "Invalid profile id\n" if ($pid <= 0 || $pid > 255);


print "\n";
print "create access_profile packet_content_mask offset_16-31 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF 0xFFFFFFFF offset_32-47 0xFFFFFFFF 0x0 0x0 0x0 profile_id $pid\n";
$pid++;
print "create access_profile packet_content_mask offset_16-31 0xFFFF0000 0x0 0xFFFF0000 0x0 profile_id $pid\n";
print "\n";

# we use port number as access_id
$aid = $port;

$pid--;
print "config access_profile profile_id $pid add access_id $aid packet_content_mask offset_16-31 0x08060001 0x08000604 0x0002$m1$m2 0x$m3$m4$m5$m6 offset_32-47 0x$i1$i2$i3$i4 0x0 0x0 0x0 port $port permit\n";
$pid++;
print "config access_profile profile_id $pid add access_id $aid packet_content_mask offset_16-31 0x08060000 0x0 0x00020000 0x0 port $port deny\n";


Последний раз редактировалось KabaH Пт дек 28, 2007 20:40, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 10, 2007 15:48 
Не в сети

Зарегистрирован: Вт дек 26, 2006 11:39
Сообщений: 88
Откуда: Красноярск
напиши пожалуйста искомые правила и профили которые создает скрипт если можно с объяснениями а то из кода не совсем догнал что имеено ты блокируешь


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 10, 2007 16:01 
Не в сети

Зарегистрирован: Чт июл 29, 2004 00:03
Сообщений: 81
ArDamant писал(а):
напиши пожалуйста искомые правила и профили которые создает скрипт если можно с объяснениями а то из кода не совсем догнал что имеено ты блокируешь

ф чего там непонятного ? в конце все что после print"<содержимое>"

А вот какими командами реализовать такое в 3018 с последней прошивкой.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 10, 2007 18:02 
Не в сети

Зарегистрирован: Вт дек 26, 2006 11:39
Сообщений: 88
Откуда: Красноярск
просто я тоже занимаюсь проблемой блокирования arp флуда


выудили у клиента зараженную машину и начал экспериментировать с tcpdump


кароче выяснилось следующее сначала вирь (нод его не опознал сказал что какой нью хуэвэй) сканит полностью свою подсеть по udp отправляя пакет на 137 порт, если 137 порт закрыт то стучится на 138.

вслучае блокировки 137 и 138 портов или когда заканчивается вся подсеть он начинает спаришвать у шлюза arp - who has из базы проскананых ip или простым перебором к своему ip+1 и так далее пока не будет опрошен вся подсеть. после получения от шлюза ответа ip+mac машина отправляет подложные arp запросы жертвам в том числе и шлюзу но при этом ответ идет с mac адреса 00-00-00-00-00-00.


приэтом свич на порту видит только истинный мак сетевухи и мак 00-00-00-00-00-00 ни где не светится за исключением arp таблицы жертвы, которая выводтся коммандой arp -a и где в разделе тип будет светится надпись "недопустимый"

но если задать ACL блокирующий mac 00-00-00-00-00-00, то паразитивное действие вируса блокируется на порту

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


итого резюмируя что я делаю:
1. созадю acl по блокировке броадкаста заисключением arp и dhcp (можно найти в факе)
2. создаю acl по блокировке виндовозовской фигни типа нет биос по tcp и udp (ссылку на acl можно найти на форуме, filter который появился в новой прошивке все равно пропускает пакеты netbios)
3. создаю acl по блокировке mac 00-00-00-00-00-00 на каждом порту


и по сути все мы лочим только паразитивное при этом человек продолжает нормально работать единственное что остается это arp траф who has с перебором ip через 15 секунд, но по сути это быстро вычисляется и отключается порт зараженной машины


если кому интересно то могу скинуть конфиг а так же arp таблицы и дампы


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 10, 2007 19:32 
Не в сети

Зарегистрирован: Чт июл 29, 2004 00:03
Сообщений: 81
ArDamant писал(а):
если кому интересно то могу скинуть конфиг а так же arp таблицы и дампы


очень интересно, поделись плз в ПМ.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн дек 10, 2007 21:49 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Пт май 13, 2005 15:49
Сообщений: 20616
Откуда: D-Link, Moscow
В DES-3018 нет стандартных ACL.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 11, 2007 08:01 
Не в сети

Зарегистрирован: Вт дек 26, 2006 11:39
Сообщений: 88
Откуда: Красноярск
добрался я до работы


сам конфиг скидывать не буду ибо много текста будет :))


просто готовые acl напишу


блокирование ip бродкаста и разрешение dhcp


create access_profile packet_content_mask offset_16-31 0x0 0x0 0x000000ff 0x0 offset_32-47 0x0 0x0000ffff 0x0 0x0 profile_id 1
config access_profile profile_id 1 add access_id 1 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x00000044 0x0 0x0 port 1-25 permit
config access_profile profile_id 1 add access_id 26 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x00000043 0x0 0x0 port 1-25 deny

create access_profile ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type profile_id 2
config access_profile profile_id 2 add access_id 1 ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type 0x806 port 1-25 permit
config access_profile profile_id 2 add access_id 26 ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type 0x800 port 1-25 deny

убиваем нечисть в сети


create access_profile ip tcp dst_port_mask 0xffff profile_id 10
config access_profile profile_id 10 add access_id 1 ip tcp dst_port 135 port 1-26 deny
config access_profile profile_id 10 add access_id 27 ip tcp dst_port 137 port 1-26 deny
config access_profile profile_id 10 add access_id 53 ip tcp dst_port 138 port 1-26 deny
config access_profile profile_id 10 add access_id 79 ip tcp dst_port 139 port 1-26 deny
config access_profile profile_id 10 add access_id 105 ip tcp dst_port 445 port 1-26 deny

create access_profile ip udp dst_port_mask 0xffff profile_id 11
config access_profile profile_id 11 add access_id 1 ip udp dst_port 137 port 1-26 deny
config access_profile profile_id 11 add access_id 27 ip udp dst_port 138 port 1-26 deny


запрещаем arp подмену

create access_profile ethernet source_mac FF-FF-FF-FF-FF-FF profile_id 100
config access_profile profile_id 100 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port 26 deny



арп таблица машины жертвы

arp -a

Интерфейс: 192.168.11.114 --- 0x10003
Адрес IP Физический адрес Тип
192.168.11.67 00-00-00-00-00-00 недопустимый


arp -a

Интерфейс: 192.168.11.114 --- 0x10003
Адрес IP Физический адрес Тип
192.168.11.100 00-e0-4d-07-7a-b5 динамический



соответственно первый арп это во время флуда


второй после применения acl


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 11, 2007 14:46 
Не в сети

Зарегистрирован: Чт ноя 01, 2007 17:06
Сообщений: 4
ArDamant писал(а):
запрещаем arp подмену

create access_profile ethernet source_mac FF-FF-FF-FF-FF-FF profile_id 100
config access_profile profile_id 100 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port 26 deny


что то не рабодатет данный ACL :(

вот первый вариант генереруемый скриптом от KabaH, работает нормально, за что отдельное СПАСИБо...
но уж больно геморно привязываться к ИПам и МАКам юзеров, надо тогда автоматизировать этот процесс..


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт дек 11, 2007 17:36 
Не в сети

Зарегистрирован: Вт дек 26, 2006 11:39
Сообщений: 88
Откуда: Красноярск
а вы точно блокируете входящий трафф га порту от клиентов


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 12, 2007 12:06 
Не в сети

Зарегистрирован: Чт ноя 01, 2007 17:06
Сообщений: 4
я еще не все понял в этих ACL-ях :)

но делал по вашему образу и подобию, вот так

Цитата:
create access_profile packet_content_mask offset_16-31 0x0 0x0 0x000000ff 0x0 offset_32-47 0x0 0x0000ffff 0x0 0x0 profile_id 1
config access_profile profile_id 1 add access_id 1 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x00000044 0x0 0x0 port 1-24 permit
config access_profile profile_id 1 add access_id 26 packet_content_mask offset_16-31 0x0 0x0 0x00000011 0x0 offset_32-47 0x0 0x00000043 0x0 0x0 port 1-24 deny

create access_profile ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type profile_id 2
config access_profile profile_id 2 add access_id 1 ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type 0x806 port 1-24 permit
config access_profile profile_id 2 add access_id 26 ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type 0x800 port 1-24 deny

create access_profile ip tcp dst_port_mask 0xffff profile_id 10
config access_profile profile_id 10 add access_id 1 ip tcp dst_port 135 port 1-26 deny
config access_profile profile_id 10 add access_id 27 ip tcp dst_port 137 port 1-26 deny
config access_profile profile_id 10 add access_id 53 ip tcp dst_port 138 port 1-26 deny
config access_profile profile_id 10 add access_id 79 ip tcp dst_port 139 port 1-26 deny
config access_profile profile_id 10 add access_id 105 ip tcp dst_port 445 port 1-26 deny

create access_profile ip udp dst_port_mask 0xffff profile_id 11
config access_profile profile_id 11 add access_id 1 ip udp dst_port 137 port 1-26 deny
config access_profile profile_id 11 add access_id 27 ip udp dst_port 138 port 1-26 deny

create access_profile ethernet source_mac FF-FF-FF-FF-FF-FF profile_id 100
config access_profile profile_id 100 add access_id 1 ethernet source_mac 00-00-00-00-00-00 port 1-24 deny


с 1 по 24 порты - это юзера
25-й порт магистраль.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 12, 2007 15:28 
Не в сети

Зарегистрирован: Вт дек 26, 2006 11:39
Сообщений: 88
Откуда: Красноярск
а почему вы не блокируете и магистральные порты ведь флуд с магистрали парализует работу ваших клиентов



и еще вопрос возможно проблема в этом

config access_profile profile_id 2 add access_id 1 ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type 0x806 port 1-24 permit


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


попробуйте сменить номера правил
или дождитесь ответа длинковцев


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 12, 2007 22:19 
Не в сети

Зарегистрирован: Чт янв 19, 2006 20:35
Сообщений: 42
Откуда: NSK
Как проверить работает ли правила на блокировку сети от МС.
А то программа типа LanSpy находит порты от МС по UDP но не видит по TCP, это значит что UDP правила не работаю?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср дек 12, 2007 23:22 
Не в сети
Сотрудник D-LINK
Сотрудник D-LINK

Зарегистрирован: Пт май 13, 2005 15:49
Сообщений: 20616
Откуда: D-Link, Moscow
Вы имеете ввиду Multicast трафик?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 14, 2007 12:29 
Не в сети

Зарегистрирован: Пт фев 23, 2007 00:08
Сообщений: 253
Wit писал(а):
...но уж больно геморно привязываться к ИПам и МАКам юзеров, надо тогда автоматизировать этот процесс..


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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт дек 14, 2007 22:37 
Не в сети

Зарегистрирован: Пн сен 27, 2004 18:18
Сообщений: 1642
Откуда: Vault 13
ArDamant писал(а):
я не помню что там в приоритетах правил acl
приоритет - то что по списку 1-е - 1-м же и сработает ...
ArDamant писал(а):
и еще вопрос возможно проблема в этом

config access_profile profile_id 2 add access_id 1 ethernet destination_mac ff-ff-ff-ff-ff-ff ethernet_type 0x806 port 1-24 permit


я не помню что там в приоритетах правил acl тут лучше обратится к спецам от длинка, а суть в том что вы сначала его разрешаете а потом acl стоящим в списке ниже пытаетесь его заблокировать
внимательно посмотрите! разрешааются ARP бродкасты, а именно езернет 0х806, а потом денятся IP бродкасты, т.е. езернет 0х800 ...


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 52


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB