forum

www.SAMURAJ-cz.com 

03.12.2016 Svatoslav Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Cisco NX-OS 2 - zabezpečení komunikace na portech

Upraveno 15.11.2016 14:45 | vytvořeno 03.11.2016 14:18 | Samuraj - Petr Bouška |
V minulém článku jsme řešili bezpečnostní funkce, které zabezpečují komunikaci na portech přepínače se systémem Cisco IOS. V tomto díle se podíváme na to samé, ale pro Cisco Nexus. Nebudeme rozebírat vlastní bezpečnostní metody, ale pouze konfiguraci a změny oproti IOSu.

Můj popis se věnuje primárně přepínačům Cisco Nexus řada 3000 (jak jsem zjistil, tato řada má omezené funkce). Vše jsem testoval na switchi Cisco Nexus 3172T. Před tímto článkem doporučuji prohlédnout předchozí Cisco IOS 24 - zabezpečení komunikace na portech.

Traffic Storm Control

Odkaz do jedné z oficiálních dokumentací Cisco Nexus 3000 Series NX-OS Layer 2 Switching Configuration Guide, Release 7.x - Configuring Traffic Storm Control. Konfigurace Storm Control se provádí identicky jako v IOSu.

SWITCH(config-if)#storm-control broadcast level 10

Jiné je pouze zobrazení údajů o nastavení.

SWITCH#show interface counters storm-control
    [Action] S - Shut  (Err Disable), T - Trap
--------------------------------------------------------------------------------
Port        UcastSupp %  McastSupp %  BcastSupp %   TotalSuppDiscards Action
--------------------------------------------------------------------------------
Eth1/1           100.00        10.00        10.00                  0    [--]
Eth1/2           100.00        10.00        10.00                  0    [--]

Port Security

Cisco Nexus řada 3000 nepodporuje funkci Port Security. Ale pokud využijeme IP Source Guard, tak by nám to mělo nahradit i kontrolu MAC adres. Vyšší řady, jako 5000, ji již podporují. Je potřeba globálně povolit tuto vlastnost. Odkaz do jedné z oficiálních dokumentací Cisco Nexus 5500 Series NX-OS Security Configuration Guide, Release 7.x - Configuring Port Security.

SWITCH(config)#feature port-security

Pro náhradu Port Security bychom mohli použít MAC ACL Cisco IOS 8 - ACL - Access Control List.

SWITCH(config)#mac access-list TestACL
SWITCH(config-mac-acl)#permit host 00c0.4f00.0000 any

A to aplikovat na port jako Port ACL.

SWITCH(config)#interface ethernet 1/1
SWITCH(config-if)#mac port access-group TestACL

Nebo případně na VLANu jako VLAN map Cisco IOS 20 - VLAN access-map - VLAN map - VACL.

Problém je, že Cisco Nexus řada 3000 nepodporuje ani MAC ACL.

DHCP Snooping

DHCP Snooping se opět konfiguruje stejně jako v IOSu. Odkaz do jedné z oficiálních dokumentací Cisco Nexus 3000 Series NX-OS Security Configuration Guide, Release 7.x - Configuring DHCP Snooping.

Nejprve ale musíme povolit vlastnost DHCP a pak již používáme běžné příkazy pro zapnutí DHCP Snooping na určité VLANy a některé porty můžeme nastavit jako důvěryhodné (trusted).

SWITCH(config)#feature dhcp
SWITCH(config)#ip dhcp snooping
SWITCH(config)#ip dhcp snooping vlan 1-3967
SWITCH(config)#interface Eth1/1
SWITCH(config-if)#ip dhcp snooping trust

Zobrazení informací o konfiguraci je opět podobné.

SWITCH#show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on the following VLANs:
1-3967
DHCP snooping is operational on the following VLANs:
1,100
Insertion of Option 82 is disabled
Verification of MAC address is enabled
DHCP snooping trust is configured on the following interfaces:
Interface             Trusted
------------           -------

DHCP Snooping Binding Database

V této oblasti došlo docela k výrazné změně oproti IOSu a řekl bych, že je to jednodušší nebo minimálně přehlednější. U IOSu jsem uváděl, že mi přijde zmatené používání DHCP Snooping Binding versus IP Source Binding. Na Nexusu je toto spojené. Nekonfigurujeme agenta a záznamy se neukládají do speciálního souboru. Databáze může mít maximálně 2000 záznamů.

