Сравнение коммутаторов
Сравнение коммутаторов.
В связи с тем, что у меня закончились запасы DES-35{26|50}, остро встал вопрос о замене. Из кандидатов на замену:
- Alcatel-Lucent LS-6224
- Dlink DES -3028 (у меня его нет в наличии, вместо него вцелом аналогичный DES-3526 - тесты делались много раз.)
- Alied Telesyn AT-8000S
- Accton Edge-Core ES-3528XA-v2
К сожалению, я не имею информации о закупочных ценах, но по моим данным самый дешевый и коммутаторов - Accton Edge-Core ES-3528XA-v2
Все коммутаторы имеют 24 порта 10/100 и 2-4 порта combo.
Необходимый функционал
Совершенно необходимым для коммутатора уровня доступа я считаю:
- DHCP Snooping
- Option 82 Insertion
- ACL (фильтрация на уровне номера порта tcp/udp и номеров протоколов ip считаю вполне достаточной)
- VLAN (число 64 считаю вполне достаточно для коммуттатора который не планируется как транзитный)
- IP Source Guard (ф-я может называться по разному в зависимости от вендора)
- Loopback detect
- Port Security
- Storm Control
- MSTP с возможностью полной блокировки любых STP-пакетов на клиентских портах. (этот момент сомнителен, коммутаторы на доме почти всегда имеют только один аплинк)
Описанный функционал вытекает из того факта, что используется схема влан-на-группу-домов. Это с одной стороны, позволяет разгрузить агрегатоы (недешевые), с другой - налагает повышенные требования на коммутаторы досупа. Дискуссия о достоинствах или недостатоках этой схемы перед схемой влан-на-абонента выходит за пределы этой статьи.
Функционал, который желателен но обязательным не является
- Авторизация доступа на коммутатор с использованием RADIUS-сервера. С разграничением полномочий для предоставления досупа низкоквалифицированному персоналу без возможности внесения изменений в конфигурацию.
- Кабельный тестер
- Возможность снимать информацию о маках коммутатора и о состояни DHCP Snooping database по SNMP
- SNMP v3, ssh (вместо телнета), ACL на интерфейс управления коммутатором, получение времени по ntp, пересылка сообщений на удаленный syslog.
- Поддержка "китайских" SFP. (Возиться с программатором безплатно не хочется.)
Отдельно отмечу, что на данный момент работа с мультикастом не требуется, и в связи с полным отсутвием опыта у меня в этой области, от тестирования пока отказался.
Тесты
Определяю базовый набор тестов.
- Получения ip адреса тестовым компьютером на основе данных коммутатор-влан-порт.
- Проверка работы IP Source Guard.
- Проверка работы ACL
- Атака Arppoison на коммутатор с "клиентского" порта.
- Проверка работы Loopback Detect
- Проверка работы Broadcast Storm Control (как?)
ALcatel-Lucent LS-6224
у меня для теста достался следующий коммутатор:
test# sh ver SW version 1.5.1.7 ( date 26-Feb-2008 time 17:04:09 ) Boot version 1.0.0.12 ( date 19-Oct-2006 time 09:07:37 ) HW version 00.00.01
DHCP Snooping + Opt. 82 + ip source guard
Конфиг DHCPd
Кофигурирую DHCPd (максимально простой конфиг):
... class "port-1" { match if ( binary-to-ascii(10, 16, "", substring(option agent.circuit-id, 2, 2)) = "201" and binary-to-ascii(10, 8, "/", suffix(option agent.circuit-id, 1)) = "1" ); } ... shared-network "clients" { subnet 172.16.253.0 netmask 255.255.255.252 { } subnet 10.200.0.0 netmask 255.255.0.0 { option subnet-mask 255.255.0.0; option broadcast-address 10.200.255.255; option routers 10.200.0.1; pool { range 10.200.0.2; allow members of "port-1"; } pool { } }
Конфиг коммутатора
Наиболее важные моменты в конфигурации коммутатора:
interface range ethernet e(1-24) dot1x multiple-hosts security mode max-addresses port security max 10 port security discard switchport access vlan 201 loopback-detection enable service-acl input test2 ip source-guard exit ip dhcp snooping ip dhcp snooping vlan 201 interface ethernet g1 ip dhcp snooping trust exit ip source-guard ip source-guard tcam retries-freq 600 interface vlan 1 ip address 172.16.253.2 255.255.255.0 exit ip default-gateway 172.16.253.1 ip access-list test2 permit any 10.200.0.0 0.0.255.255 10.200.0.1 0.0.0.0 permit any 10.199.0.0 0.0.255.255 10.199.0.1 0.0.0.0 deny any 10.200.0.0 0.0.255.255 any deny any 10.199.0.0 0.0.255.255 any permit any any any exit hostname test ip ssh server
Проверка работы
При запросе DHCP от клиента в Vlan201 вижу:
... поскипано ... Option: (t=82,l=18) Agent Information Option Option: (82) Agent Information Option Length: 18 Value: 0106000400C90101020800060012CF84D420 Agent Circuit ID: 000400C90101 Agent Remote ID: 00060012CFXXXXXX End Option
Где
Agent Circuit ID: 00C90101
Значение Circuit ID побайтно:00 04 00C9 01 01
00 - Тип Circit ID (Всегда 0?) (1 байт, смещение 0)
04 - Длинна (констаната? почему такое значение?) (1 байт, смещение 1)
00C9 - VLAN ID (2 байта, смещение 2)
01 - Stack/Module ID (0 или 1 у stand-alone switch) 1 байт, смещение 4
01 - Port (1 байт, смещение 5)
Очевидно, что вставка Opt. 82 работает. Пробую переключь DHCP-сервер в другой порт (g2) и включаю его как не-доверительный.
interface ethernet g2 no ip dhcp snooping trust exit
После истечения времени аренды связь с тестовым хостом пропадает. При обратном переключении - восстанавливается.
sh ip dhcp snooping binding Total number of binding: 1 MAC Adreess IP Address Lease (sec) Type VLAN Interface ------------------ --------------- ------------ ---------- ---- ---------- 00:1c:23:95:8d:8b 10.200.0.2 46 learned 201 e1
ip source guard и ACL работают так как и описано в документации без всяких "но". Попытка поставить ip адрес руками а не использовать автоматическое получение приводит к неработоспособности сети (что и требовалось).
Arppoison
Для атаки Arppoison использую одноименную утилиту из пакета arptools Т.к. коммутатор поддерживает port-security то во избежание переполнения таблицы коммутации ограниваю число маков на порту до 10
interface range ethernet e(1-24) dot1x multiple-hosts security mode max-addresses port security max 10 port security discard exit
Запускаю arppoison (собрано на ноутбуке Dell, ASP linux неважно-какой-версии). Судя по tcpdump на порт коммутатора приходят пакеты со слчайными маками ...
#tcpdump -n arp -e ... 13:58:21.583911 00:2a:d4:74:c6:2e > Broadcast, ethertype ARP (0x0806), length 42: arp reply 223.134.179.92 is-at 00:2a:d4:74:c6:2e 13:58:21.587912 00:00:97:f6:a6:e6 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 206.27.51.62 is-at 00:00:97:f6:a6:e6 13:58:21.591910 00:4d:8b:2a:b9:a4 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 146.94.241.33 is-at 00:4d:8b:2a:b9:a4 13:58:21.595914 00:31:c4:b3:a7:29 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 100.146.34.25 is-at 00:31:c4:b3:a7:29 13:58:21.599913 00:03:70:44:8e:54 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 111.35.176.20 is-at 00:03:70:44:8e:54 13:58:21.603909 00:16:db:ec:bd:a3 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 111.213.245.11 is-at 00:16:db:ec:bd:a3 13:58:21.607911 00:12:a5:b2:31:4d > Broadcast, ethertype ARP (0x0806), length 42: arp reply 228.37.251.13 is-at 00:12:a5:b2:31:4d 13:58:21.611910 00:24:44:26:9f:fe > Broadcast, ethertype ARP (0x0806), length 42: arp reply 172.232.93.77 is-at 00:24:44:26:9f:fe 13:58:21.615914 00:41:9b:91:86:43 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 84.20.17.102 is-at 00:41:9b:91:86:43 13:58:21.619912 00:37:4f:2b:f4:de > Broadcast, ethertype ARP (0x0806), length 42: arp reply 40.170.168.93 is-at 00:37:4f:2b:f4:de 13:58:21.624664 00:04:27:5c:f9:e4 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 210.39.51.64 is-at 00:04:27:5c:f9:e4 13:58:21.627957 00:06:20:a6:c9:52 > Broadcast, ethertype ARP (0x0806), length 42: arp reply 205.37.44.0 is-at 00:06:20:a6:c9:52
На коммутаторе наблюдаю:
test# sh bridge address-table Aging time is 300 sec Vlan Mac Address Port Type -------- --------------------- ------ ---------- 1 00:15:17:2c:a8:42 g1 dynamic 201 00:04:2f:1c:e0:52 e1 dynamic 201 00:04:e5:0f:e9:ee e1 dynamic 201 00:0c:13:1b:38:9f e1 dynamic 201 00:15:17:2c:a8:42 g1 dynamic 201 00:15:3f:db:08:c7 e1 dynamic 201 00:16:cc:0e:84:f7 e1 dynamic 201 00:1c:23:95:8d:8b e1 dynamic 201 00:20:0b:d3:22:88 e1 dynamic 201 00:3a:37:a5:ca:bb e1 dynamic 201 00:3c:76:0f:8c:b3 e1 dynamic 201 00:3f:98:e9:98:c8 e1 dynamic
При этом этот ноутбук (проводящий атаку) продолжает нормально работать до истечения времени аренды адреса. При переполучении адреса иногда возникают пролемы, что вполне естесвенно при активном arppoison с порта.
Считаю, что коммутатор вполне справляется с таким видом атаки.