Difference between revisions of "Cisco Security"

From HackerNet
Jump to: navigation, search
Line 1: Line 1:
 
[[Cisco_IOS|Cisco IOS]] har stöd för många säkerhetsmekanismer och protokoll.  
 
[[Cisco_IOS|Cisco IOS]] har stöd för många säkerhetsmekanismer och protokoll.  
  
=Device=
+
=Device Security=
 
Login enhancements
 
Login enhancements
 
  login block-for [seconds] attempts [attempts] within [seconds]
 
  login block-for [seconds] attempts [attempts] within [seconds]
Line 15: Line 15:
 
  control-plane host
 
  control-plane host
 
   management-interface GigabitEthernet 0/1 allow ssh https
 
   management-interface GigabitEthernet 0/1 allow ssh https
 +
 +
Control Plane Protection
 +
show control-plane features
 +
show control-plane counters
  
 
===SSH===
 
===SSH===
Line 29: Line 33:
 
  aaa new-model
 
  aaa new-model
 
  show aaa
 
  show aaa
 +
show aaa local user lockout
  
Fallback user account
+
Fallback user account ifall AAA-server är unreachable
 
  username fallback privilege 15 secret SECRETS
 
  username fallback privilege 15 secret SECRETS
  
 
===TACACS===
 
===TACACS===
 
TACACS+ är Ciscoproperitärt och all trafik är krypterad. Tacacs kommunicerar på TCP port 49.
 
TACACS+ är Ciscoproperitärt och all trafik är krypterad. Tacacs kommunicerar på TCP port 49.
  aaa group server tacacs+ TACACS_SERVER
+
  aaa group server tacacs+  
   server 10.0.0.10
+
   server-private 10.0.0.20 key 7 078905478...
 +
  server-private 10.0.0.21 key 7 134272319...
 +
  ip vrf forwarding Mgmt
 +
  ip tacacs source-interface gi0
 
  aaa authentication login default group tacacs+ local
 
  aaa authentication login default group tacacs+ local
 
  aaa authorization exec default group tacacs+ local
 
  aaa authorization exec default group tacacs+ local
Line 45: Line 53:
 
Använder UDP 1645-1646 eller 1812-1813, accounting är separat från authentication och authorization. Endast lösenord är krypterat.  
 
Använder UDP 1645-1646 eller 1812-1813, accounting är separat från authentication och authorization. Endast lösenord är krypterat.  
 
  radius-server host 10.0.0.10 auth-port 1812 acct-port 1813 key RadiusKey
 
  radius-server host 10.0.0.10 auth-port 1812 acct-port 1813 key RadiusKey
 +
aaa authentication login default group radius local
 +
Verify
 
  show radius
 
  show radius
  
Line 50: Line 60:
 