Statický záznam se vkládá příkazem, který spíše vypadá jako statický záznam pro IP Source Guard, ale má přeházenou syntaxi oproti IOSu. A ukládá se do běžící konfigurace.

SWITCH(config)#ip source binding 192.168.100.10 1234.abcd.1234 vlan 100 interface Eth1/1 

Pozn.: Nexus je na tom o trochu lépe nežli IOS, ale bohužel jen o málo. Záznamy se nepřepisují, ale zobrazí se chyba. A to v případě, že zadáme pro stejnou IP adresu různé MAC adresy ve stejné VLAN (VIP adresa, která se startuje na různých serverech). Nebo chceme zadat stejnou kombinaci MAC adresa a IP adresa na jiný port (virtuál, který může cestovat v clusteru na různé nody). Můžeme ale vytvořit více záznamů pro jednu MAC adresu s rozdílnými IP adresami (server má na jednom interfacu více IP adres, třeba VIP).

Výpis záznamů z databáze je ovšem opět stejný. 

SWITCH#show ip dhcp snooping binding
MacAddress         IpAddress        Lease(Sec) Type      VLAN    Interface
-----------------  ---------------  --------   ----------  ----  -------------
12:34:ab:cd:12:34  192.168.100.10   infinite  static       100   ethernet1/1

IP Source Guard

Bezpečnostní funkce IP Source Guard souvisí s DHCP Snoopingem (a předchozími poznámkami) a přímo vyžaduje, aby byl DHCP Snooping zapnutý. Konfiguruje se per interface a funguje jako filtr provozu, který povolí pouze pakety s odpovídajícími hodnotami MAC a IP adres, dle Binding DB (dynamické z DHCP Snooping Binding Database a statické IP Source Binding). Obecně je princip stejný jako u IOS switchů.

Zajímavé je, že v dokumentaci pro Cisco Nexus řada 3000 jsem nenašel žádný popis funkce IP Source Guard. Popis se nachází u vyšších řad, například Cisco Nexus 5500 Series NX-OS Security Configuration Guide, Release 7.x - Configuring IP Source Guard, ale funguje stejně i na Nexus 3000.

Konfiguraci provádíme na portu, funguje mi i na Port Channelu a zatím se zdá, že funguje i v rámci Virtual Port Channelu (úplně jsem nepochopil dokumentaci, ale asi to podporováno není). Zápis je lehce jiný než na IOSu a vůbec nepoužíváme klíčové slovo port-security, kontrola MAC adres se provádí vždy.

SWITCH(config)#interface Eth1/1
SWITCH(config-if)#ip verify source dhcp-snooping-vlan

Zadání statického záznamu jsme si ukázali u DHCP Snoopingu, stejně tak vypsání tabulky záznamů. Obdobně jako u IOSu si můžeme vypsat seznam portů, kde je IP Source Guard nakonfigurován.

SWITCH#show ip verify source
IP source guard excluded vlans:
------------------------------------------------------
none

-----------------------------------
IP source guard is enabled on the following interfaces:
------------------------------------------------------
       ethernet1/1 

IP source guard operational entries:
-----------------------------------
Interface         Filter-mode             IP-address     Mac-address       Vlan
------------      -----------             ----------     --------------    ----
ethernet1/1       active                  192.168.100.10 12:34:ab:cd:12:34 100

Dynamic ARP Inspection (DAI)

Základní fungování Dynamic ARP Inspection je shodné jako na IOSu. Není zde možnost použít filtr ARP ACL (na řadě Nexus 3000, vyšší jej již podporují), ale vždy se používají pouze záznamy z DHCP Snooping Binding Database. Ať již dynamické nebo staticky zadané, jak jsme si popsali výše. Znamená to také to, že musí být zapnutý DHCP Snooping, aby se mohlo DAI využít. Také se neprovádí omezování počtu ARP rámců (Rate Limiting). Popis v oficiální dokumentaci Cisco Nexus 3000 Series NX-OS Security Configuration Guide, Release 7.x - Configuring Dynamic ARP Inspection.

Konfigurace spočívá v zapnutí pro vybrané VLANy a případně nastavení některých portů jako důvěryhodných (trusted), kde se neprovádí kontrola.

SWITCH(config)#ip arp inspection vlan 100,200
SWITCH(config)#interface Eth1/1
SWITCH(config-if)#ip arp inspection trust

Stejně také můžeme zapnout rozšířené kontroly.

SWITCH(config)#ip arp inspection validate src-mac dst-mac ip

