Разблокируем порты коммутатора cisco с помощью zabbix, ansible и napalm

Conclusion (and bonus tips)

In this article, we covered all the details you need to configure and troubleshoot Port Security. We used several commands, both for configuring and troubleshooting this powerful technology. Here’s a recap.

  • turns on this feature on an interface
  • Tune the configuration with , and
  • Define the violation with :
    • Use to drop silently
    • Choose to drop with an alert
    • Use to block the port
  • Verify and troubleshoot using and
  • Manually recover with and , or wait for the timeout

Now, here’s a quick tip. From many questions that might arise about Port Security, this is quite common. What maximum value should I set? Well, dear reader, it depends. What is important is that you set it. Set it even at 50, but set it. This will save you from very dangerous attacks. If you already set it, then we can discuss a more realistic value. Personally, I would stick with the minimum needed. If you plan to connect a computer, use 1. Instead, if you plan to connect an IP phone and a computer, use 2.

Now that we know all the secrets, we are ready to pause with topic related to switching and start something a little bit more advanced: routing. In the next article in the CCNA course, we will introduce just that!

[править] Роль коммутаторов в безопасности канального уровня

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

Поэтому сам коммутатор и протоколы, которые используют коммутаторы могут быть целью атак.
Более того, некоторые настройки коммутаторов (как правило, это настройки по умолчанию) позволяют выполнить ряд атак и получить несанкционированный доступ к сети или вывести из строя сетевые устройства.

Однако, коммутатор может быть и достаточно мощным средством защиты. Так как через него происходит всё взаимодействие в сети, то логично контролировать это на нем.

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

Безопасность протоколов, которые используют коммутаторы

Spanning Tree Protocol (STP)

802.1Q (VLAN)

Link Layer Discovery Protocol (LLDP)

Cisco Discovery Protocol (CDP)

VLAN Trunking Protocol (VTP)

Dynamic Trunking Protocol (DTP)

Hot Standby Router Protocol (HSRP)

Функции коммутаторов для обеспечения безопасности работы сети на канальном уровне

Функция коммутатора От каких атак защищает
Port security Переполнение таблицы коммутации, несанкционированная смена MAC-адреса
DHCP Snooping Подмена DHCP-сервера в сети, DHCP starvation
Dynamic ARP Inspection ARP-spoofing
IP Source Guard IP-spoofing

Port security

Основная страница: Port security

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

Используется для предотвращения:

  • несанкционированной смены MAC-адреса сетевого устройства или подключения к сети,
  • атак направленных на переполнение таблицы коммутации.

DHCP Snooping

Основная страница: DHCP snooping

DHCP snooping — функция коммутатора, предназначенная для защиты от атак с использованием протокола DHCP.
Например, атаки с подменой DHCP-сервера в сети или атаки DHCP starvation, которая заставляет DHCP-сервер выдать все существующие на сервере адреса злоумышленнику.

DHCP snooping регулирует только сообщения DHCP и не может повлиять напрямую на трафик пользователей или другие протоколы.
Некоторые функции коммутаторов, не имеющие непосредственного отношения к DHCP, могут выполнять проверки на основании
таблицы привязок DHCP snooping (DHCP snooping binding database).
В их числе:

  • Dynamic ARP Protection (Inspection) — проверка ARP-пакетов, направленная на борьбу с ARP-spoofing,
  • IP Source Guard — выполняет проверку IP-адреса отправителя в IP-пакетах, предназначенная для борьбы с IP-spoofingом.

Dynamic ARP Inspection (Protection)

Основная страница: Dynamic ARP Inspection

Dynamic ARP Inspection (Protection) — функция коммутатора, предназначенная для защиты от атак с использованием протокола ARP.
Например, атаки ARP-spoofing, позволяющей перехватывать трафик между узлами, которые расположены в пределах одного широковещательного домена.

Dynamic ARP Inspection (Protection) регулирует только сообщения протокола ARP и не может повлиять напрямую на трафик пользователей или другие протоколы.

IP Source Guard

Основная страница: IP Source Guard

IP Source Guard (Dynamic IP Lockdown) — функция коммутатора, которая ограничивает IP-трафик на интерфейсах 2го уровня, фильтруя трафик на основании таблицы привязок DHCP snooping и статических соответствий. Функция используется для борьбы с IP-spoofingом.

Аутентификация при доступе к сети

[править] Базовые настройки безопасности

Отображение паролей в конфигурационном файле