Se även [[Cisco_VLAN#Private_VLAN|Private VLANs]] och [[Cisco_DHCP#Snooping|DHCP Snooping]].
 
Se även [[Cisco_VLAN#Private_VLAN|Private VLANs]] och [[Cisco_DHCP#Snooping|DHCP Snooping]].
  
Ändra beteende på en switch. Fungerar som säkerhetsmekansim om CAM går fullt för alla frames floodas inte.
+
Ändra beteende på en switch. Fungerar som säkerhetsmekansim om CAM går fullt för då floodas inte alla frames.
 
  switchport block unicast
 
  switchport block unicast
 
  switchport block multicast
 
  switchport block multicast
Line 61: Line 71:
 
   switchport port-security mac-address sticky
 
   switchport port-security mac-address sticky
 
   switchport port-security violation shutdown
 
   switchport port-security violation shutdown
 
+
Verify
 +
show port-security interface
 
Ska port security kombineras med [[Cisco_HSRP|HSRP]] bör BIA MAC användas.
 
Ska port security kombineras med [[Cisco_HSRP|HSRP]] bör BIA MAC användas.
  
Line 90: Line 101:
 
  show dot1x
 
  show dot1x
  
==DAI==
+
===DAI===
Dynamic ARP inspection kräver DHCP Snooping.
+
För att skydda sitt L2-nätverk mot MITM med hjälp av G-ARP kan man använda Dynamic ARP inspection. DAI kräver DHCP Snooping eftersom ARP valideras mot snooping-databasen. Om inte ARPen stämmer överens mot det som står i databasen kommer frames att droppas, SW_DAI-4-DHCP_SNOOPING_DENY. Man slår på DAI per VLAN man vill skydda.
 
  ip arp inspection vlan 10
 
  ip arp inspection vlan 10
 
  show ip arp inspection
 
  show ip arp inspection
Line 100: Line 111:
 
Static entries behövs för hostar som inte använder DHCP.
 
Static entries behövs för hostar som inte använder DHCP.
 
  ip arp inspection filter ARP_ACL vlan 10
 
  ip arp inspection filter ARP_ACL vlan 10
 
 
Logging
 
Logging
 
  ip arp inspection vlan 10 logging acl-match
 
  ip arp inspection vlan 10 logging acl-match
 +
 +
=L3 Security=
 +
Tillåt ej IP options och source routing är bra praktik!
 +
ip options drop
 +
no ip source-route
 +
 +
===ACL===
 +
Accesslistor finns i flera olika varianter.
 +
 +
'''Reflexive ACL''' <br/>
 +
För att använda reflexive ACL behövs det en ACL för inbound traffic, en för outbound och en reflexive för att hålla koll på dynamic entries. Några begränsningar är att trafik endast kan initieras från ena sidan och det går inte ge olika trafikklasser olika access. Det funkar inte heller med applikationer som jobbar med olika portnummer, t.ex. FTP.
 +
ip access-list extended Egress
 +
  permit ip any any reflect Mirror
 +
ip access-list extended Ingress
 +
  evaluate Mirror
 +
 +
interface gi0/1
 +
  description Outside
 +
  ip access-group out Egress
 +
  ip access-group in Ingress
 +
Verify
 +
show ip access-lists Mirror
 +
show ip access-lists
 +
 +
'''Lock and Key''' (Dynamic ACLs) <br/>
 +
Lock and key configuration starts with the application of an extended ACL to block traffic through the router. Users that want to traverse the router are blocked by the extended ACL until they Telnet to the router and are authenticated. The Telnet connection then drops and a single-entry dynamic ACL is added to the extended ACL that exists. This permits traffic for a particular time period; idle and absolute timeouts are possible.
 +
 +
'''Turbo ACL''' <br/>
 +
The turbo ACL feature is designed in order to process ACLs more efficiently in order to improve router performance. Found only on high-end platforms.
 +
show access-list compiled
 +
 +
===CBAC===
 +
Context-Based Access Control tillhandahåller stateful packet inspection på IOS-enheter.
 +
ip access-list extended DENY_ALL
 +
  deny ip any any
 +
ip inspect name Web http
 +
ip inspect name Web https
 +
interface gi0/0
 +
  description Outside
 +
  ip access-group DENY_ALL in
 +
  ip inspect Web out
 +
 +
Verify
 +
show ip inspect all
 +
show ip inspect sessions
 +
 +
===uRPF===
 +
Unicast Reverse Path Forwarding är en mekanism som förhindrar spoofing attacks. Source-adressen på paket som kommer in kollas och jämförs mot den egna FIB:en för att säkerställa att paketen kommer in på det interface som routern själv hade använt för att nå den adressen. [[Cisco_CEF|CEF]] är därför ett prereq för uRPF. uRPF finns i två modes och tar hänsyn till equal och unequal cost load sharing. Om default-routen också ska användas vid kontrollen måste ''allow-default'' sättas efter interface-kommandot.
 +
 +
Strict mode, fungerar såklart inte med asymmetric routing.
 +
ip verify unicast source reachable-via rx
 +
 +
Loose mode <br/>
 +
Med Loose mode räcker det att sourcen är reachable via något interface.
 +
ip verify unicast source reachable-via any
 +
 +
Vill man inte kontrollera all trafik kan man matcha RPF-checken mot en ACL.
 +
ip verify unicast source reachable-via rx <ACL>
 +
Verify
 +
Show ip traffic
 +
show ip verify source
  
 
=IPv6=
 
=IPv6=

Revision as of 12:12, 7 June 2016

Cisco IOS har stöd för många säkerhetsmekanismer och protokoll.

Device Security

Login enhancements

login block-for [seconds] attempts [attempts] within [seconds]
login quiet-mode access-class TRUSTED_HOSTS
ip access-list standard TRUSTED_HOSTS
 permit host 10.0.0.10

Password recovery är på default men går att stänga av.

no service password-recovery

Management Plane Protection

control-plane host
 management-interface GigabitEthernet 0/1 allow ssh https

Control Plane Protection

show control-plane features
show control-plane counters

SSH

ip ssh version 2
crypto key generate rsa modulus 2048

Verify

show ssh
show ip ssh
show control-plane host open-ports

AAA

The aaa new-model command causes the local username and password on the router to be used in the absence of other AAA statements.

aaa new-model
show aaa
show aaa local user lockout

Fallback user account ifall AAA-server är unreachable

username fallback privilege 15 secret SECRETS

TACACS

TACACS+ är Ciscoproperitärt och all trafik är krypterad. Tacacs kommunicerar på TCP port 49.

aaa group server tacacs+ 
 server-private 10.0.0.20 key 7 078905478...
 server-private 10.0.0.21 key 7 134272319...
 ip vrf forwarding Mgmt
 ip tacacs source-interface gi0
aaa authentication login default group tacacs+ local
aaa authorization exec default group tacacs+ local

Verify

show tacacs

Radius

Använder UDP 1645-1646 eller 1812-1813, accounting är separat från authentication och authorization. Endast lösenord är krypterat.

radius-server host 10.0.0.10 auth-port 1812 acct-port 1813 key RadiusKey
aaa authentication login default group radius local

Verify

show radius

L2 Security

Se även Private VLANs och DHCP Snooping.

Ändra beteende på en switch. Fungerar som säkerhetsmekansim om CAM går fullt för då floodas inte alla frames.

switchport block unicast
switchport block multicast

Port Security

interface [interface]
 switchport mode access
 switchport port-security
 switchport port-security maximum 1
 switchport port-security mac-address sticky
 switchport port-security violation shutdown

Verify

show port-security interface

Ska port security kombineras med HSRP bör BIA MAC användas.

VACL

VLAN ACL

access-list 100 permit ip any host 10.0.0.10
vlan access-map BLOCK-TO-SERVER 10
 match ip address 100
 action drop
vlan access-map BLOCK-TO-SERVER 20
 action forward

Apply to vlan

vlan filter BLOCK-TO-SERVER vlan-list 10

VACL funkar också med non-IP traffic.

Storm Control

Storm control är teknik för att låta administratörer dämpa unicast-, multicast- eller broadcast-trafik på L2-interface. Det kan användas för att reducera skadan vid broadcast-stormar. Man måste ange gränsvärde (rising) men falling är optional.

interface gi0/7
 storm-control broadcast level bps 1m 500k

Ange vad som ska hända när tröskelvärde överskrids, t.ex. droppa frames eller skicka syslog-trap.

 storm-control action trap

Verify

show storm-control

802.1x

802.1x är ett säkerhetsprotokoll som låter klienter autentisera sig för att få tillgång till tråd/trådlösa nätverk.

show dot1x

DAI

För att skydda sitt L2-nätverk mot MITM med hjälp av G-ARP kan man använda Dynamic ARP inspection. DAI kräver DHCP Snooping eftersom ARP valideras mot snooping-databasen. Om inte ARPen stämmer överens mot det som står i databasen kommer frames att droppas, SW_DAI-4-DHCP_SNOOPING_DENY. Man slår på DAI per VLAN man vill skydda.

ip arp inspection vlan 10
show ip arp inspection
ip arp inspection trust
ip arp inspection validate ip

Static entries behövs för hostar som inte använder DHCP.

ip arp inspection filter ARP_ACL vlan 10

Logging

ip arp inspection vlan 10 logging acl-match

L3 Security

Tillåt ej IP options och source routing är bra praktik!

ip options drop
no ip source-route

ACL

Accesslistor finns i flera olika varianter.

Reflexive ACL
För att använda reflexive ACL behövs det en ACL för inbound traffic, en för outbound och en reflexive för att hålla koll på dynamic entries. Några begränsningar är att trafik endast kan initieras från ena sidan och det går inte ge olika trafikklasser olika access. Det funkar inte heller med applikationer som jobbar med olika portnummer, t.ex. FTP.

ip access-list extended Egress
 permit ip any any reflect Mirror
ip access-list extended Ingress
 evaluate Mirror

interface gi0/1
 description Outside
 ip access-group out Egress
 ip access-group in Ingress

Verify

show ip access-lists Mirror
show ip access-lists

Lock and Key (Dynamic ACLs)
Lock and key configuration starts with the application of an extended ACL to block traffic through the router. Users that want to traverse the router are blocked by the extended ACL until they Telnet to the router and are authenticated. The Telnet connection then drops and a single-entry dynamic ACL is added to the extended ACL that exists. This permits traffic for a particular time period; idle and absolute timeouts are possible.

Turbo ACL
The turbo ACL feature is designed in order to process ACLs more efficiently in order to improve router performance. Found only on high-end platforms.

show access-list compiled

CBAC

Context-Based Access Control tillhandahåller stateful packet inspection på IOS-enheter.

ip access-list extended DENY_ALL
 deny ip any any
ip inspect name Web http
ip inspect name Web https
interface gi0/0
 description Outside
 ip access-group DENY_ALL in
 ip inspect Web out

Verify

show ip inspect all
show ip inspect sessions

uRPF

Unicast Reverse Path Forwarding är en mekanism som förhindrar spoofing attacks. Source-adressen på paket som kommer in kollas och jämförs mot den egna FIB:en för att säkerställa att paketen kommer in på det interface som routern själv hade använt för att nå den adressen. CEF är därför ett prereq för uRPF. uRPF finns i två modes och tar hänsyn till equal och unequal cost load sharing. Om default-routen också ska användas vid kontrollen måste allow-default sättas efter interface-kommandot.

Strict mode, fungerar såklart inte med asymmetric routing.

ip verify unicast source reachable-via rx

Loose mode
Med Loose mode räcker det att sourcen är reachable via något interface.

ip verify unicast source reachable-via any

Vill man inte kontrollera all trafik kan man matcha RPF-checken mot en ACL.

ip verify unicast source reachable-via rx <ACL> 

Verify

Show ip traffic
show ip verify source

IPv6

RA guard

interface GigabitEthernet0/1
 ipv6 nd raguard

Verify

show ipv6 snooping features
show ipv6 nd raguard

DHCP guard, Binding table, Device tracking, ND inspection/snooping, Source guard, PACL

IPS

IOS kan sättas upp som ett Intrusion Prevention System.

mkdir ips
ip ips config location flash:/ips
ip ips name IPS
show ip ips config