Comments 16
Приятно было почитать — все сведено в одну статью, все под рукой. Спасибо за материал!
Отличная статья, спасибо!
Планируете продолжать? ;)
Планируете продолжать? ;)
Вот он я…
>Для управления (если возможно) не используем HTTP, только HTTPS
Лучше ни то, ни другое. Там немерено векторов атак. Если где-то требуется включить их для вспомогательных целей вроде редиректа в рамках 802.1x, то можно сделать так:
ip http secure-active-session-modules none
ip http active-session-modules none
>Отключаем Gratuitous ARP
Очень странная рекомендация. Даже больше скажу — если бы она работала так, как вы думаете, то эта команда была бы откровенно вредоносной в большинстве сценариев (домашнее задание: опишите, в каких случаях ее использование сильно аукнулось бы и сделало бы даунтайм). Но нет, она работает не так, как вы думаете. Вот набросал пример в лабе.
SW02#show run | in arp
no ip gratuitous-arps
SW02#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 0 30e4.db16.7791 ARPA Vlan45
Internet 192.168.100.42 — 001b.8f96.6ec3 ARPA Vlan45
R00(config-subif)#int gi0/1
R00(config-if)#mac-address dead.beef.1234
R00(config-if)#int gi0/1.45
R00(config-subif)#shutdown
R00(config-subif)#no shutdown
SW02#
*Aug 7 03:57:18: IP ARP: rcvd rep src 192.168.100.41 dead.beef.1234, dst 192.168.100.41 Vlan45
SW02#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 0 dead.beef.1234 ARPA Vlan45
Internet 192.168.100.42 — 001b.8f96.6ec3 ARPA Vlan45
>Суть заключается в том, что коммутатор запоминает за каким портом у него легальный dhcp сервер, тем самым выполнить dhcp starvation attack (ну или кто-то просто принес из дома dlink) с портов доступа не получится.
От DHCP starvation это не спасет, там не обязательно с высоким pps слать пакеты, может хватить даже одного в минуту. От левого DHCP сервера спасет. А еще dhcp snooping классную таблицу дает, которая содержит сразу порт, мак и IP, причем експайрится независимо от arp и cam таблиц.
Вообще, странная статья. Надо как минимум разделять разные периметры. Есть «вражеские», где требуется огородиться по полной. Есть «более-менее доверенные», где можно и нужно пожертвовать безопасностью и изоляцией ради того, чтобы это хоть как-то можно было сопровождать (чем больше ограничений на сети, тем больше будет происходить факапов из-за отсутствия координации между подразделениями и «кто-то что-то забыл». Ваши рекомендации вроде бы для периметра с врагами — но опускают массу необходимых вещей вроде COPP, блокирования IPv6 (или хотя бы RA) и так далее.
Отдельный плюс за упоминание storm-control. Многие забывают, а штука нужная.
>Для управления (если возможно) не используем HTTP, только HTTPS
Лучше ни то, ни другое. Там немерено векторов атак. Если где-то требуется включить их для вспомогательных целей вроде редиректа в рамках 802.1x, то можно сделать так:
ip http secure-active-session-modules none
ip http active-session-modules none
>Отключаем Gratuitous ARP
Очень странная рекомендация. Даже больше скажу — если бы она работала так, как вы думаете, то эта команда была бы откровенно вредоносной в большинстве сценариев (домашнее задание: опишите, в каких случаях ее использование сильно аукнулось бы и сделало бы даунтайм). Но нет, она работает не так, как вы думаете. Вот набросал пример в лабе.
SW02#show run | in arp
no ip gratuitous-arps
SW02#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 0 30e4.db16.7791 ARPA Vlan45
Internet 192.168.100.42 — 001b.8f96.6ec3 ARPA Vlan45
R00(config-subif)#int gi0/1
R00(config-if)#mac-address dead.beef.1234
R00(config-if)#int gi0/1.45
R00(config-subif)#shutdown
R00(config-subif)#no shutdown
SW02#
*Aug 7 03:57:18: IP ARP: rcvd rep src 192.168.100.41 dead.beef.1234, dst 192.168.100.41 Vlan45
SW02#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 0 dead.beef.1234 ARPA Vlan45
Internet 192.168.100.42 — 001b.8f96.6ec3 ARPA Vlan45
>Суть заключается в том, что коммутатор запоминает за каким портом у него легальный dhcp сервер, тем самым выполнить dhcp starvation attack (ну или кто-то просто принес из дома dlink) с портов доступа не получится.
От DHCP starvation это не спасет, там не обязательно с высоким pps слать пакеты, может хватить даже одного в минуту. От левого DHCP сервера спасет. А еще dhcp snooping классную таблицу дает, которая содержит сразу порт, мак и IP, причем експайрится независимо от arp и cam таблиц.
Вообще, странная статья. Надо как минимум разделять разные периметры. Есть «вражеские», где требуется огородиться по полной. Есть «более-менее доверенные», где можно и нужно пожертвовать безопасностью и изоляцией ради того, чтобы это хоть как-то можно было сопровождать (чем больше ограничений на сети, тем больше будет происходить факапов из-за отсутствия координации между подразделениями и «кто-то что-то забыл». Ваши рекомендации вроде бы для периметра с врагами — но опускают массу необходимых вещей вроде COPP, блокирования IPv6 (или хотя бы RA) и так далее.
Отдельный плюс за упоминание storm-control. Многие забывают, а штука нужная.
Ждал) как всегда интересные комментарии!
ARP протестирую) а что по поводу ip arp gratuitous none?
Про control plane policing не хотел писать в рамках этого материала, подумал будет перегружено, надеюсь в следующем будет, также как и про 802.1x, ISE и NAC.
От DHCP starvation спасет port security и dhcp snooping. Про периметры, да, возможно.
ARP протестирую) а что по поводу ip arp gratuitous none?
Про control plane policing не хотел писать в рамках этого материала, подумал будет перегружено, надеюсь в следующем будет, также как и про 802.1x, ISE и NAC.
От DHCP starvation спасет port security и dhcp snooping. Про периметры, да, возможно.
>а что по поводу ip arp gratuitous none?
А тоже не работает.
R3#show run | in arp
ip arp gratuitous none
R3#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 1 30e4.db16.7791 ARPA GigabitEthernet0/1.45
Internet 192.168.100.42 — d057.4c50.eaa1 ARPA GigabitEthernet0/1.45
R3#
.Mar 3 08:46:19.990: IP ARP: rcvd rep src 192.168.100.41 dead.beef.1234, dst 192.168.100.41 GigabitEthernet0/1.45
R3#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 0 dead.beef.1234 ARPA GigabitEthernet0/1.45
Internet 192.168.100.42 — d057.4c50.eaa1 ARPA GigabitEthernet0/1.45
Так почему эта команда могла бы быть вредоносной в общем случае, если бы она работала? :)
А тоже не работает.
R3#show run | in arp
ip arp gratuitous none
R3#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 1 30e4.db16.7791 ARPA GigabitEthernet0/1.45
Internet 192.168.100.42 — d057.4c50.eaa1 ARPA GigabitEthernet0/1.45
R3#
.Mar 3 08:46:19.990: IP ARP: rcvd rep src 192.168.100.41 dead.beef.1234, dst 192.168.100.41 GigabitEthernet0/1.45
R3#show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.100.41 0 dead.beef.1234 ARPA GigabitEthernet0/1.45
Internet 192.168.100.42 — d057.4c50.eaa1 ARPA GigabitEthernet0/1.45
Так почему эта команда могла бы быть вредоносной в общем случае, если бы она работала? :)
Честно говоря наиболее вредоносное, что мне пришло в голову это конфликты IP в инфре. Если не угадал, будет интересно узнать.
Ok, согласен. Буду иметь ввиду. Обычно то, с чем я сталкивался (active/active или active/stand by) синкалось через отдельный интерфейс напрямую, и это были не Cisco устройства.
Странно:
В справке на сайте Cisco
ip arp gratuitous { local | none}
no ip arp gratuitous
local
Accepts only local (same subnet) gratuitous arps.
none
Rejects gratuitous arp control
А в консоли написано:
none
Rejects all gratuitous arp
Где правда?)
В справке на сайте Cisco
ip arp gratuitous { local | none}
no ip arp gratuitous
local
Accepts only local (same subnet) gratuitous arps.
none
Rejects gratuitous arp control
А в консоли написано:
none
Rejects all gratuitous arp
Где правда?)
А черт его знает. Будь у меня исходники, я бы туда посмотрел, или девелоперов спросил бы. Воспроизводится оно на двух совершенно разных и разделенных годами версиях софта, так что явно не баг. Может, намеренно сломали, потому что уж больно мерзок характер вызванных этой командой проблем (стабильное отсутствие связи несколько минут, дальше внезапно всё само восстанавливается). Или вообще никогда не работало.
Если есть смартнет — можете кейс завести…
Если есть смартнет — можете кейс завести…
Добрый день.
На самом деле это не совсем верно.
!--- Включаем технологию, чтобы ей можно было пользоваться. Делать она ничего не будет, пока не назначена на VLAN
#ip dhcp snooping
!--- Назначаем на VLAN. После ввода на заданном VLAN-е все DHCP-reply на UNTRUSRED-портах (по дефолту они все такие) буду блокироваться
#ip dhcp snooping vlan 123
ЗЫ: вообще материал и иллюстрации статьи сильно смахивают на перевод видео Кейта Баркера из курса 300-206 SENSS.
Тем не менее ценность его не снижает :)
Snooping table
…
Включается режим отдельно на всю железку и vlans:
На самом деле это не совсем верно.
!--- Включаем технологию, чтобы ей можно было пользоваться. Делать она ничего не будет, пока не назначена на VLAN
#ip dhcp snooping
!--- Назначаем на VLAN. После ввода на заданном VLAN-е все DHCP-reply на UNTRUSRED-портах (по дефолту они все такие) буду блокироваться
#ip dhcp snooping vlan 123
ЗЫ: вообще материал и иллюстрации статьи сильно смахивают на перевод видео Кейта Баркера из курса 300-206 SENSS.
Тем не менее ценность его не снижает :)
Sign up to leave a comment.
Безопасная Cisco