По умолчанию следующие настройки хранятся во flash и не видны в конфигурационном файле коммутатора:

  • Локальные пароли и (опционально) имена пользователей с уровнем доступа manager и operator, которые используются для доступа к коммутатору;
  • Локальные имя пользователя и пароль 802.1X port-access. Эта возможность используется для аутентификации коммутатора;
  • Открытые ключи SSH;
  • SNMP security credentials;
  • Пароли (shared secrets) для RADIUS и TACACS+

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

switch(config)# include-credentials 

Безопасность передней панели (front-panel)

На передней панели коммутатора есть две кнопки: Reset и Clear. С их помощью можно выполнять такие действия:

  • Clear Password — сбросить пароли с помощью кнопки Clear;
  • Factory Reset — сбросить все настройки на коммутаторе с помощью кнопок Reset и Clear;
  • Password Recovery — восстановить пароли с помощью one-time-use пароля, который предоставляет ProCurve Customer Care.

Независимо от того, какие настройки включены или выключены на передней панели, кнопка Reset будет перегружать коммутатор.

Просмотр информации о настройках безопасности передней панели (настройки по умолчанию):

switch# show front-panel-security
Clear Password		- Enabled
  Reset-on-clear	- Disabled
Factory Reset		- Enabled
Password Recovery	- Enabled
  • Настройки безопасности передней панели хранятся во flash памяти коммутатора и не появляются в конфигурационном файле.
  • Удаление стартового конфигурационного файла не восстанавливает настройки безопасности передней панели в значение по умолчанию.

Отключение функции сброса пароля:

switch(config)# no front-panel-security password-clear

Включение функции перезагрузки после сброса пароля:

switch(config)# front-panel-security password-clear reset-on-clear

При включении reset-on-clear, функция сброса пароля тоже будет включена.

Отключение функции сброса настроек коммутатора:

switch(config)# no front-panel-security factory-reset

Отключение функции восстановления пароля:

switch(config)# no front-panel-security password-recovery

Обязательно должна быть включена одна из двух функций: factory-reset или password-recovery

[править] Connection-rate filtering (Virus Throttle)

Кроме названия connection-rate filtering к этой функции применяются также названия Virus Throttle и virus filtering.

Настройка connection-rate filtering

  • Включить connection-rate filtering глобально на коммутаторе (включается при настройке чувствительности обнаружения);
  • Назначить connection-rate filtering к конкретным портам:
  • (опционально) Настроить connection-rate ACL.

Включение connection-rate filtering:

switch(config)# connection-rate-filter sensitivity <low | medium | high | aggressive>

Значения соответствующие различным уровням чувствительности:

Уровень чувствительности обнаружения Частота запросов на соединение (сек) Количество новых адресов получателей Период блокирования (сек)
Low < 0.1 54 <30
Medium < 1.0 37 30-60
High < 1.0 22 60-90
Aggressive < 1.0 15 90-120

Отключение connection-rate filtering:

switch(config)# no connection-rate-filter

Назначение connection-rate filtering на порты:

switch(config)# filter connection-rate <port-list> <notify-only | throttle | block>

Чувствительность устанавливается глобально на весь коммутатор, а режим реагирования на превышение установленного уровня чувствительности может устанавливаться разным на разные порты.

Просмотр настроек connection-rate filtering:

switch(config)# show connection-rate-filter

Просмотр заблокированных хостов:

switch(config)# show connection-rate-filter all-host

Разблокирование компьютера

switch(config)# connection-rate-filter unblock host 10.0.2.1

Применение connection-rate ACL

Создание connection-rate ACL:

switch(config)# ip access-list connection-rate-filter <name>
switch(cfg-crf-nacl)# <filter | ignore> ip <any | host <ip-addr> | <ip-addr> <acl-mask>
                                 <filter | ignore> <tcp | udp>  <any | host <ip-addr> | <ip-addr> <acl-mask>
                                 ]
                                 ]

Применение ACL к VLAN (реально ACL будет применять только к тем портам в VLAN, на которых настроена connection-rate filtering):

switch(config)# vlan <vlan-id> ip access-group <name> connection-rate-filter 

Enabling Port Security

Port security can be enabled with default parameters by issuing a single command on an interface:

Switch(config)# interface f0/13
Switch(config-if)# switchport port-security

Although only a single interface is used for illustration in this article, port security, if configured, is typically configured on all user-facing interfaces.

We can view the default port security configuration with :

Switch# show port-security interface f0/13
Port Security              : Enabled
Port Status                : Secure-down
Violation Mode             : Shutdown
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 1
Total MAC Addresses        : 0
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 0
Last Source Address:Vlan   : 0000.0000.0000:0
Security Violation Count   : 0

As you can see, there are a number of attributes which can be adjusted. We’ll cover these in a moment.

When a host connects to the switch port, the port learns the host’s MAC address as the first frame is received:

Switch# show port-security interface f0/13
Port Security              : Enabled
Port Status                : Secure-up
Violation Mode             : Shutdown
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 1
Total MAC Addresses        : 1
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 0
Last Source Address:Vlan   : 001b.d41b.a4d8:10
Security Violation Count   : 0

Now, we disconnect the host from the port, connect a small switch or hub, and reconnect the original host plus a second, unauthorized host so that they both attempt to share the access port. Observe what happens as soon as the second host attempts to send traffic:

%PM-4-ERR_DISABLE: psecure-violation error detected on Fa0/13, putting Fa0/13 in err-disable state
%PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address 0021.55c8.f13c on port FastEthernet0/13.
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/13, changed state to down
%LINK-3-UPDOWN: Interface FastEthernet0/13, changed state to down

Inspecting the status of port security on the port again, we can see that the new MAC address triggered a violation:

Switch# show port-security interface f0/13
Port Security              : Enabled
Port Status                : Secure-shutdown
Violation Mode             : Shutdown
Aging Time                 : 0 mins
Aging Type                 : Absolute
SecureStatic Address Aging : Disabled
Maximum MAC Addresses      : 1
Total MAC Addresses        : 0
Configured MAC Addresses   : 0
Sticky MAC Addresses       : 0
Last Source Address:Vlan   : 0021.55c8.f13c:10
Security Violation Count   : 1
Switch# show interfaces f0/13
FastEthernet0/13 is down, line protocol is down (err-disabled) 
  Hardware is Fast Ethernet, address is 0013.c412.0f0d (bia 0013.c412.0f0d)
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
...

By default, a port security violation forces the interface into the error-disabled state. An administrator must re-enable the port manually by issuing the interface command followed by . This must be done after the offending host has been removed, or the violation will be triggered again as soon as the second host sends another frame.

[править] Cisco IOS Firewall

Context-based Access Control (CBAC)

Создание правила инспектирования:

dyn1(config)# ip inspect name GEN tcp
dyn1(config)# ip inspect name GEN udp
dyn1(config)# ip inspect name GEN icmp

Применение правила инспектирования на интерфейсе:

dyn1(config)# interface FastEthernet0/0
dyn1(config-if)# ip inspect GEN in

Настройка таймеров

Значения таймеров по умолчанию:

dyn1#sh ip inspect config 
Session audit trail is disabled
Session alert is enabled
one-minute (sampling period) thresholds are  connections
max-incomplete sessions thresholds are 
max-incomplete tcp connections per host is unlimited. Block-time 0 minute.
tcp synwait-time is 30 sec -- tcp finwait-time is 5 sec
tcp idle-time is 3600 sec -- udp idle-time is 30 sec
tcp reassembly queue length 16; timeout 5 sec; memory-limit 1024 kilo bytes
dns-timeout is 5 sec
Inspection Rule Configuration
 Inspection name GEN
    tcp alert is on audit-trail is off timeout 3600
    udp alert is on audit-trail is off timeout 30
    icmp alert is on audit-trail is off timeout 10

Время ожидания установки TCP-соединений (по умолчанию 30 секунд):

dyn1(config)# ip inspect tcp synwait-time 20 

Время ожидания завершения TCP-соединений (по умолчанию 5 секунд):

dyn1(config)# ip inspect tcp finwait-time 8 

Время ожидания до завершения неактивного TCP-соединение (по умолчанию 5 секунд):

dyn1(config)# ip inspect tcp idle-time 900 
dyn1(config)# ip inspect dns-timeout 8 

Ограничения для незавершенных соединений. Если количество незавершенных соединений будет более чем верхний (high) порог 800, то они будут удаляться до тех пор пока не достигнут нижнего (low) порога 600:

dyn1(config)# ip inspect max-incomplete low 600 
dyn1(config)# ip inspect max-incomplete high 800

Ограничения на незавершенные соединения от хоста.

CBAC и Java

  • ACL для блокирования Java должен быть стандартным,
  • Если примененный ACL не существует, то Java будет заблокирована со всех адресов,
  • CBAC на может обнаружить Java апплеты, которые находятся внутри архивов или передаются по FTP, Gopher или нестандартным HTTP портам.

ACL, который указывает из каких сетей разрешено прохождение Java:

dyn1(config)# access-list 3 permit 192.168.1.0 0.0.0.255

Настройка правила инспектирования:

dyn1(config)# ip inspect name Java http java-list 3 alert on audit-trail on
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector