From 3dd6ea8ca678c04da2951378fbdd33becad267a9 Mon Sep 17 00:00:00 2001
From: xf0r3m
Wdrożenie zabezpieczeŠportów - scenariusz
Wdrożenie zabezpieczeŠportów - zadanie
-
+ Ataki na sieci VLAN omawiane byÅa dwa: atak z przeskokiem, gdzie + atakujÄ cemu udawaÅo siÄ wynegocjowaÄ ÅÄ cze trunk i uzyskaÄ + dostÄp do innych VLAN-ów, niż ten do którego należy jego gniazdo. + Drugim atakiem byÅ atak podwójnego znakowania, gdzie atakujÄ cy tworzyÅ + ramkÄ z podwójnym znacznikiem, pierwszy zawieraÅ znacznik natywnej + sieci VLAN, a drugi sieci docelowej. +
++ MetodÄ zabezpieczenia siÄ przed tego typu dziaÅaniami sÄ kolejno: +
+switchport mode accessswitchport mode trunkswitchport nonegotiate.switchport trunk native vlan X,
+ gdzie X, oznacza numer sieci VLAN.+S1(config)#vlan 1000 +S1(config-vlan)#name UNUSED_PORTS +S1(config-vlan)#vlan 999 +S1(config-vlan)#name NATIVE +S1(config-vlan)#exit +S1(config)# +S1(config)#int range fa0/3-12 +S1(config-if-range)#switchport mode acces +S1(config-if-range)#exit +S1(config)#int range fa0/13-20 +S1(config-if-range)#switchport mode access +S1(config-if-range)#switchport access vlan 1000 +S1(config-if-range)#shutdown +S1(config-if-range)#exit +S1(config)#int fa0/21-24 +S1(config-if-range)#switchport mode trunk +S1(config-if-range)#switchport nonegotiate +S1(config-if-range)#switchport trunk native vlan 999 +S1(config-if-range)#end ++
+ Na powyższym przykÅadzie skonfigurowano wyżej wymienione + zabezpieczenia. Porty 3-12 sÄ portami dostÄpowymi. Porty 13-20 nie sÄ + obecnie używane. Ostatnie 4 porty sÄ ÅÄ czami trunk. +
++ Znamy dwa ataki wobec usÅugi DHPC, pierwsza z znich jest zagÅodzenie - + tj. wyczerpanie puli przez atakujÄ cego. OchronÄ przed tego typu + dziaÅaniem jest ustawienie limitu zapytaÅ do DHCP na portach + niezaufanych (innych niż te, z których bÄdzie przychodziÄ odpowiedź + od serwera). Drugim atakiem, jest faÅszowanie - atakujÄ cy podstawia + swój serwer DHCP. MetodÄ ochrony przed takim dziaÅaniem jest + ustawienie portu zaufanego - z którego bÄdÄ przychodziÄ komunikaty + serwera DHCP. Reszta portów bÄdzie domyÅlnie ustawiana jako + niezaufane. Te metody oferuje mechanizm DHCP Snooping. Kroki + jakie + należy wykonaÄ w celu skonfigurowania tej metody prezentujÄ siÄ + nastÄpujÄ co: +
+ip dhcp snooping w konfiguracji
+ globalnejip dhcp snooping trust.ip dhcp snooping limit rate X, gdzie
+ X to liczba zapytaÅ.ip dhcp snooping Y, gdzie
+ Y to numer/numery sieci VLAN lub ich
+ zakres.+S1#conf t +S1(config)#ip dhcp snooping +S1(config)#int g0/1 +S1(config-if)#ip dhcp snooping trust +S1(config-if)#exit +S1(config)#int range fa0/1-24 +S1(config-if-range)#ip dhcp snooping limit rate 6 +S1(config-if-range)#exit +S1(config)#ip dhcp snooping vlan 1000 ++
+ Na powyższym przykÅadzie skonfigurowano opcje zabepieczeÅ przed atakami
+ na DHCP. W IOS mamy możliwoÅÄ wyÅwietlenia informacji o konfiguracji
+ DHCP Snooping za pomocÄ
polecenia:
+ show ip dhcp snooping.
+
+S1#show ip dhcp snooping +Switch DHCP snooping is enabled +DHCP snooping is configured on following VLANs: +1000 +DHCP snooping is operational on following VLANs: +1000 +DHCP snooping is configured on the following L3 Interfaces: + +Insertion of option 82 is enabled + circuit-id default format: vlan-mod-port + remote-id: ecc8.8212.b200 (MAC) +Option 82 on untrusted port is not allowed +Verification of hwaddr field is enabled +Verification of giaddr field is enabled +DHCP snooping trust/rate is configured on the following Interfaces: + +Interface Trusted Allow option Rate limit (pps) +----------------------- ------- ------------ ---------------- +FastEthernet0/1 no no 6 + Custom circuit-ids: +FastEthernet0/2 no no 6 + Custom circuit-ids: +FastEthernet0/3 no no 6 + Custom circuit-ids: +FastEthernet0/4 no no 6 + Custom circuit-ids: +FastEthernet0/5 no no 6 + Custom circuit-ids: +... +FastEthernet0/23 no no 6 +Interface Trusted Allow option Rate limit (pps) +----------------------- ------- ------------ ---------------- + Custom circuit-ids: +FastEthernet0/24 no no 6 + Custom circuit-ids: +GigabitEthernet0/1 yes yes unlimited + Custom circuit-ids: ++
+ Ataki ARP sÄ do siebie bardzo podobne. Chodzi o manipulacjÄ tablicÄ + ARP na komputerze ofiary. Pierwszym atakiem jest zatrucie, przez które + ofiara caÅkowicie traci ÅÄ cznoÅÄ, ponieważ atakujÄ cy odpowiada na jej + Å¼Ä dania losowowymi adresami fizycznymi. Drugim atakiem jest faÅszowanie + ataków, przy użyciu pakietu gratisowego ARP. Użycie tego pakietu + wymusza na ofierze, aktualizacjÄ wpisu w tablicy ARP, którego dotyczy + ten pakiet. ChroniÄ siÄ przed dziaÅania tego typu możemy za pomocÄ + mechanizmu Dynamic Arp Inspection - DAI. +
++ Dynamiczna inspekcja ARP (DAI) wymaga dziaÅania mechanizmu + DHCP Snooping, pomaga zapobiegaÄ atakom poprzez: +
++ W celu wykorzystania mechnizmu DAI, musimy podÄ rzÄ Ä zgodnie z poniższymi + wskazówkami: +
++S1#conf t +Enter configuration commands, one per line. End with CNTL/Z. +S1(config)#ip dhcp snooping +S1(config)#ip dhcp snooping vlan 1000 +S1(config)#ip arp inspection vlan 1000 +S1(config)#interface fa0/24 +S1(config-if)#ip dhcp snooping trust +S1(config-if)#ip arp inspection trust ++
+ Na powyższym urzÄ
dzeniu wÅÄ
czyÅem globalnie DHCP Snooping,
+ S1(config)#ip dhcp snooping nastÄpnie
+ skonfigurowaÅem DHCP Snooping oraz DAI dla VLAN-u 1000 -
+ S1(config)#ip dhcp snooping vlan 1000,
+ S1(config)#ip arp inspection vlan 1000.
+ Na koniec skonfigurowaÅem interfejs fa0/24
+ jako zaufany dla DHCP Snooping-u oraz inspekcji ARP.
+
+ Mechanim DAI może zostaÄ również skonfigurowany w taki sposób aby + weryfikowaÅ adresy przekazywane we wiadomoÅci ARP z adresami zawartymi + w nagÅówku ramki Ethernet. Do wyboru mamy takie warunki jak +
+
+ Do ustawiania weryfikacji adresów w ARP sÅuży polecenie:
+ ip arp inspection validate po czym
+ podajemy rodzaj sprawdzania adresów. Nic nie stoi na przeszkodzie, aby
+ ustawiÄ je wszystkie.
+
+S1#conf t +Enter configuration commands, one per line. End with CNTL/Z. +S1(config)#ip arp inspection validate src-mac dst-mac ip ++
+ Od teraz komunikaty ARP, bedÄ sprawdzane pod kÄ tem poprawnoÅci adresów. +
++ W przypadku ataków STP, atakujÄ cy może podÅÄ czyÄ swoje urzÄ dzenie i + wymusiÄ zmianÄ topologi poprzez wysÅanie BPDU z wysokim priorytetem w + BID. OchronÄ przed tego typu dziaÅaniami jest użycie technologii + PortFast oraz BPDU Guard. +
++ PortFast przyspiesza stan gotowoÅci portu o przesyÅania + danych. Port przenoszony jest natychmiast ze stanu blokowania w stan + przekaywania. PortFast jest przeznaczony dla użytkowników + koÅcowych i tylko dla nich powinien byÄ stosowany. BPDU Guard + jest mechanizm zabezpieczajÄ cym przed pojawieniem siÄ komunikatów BPDU + na niepoÅ¼Ä danych portach. JeÅli taki komunikat siÄ pojawi przy + skonfigurowanym BPDU Guard, taki port zostanie ustawiony w + stan error-disabled.. +
++ Konfiguracji PortFast, możemy dokonaÄ na dwa sposoby. + KonfigurowaÄ po kolei każdy z portów tak jak przedstawiono to na + poniższym przykÅadzie. +
++S1#conf t +Enter configuration commands, one per line. End with CNTL/Z. +S1(config)#int fa0/4 +S1(config-if)#switchport mode access +S1(config-if)#spanning-tree portfast +%Warning: portfast should only be enabled on ports connected to a single + host. Connecting hubs, concentrators, switches, bridges, etc... to this + interface when portfast is enabled, can cause temporary bridging loops. + Use with CAUTION + +%Portfast has been configured on FastEthernet0/4 but will only + have effect when the interface is in a non-trunking mode. ++
+ Możemy również skonfigurowaÄ PortFast domyÅlnie dla caÅego + przeÅÄ cznika. Tak jak na przykÅadzie: +
++S1#conf t +Enter configuration commands, one per line. End with CNTL/Z. +S1(config)#spanning-tree portfast default +%Warning: this command enables portfast by default on all interfaces. You + should now disable portfast explicitly on switched ports leading to hubs, + switches and bridges as they may create temporary bridging loops. ++
+ Aby sprawdziÄ konfiguracjÄ PortFast możemy użyci polecenia
+ show spanning-tree summary. Poniżej
+ znajduje siÄ wynik jego dziaÅania:
+
+S1#show spanning-tree summary +Switch is in pvst mode +Root bridge for: none +Extended system ID is enabled +Portfast Default is enabled +PortFast BPDU Guard Default is disabled +Portfast BPDU Filter Default is disabled +Loopguard Default is disabled +EtherChannel misconfig guard is enabled +UplinkFast is disabled +BackboneFast is disabled +Configured Pathcost method used is short + +Name Blocking Listening Learning Forwarding STP Active +---------------------- -------- --------- -------- ---------- ---------- +Total 0 0 0 0 0 ++
+ Drguim mechanizm do skonfigurowania jest BPDU Guard. Metoda + jest taka sama jak w przypadku PortFast, różniÄ siÄ tylko + polecenia. +
++S1#conf t +Enter configuration commands, one per line. End with CNTL/Z. +S1(config)#int fa0/4 +S1(config-if)#spanning-tree bpduguard enable +S1(config-if)#exit +S1(config)#spanning-tree portfast bpduguard default ++
+ Teraz możemy wyÅwietliÄ sobie jeszcze raz podsumowanie konfiguracji + STP. +
++S1#show spanning-tree summary +Switch is in pvst mode +Root bridge for: none +Extended system ID is enabled +Portfast Default is enabled +PortFast BPDU Guard Default is enabled +Portfast BPDU Filter Default is disabled +Loopguard Default is disabled +EtherChannel misconfig guard is enabled +UplinkFast is disabled +BackboneFast is disabled +Configured Pathcost method used is short + +Name Blocking Listening Learning Forwarding STP Active +---------------------- -------- --------- -------- ---------- ---------- +Total 0 0 0 0 0 ++
+ Możemy skonfigurowaÄ przeÅÄ cznik w taki sposób, aby automatycznie + odblokowywaÅ porty w stanie error-disabled. W przypadku + naruszenia BPDU Guard, możemy uruchomiÄ to poleceniem: +
++S1(config)#errdisable recovery cause psecure-violation ++
+ DomyÅlnym okresem karencji jest 300 sekund = 5 minut. Stan
+ automatycznego podnoszenia portu ze stanu error-disabled
+ możemy sprawdziÄ (w tym i okres karencji) za pomocÄ
polecenia
+ show errdisable recovery
+
+S1#show errdisable recovery +ErrDisable Reason Timer Status +----------------- -------------- +arp-inspection Disabled +bpduguard Disabled +channel-misconfig Disabled +dhcp-rate-limit Disabled +dtp-flap Disabled +gbic-invalid Disabled +inline-power Disabled +link-flap Disabled +mac-limit Disabled +loopback Disabled +pagp-flap Disabled +port-mode-failure Disabled +psecure-violation Disabled +security-violation Disabled +sfp-config-mismatch Disabled +small-frame Disabled +storm-control Disabled +udld Disabled +vmps Disabled + +Timer interval: 300 seconds ++
+ W tym rodziale dowiedzieliÅmy siÄ możemy skonfigurowaÄ Cisco IOS na + przeÅÄ cznikach, aby zapobiec atakom z poznanym w 10 rozdziale. + PoznaliÅmy zabezpieczenia portów oraz metody ochrony przez atakami na + sieci VLAN, DHCP, ARP oraz STP. +