K zobrazení informací o nastaveném DAI se používají stejné příkazy jako pro IOS, pouze formát výstup je trochu jiný.

SWITCH#show ip arp inspection 
Source Mac Validation      : Disabled
Destination Mac Validation : Disabled
IP Address Validation      : Disabled

Vlan : 100
-----------
Configuration          : Enabled
Operation State        : Active
DHCP logging options   : Deny

ARP Req Forwarded  = 3206
ARP Res Forwarded  = 2616
ARP Req Dropped    = 3
ARP Res Dropped    = 0
DHCP Drops         = 3
DHCP Permits       = 5822
SMAC Fails-ARP Req = 0
SMAC Fails-ARP Res = 0
DMAC Fails-ARP Res = 0
IP Fails-ARP Req   = 0
IP Fails-ARP Res   = 0

SWITCH#show ip arp inspection interfaces
 Interface        Trust State
 -------------    -----------
 ethernet1/1          Trusted
 ethernet1/5          Trusted

SWITCH#show ip arp inspection statistics vlan 100
Vlan : 100
-----------
ARP Req Forwarded  = 2
ARP Res Forwarded  = 1
ARP Req Dropped    = 0
ARP Res Dropped    = 0
DHCP Drops         = 0
DHCP Permits       = 3
SMAC Fails-ARP Req = 0
SMAC Fails-ARP Res = 0
DMAC Fails-ARP Res = 0
IP Fails-ARP Req   = 0
IP Fails-ARP Res   = 0

SWITCH#show ip arp inspection vlan 100
Source Mac Validation      : Disabled
Destination Mac Validation : Disabled
IP Address Validation      : Disabled

Vlan : 100
-----------
Configuration        : Enabled
Operation State      : Active
DHCP logging options : All

Logování

Změna je také v logování a podle mne dost podstatná. Standardně se všechny odmítnuté/zahozené (denied/dropped) pakety zaznamenávají do logovacího bufferu. Ale již se neprovádí záznam do systémového logu (negeneruje systémovou zprávu). Takže nevím, jak pak předat informaci na Syslog.

U logovacího bufferu můžeme nastavit jeho velikost (default je 32). Když je zaplněn, tak se začnou přepisovat nejstarší zprávy.

SWITCH(config)#ip arp inspection log-buffer entries 100

Můžeme si vypsat obsah bufferu včetně nastavení. Zajímavé je, že je zde vidět i položka Syslog Rate. Ono i v oficiální dokumentaci jsou dost chyby, třeba jsou tam příklady logovaných zpráv do systémového logu, které se na Nexusu nevytváří (patrně je to kopie z IOS dokumentace).

SWITCH#show ip arp inspection log
Syslog Buffer Size : 32
Syslog Rate        : 5 entries per 1 seconds

Tue Nov  1 17:23:30 2016
DHCP-SNOOP-DENY: ARP Req on ethernet1/1:vlan 100 source 192.168.100.10/12:34:ab:cd:12:34 dest 192.168.100.1/00:00:00:00:00:
00 eth src mac: 12:34:ab:cd:12:34 eth dst mac: 00:12:34:ab:cd:12 

Wed Nov  2 11:22:55 2016
DHCP-SNOOP-PERMIT: ARP Req on ethernet1/1:vlan 100 source 192.168.100.10/58:20:b1:e1:13:d8 dest 192.168.100.1/00:00:00:00:0
0:00 eth src mac: 58:20:b1:e1:13:d8 eth dst mac: 00:12:34:ab:cd:12 

Obsah logu můžeme ručně vymazat.

SWITCH#clear ip arp inspection log

Můžeme také zapnout rozšířené logování o pakety odpovídající DHCP bindings.

SWITCH(config)#ip arp inspection vlan 100 logging dhcp-bindings all
zobrazeno: 497krát | Komentáře [0]

Autor:

Související články:

Cisco IOS

Velký seriál o operačním systému aktivních prvků firmy Cisco.

Cisco NX-OS

Články, věnující se novějšímu operačnímu systému aktivních prvků firmy Cisco, NX-OS. Ten se používá na ethernetových přepínačích řady Nexus a Fibre Channel přepínačích MDS.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže. Pokud chcete poradit s nějakým problémem či diskutovat na nějaké téma, tak použijte fórum.

Komentáře

Zatím tento záznam nikdo nekomentoval.

Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O


Ochrana proti SPAMu, zdejte následující čtyři znaky image code

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách