Cisco Security IINS 210-260 – Study Notes – Deel 2/2
Hierbij het 2e en laatste deel van mijn Cisco IINS 210-260 Study Notes. We gaan door met Network Foundation Protection (NFP):
Network Foundation Protection (NFP)
Network Foundation Protection is een strategisch protocol waarmee u het netwerk healthy en veilig kunt houden. Denk b.v. aan het bijhouden van de routing tabellen etc. NFP bestaat uit 3 planes (zones). Deze zijn:
- Management Plane
Deze zone heeft te maken met management en duikt dieper in op protocollen welke de administrator gebruikt om de netwerkcomponenten te kunnen beheren. Hier hebben we het dus over authenticatie en autorisatie van administrators. Dus SSH voor remote access, NTP als tijdprotocol en veilige versies van SNMP. Security Measures zijn o.a.:
>Authentication, Authorization, Accounting (AAA)
>Authenticated Network Time Protocol (NTP
>Secure Shell (SSH)
>Secure Socket Layer/Transport Socket Layer (SSL/TLS)
>Protected Syslog
>Simple Network Management Protocol V3 (SNMPv3)
>Parser Views - Control Plane
Deze zone gaat vooral over controle protocollen. Dus protocollen en verkeer welke de network devices gebruiken zonder tussenkomst van een administrator. Denk aan routing protocollen die geauthenticeerd moeten worden. Goed beheer van het Control Plane voorkomt Man-in-the-middle attacks, Denial-of-Service attacks en Reconnaissance attacks. Veiligheidsmaatregelen zijn:
>Control Plane Policing (CoPP)
>Control Plane Protection (CPPr)
>Authenticated Routing Protocol Updates - Data Plane
De Data Plane focust zich op het netwerkverkeer in actie. Dus verkeer welke geforeward of geswiched wordt en dus door het netwerkapparaat gaan i.p.v. er naartoe. Denk aan ACL’s die bepalen of verkeer wel of geen toegang heeft, Layer 2 beveiliging, Firewall Filtering zoals IOS zone-based firewall. Veiligheidsmaatregelen zijn:
>Access Control Lists (ACL)
>Layer 2 controls zoals prive VLAN’s en STP guards
>IOS IPS
>IOS Zone-based fireall
NFP Best Practices
Management Plane
- Password Policy (max login attempts en complicated passwords)
- Implementeer RBAC (Role BAsed aCcess), dus toegang op basis van rollen
- Gebruik AAA services. AAA services hebben een gecentraliseerde manier van werken en authenticeren en loggen een audit-trail
- Gebruik NTP
- Gebruik versleutelde en geauthenticeerde versies van SNMP zoals SNMPv3
- Sta alleen specifieke IP adressen toe voor management taken
- Lock down SysLog. SysLog wordt verzonden in plain-text. Laat deze communiceren op een speciaal Out-Of-Band (OOB) Management VLAN en versleutel deze data
- Disable ongebruikte services, vooral UDP services. Denk aan:
>TCP en UDP Small Services
>Finger
>BOOTP
>DHCP
>Maintenance Operation Protocol (MOP)
>DNS
>Packet Assembler/disassembler (PAD)
>HTTP server en Secure HTTP Server
>CDP
>LLDP
Control Plane
2 belangrijke beveiligingsmaatregelen binnen het Control Plane zijn CoPP en CPPr. CoPP ofwel Control Plane Policing wordt toegepast op de Logical Control Plane en niet direct op layer 3 zodat deze toegepast kan worden op de hele router. CoPP zorgt ervoor dat bepaald verkeer rate-limited kan worden. Met andere woorden, als een bepaald type verkeer meer verkeer genereer dan het toegestane aantal dan zal het overige verkeer gedropt worden. Je zet als het ware Quality of Service (QoS) op net management verkeer.
CPPr ofwel Control Plane Protection stelt je in staat om verkeer beter te classificeren dan dat CoPP dat kan. CoPP gebruikt 3 speciale esubinterfaces, namelijk: 1. Host Subinterface welke verkeer regelt van en naar de fysieke en logische subinterfaces van de router. 2. Transit Subinterface welke Data Plane verkeer verwerkt welke CPU interventie nodig hebben alvorens ze verwerkt kunnen worden zoals IP options. 3. Cisco Express Forewarding (CEF) Exception Traffic welke netwerkopties verwerkt zoals keepalives en TTL mechanismes.
Control Plane Best Practices zijn dan ook het gebruik van
- Control Plane Policing (CoPP)
- Control Plane Protection (CPPr)
- Routing Protocol Authentication
Data Plane
- ACL’s om verkeer te filteren
- CBAC (Contect-based access control). Op nieuwere routers is de feature verniewd naar een meer firewall waardige opvolger. Dit is IOS Zone-Based Firewall
- IOS IPS (Intrusion Prevention System) welke pakketten controleerd op hun signature
- TCP Intercept welke controleerd op “halve” pakketjes. Zo wordt b.v. een SYN-flood attack voorkomen
- Unicast Reverse Path Forewarding (uRPF) kan spoofed IP adressen voorkomen door het source IP adres te vergelijken met zijn eigen routing tabel en de interface waar dit pakket dus verwacht zou worden
Bovenstaande zijn Layer 3 technieken. Omdat de data door de switch gaat zijn er echter ook een paar Layer 2 technieken die we kunnen gebruiken.
- Port Security waarmee MAC address Flooding en CAM Overflow Attacks voorkomen worden.
- DHCP Snooping zodat een rogue DHCP server geen foute gateways kan verstrekken of zodat een DHCP Starvation Attack (waarbij de hacker alle beschikbare IP adressen bezet) voorkomen kan worden
- Dynamic ARP Inspection om foute IP-MAC bindings te voorkomen
- IP Source Guard om IP Spoofing te voorkomen
Securing the Management Plane
Nu gaan we in detail verder kijken op de beveiliging van het Management Plane. Je begint met het beveiligen van de Management Plane door een gebruikersnaam en wachtwoord te vereisen op de console poort. Want als je inlogt op de console port bent je standaard level1. Maar het stopt daar niet. Denk eens aan de volgende zaken:
- Sterke wachtwoorden
Vereis ingewikkelde wachtwoorden. Minimaal 8 karakters, hoofdletters, kleine letters, cijfers en symbolen.Stel login + een wachtwoord in op de VTI lijnen en versleutel dit wachtwoord. Zorg ervoor dat wachtwoorden minimaal 8 karakters moeten hebben.
#conf t (config)#security passwords min-length 8 (config)#line vty 0 4 (config-line)#password L1n3@w#chtp0ol! (config-line)#login (config-line)#exit (config)#service password-encryption
Bovenstaande is van toepassing op alle lijnen zoals AUX, Console en VTI maar niet op HDLC interface.
- Gebruik AAA voor user authentication
Je kunt AAA gebruiken om een gebruikersnaam te vereisen. Dit is beter dan alleen een wachtwoord. Daarnaast biedt AAA nog vele andere voordelen. AAA servers staan bekend onder verschillende namen, waaronder: Authentication Server, AAA server, ACS server, TACACS server, RADIUS server. Een paar verschillende types zijn:
>Cisco Secure ACS Solution Engine. Dit is een dedicated server van Cisco. TACACS+ werdt meestal gebruikt tussen router en server als b.v. een administrator CLI toegang vraagt. Om een user toegang tot het netwerk te geven wordt RADIUS gebruikt.
>Cisco Secure ACS for Windows Server. Dit is een software pakket welke draait op Windows met gelijke functies als Cisco Secure ACS Solution Engine. Dit is echter een verouderde methode.
>Self-contained AAA ofwel Local. De router beheerd zijn eigen database waardoor gebruik van RADIUS of TACACS+ niet nodig is.
>Current Flacors of ACS functionality. Dit wil zeggen dat de meeste gebruikte methode van een ACS server tegenwoordig bestaat uit een virtuele machine.Middels AAA kun je Administrators toegang geven tot b.v. de CLI (EXEC mode). Hierbij wordt TACACS+ gebruikt. Dit noemen we “Remote Administrative Access”. Dit wordt gebruikt op de vty, AUX, Console en tty lijnen. Een andere methode is om gebruikers toegang te geven tot het netwerk. Dit noemen we Remote Network Access en wordt eveneens gebruikt om VPN users te authenticeren. Deze wordt gebruikt op de async, group-async, BRI en PRI interfaces. Om te bepalen wie toegang heeft tot een specifieke resource maken we een “method list”. Hierin specificeren we welke resource er gebruikt wordt (b.v. local database of ACS server via TACACS+). Er kunnen meerdere lijsten gemaakt worden. Vaak wordt er 1 default list gemaakt en meerdere afwijkende lijsten. Een default list wordt door de hele router gebruikt behalve op secties waar alternatieve lijsten gebruikt worden. Deze lijsten bevatten ook informatie over welke authenticatiemethodes gebruikt worden en welke authorisatie en accounting methodes er gebruikt worden. Bijvoorbeeld:
Je kunt geen method list maken als AAA niet ingeschakeld is, deze niet toegestaan is door de view, je in de wrong mode zit of je hier geen rechten toe hebt.
#conf t -----Definieer een nieuwe AAA model----- (config)#aaa new model -----Definieer TacAcs server----- (config)#tacacs-server host 50.50.4.101 -----Definieer TacAcs server wachtwoord----- (config)#tacacs-server key TacsSrvP@sswr0 -----Definieer de default method list voor authenticatie voor character mode login (user met toegang tot CLI)----- -----Definieer de local database om te kijken naar credentials en als deze niet voorkomt gebruik dan het enable secret wachtwoord----- (config)#aaa authentication login default local enable -----Definieer een nieuwe method list voor authenticatie waarbij de eerste authenticatie door de TacAcs server gebeurt----- -----en de 2e methode de lokale database en tenslotte het enable wachtwoord gebruikt.----- (config)#aaa authentication login Mijn-Lijst-1 group tacacs local enable -----We maken nu een authorisatie lijst. 1 lijst voor level 1 commando's en 1 lijst voor level 15 commando's.----- (config)#aaa authorization commands 1 COM1-LIJST group tacacs+ local (config)#aaa authorization commands 15 COM15-LIJST group tacacs+ local -----We maken nu 2 accounting lijsten zodat commando's worden gelogd----- (config)#aaa accounting commands 1 COM1-ACC-LIJST start-stop group tacacs+ (config)#aaa accounting commands 15 COM15-ACC-LIJST start-stop group tacacs+ -----Pas de lijsten toe op de juiste lijnen b.v. tty----- (config)#line vty 0 4 (config-line)#login authentication Mijn-Lijst-1 (config-line)#authorization commands 1 COM1-LIJST (config-line)#authorization commands 15 COM15-LIJST (config-line)#accounting commands 1 COM1-ACC-LIJST (config-line)#accounting commands 15 COM15-ACC-LIJST
AAA authenticatie debuggen:
#(config)do debug aaa authentication #(config)do debug aaa authorization #(config)do debug aaa accounting
AAA configureren via CCP gaat als volgt:
Overzicht huidige AAA implementatie:
Configure > Router > AAA > AAA SummaryNieuwe AAA Authenticatie policy:
Configure > Router > AAA > Authentication Policies > Login - Lockout Policy
Gebruik Login Password Retry Lockout om AAA gebruikers te blokkeren als deze een X aantal keer het foute wachtwoord opgeven. Deblokkeren kan alleen door de administrator. - Role Based Access (RBAC)
Niet iedereen heeft volledige rechten op ieder netwerkapparaat nodig. RBAC stelt je in staat om groepen te maken waarin differentiatie toegepast kan worden tot welk niveau en waar men toegang heeft. RBAC kan op meerdere manieren uitgevoerd worden. Cisco kent meerdere levels. Als je connect op de console poort ben je level 1 en na het uitvoeren van het “enable” commando ben je level 15 en heb je volledige rechten. Je kunt zelf level 1 t/m 14 gebruiken om zelf in te delen.>Parser Views
Dit noemen we ook wel “Views” en deze worden gebruikt om de gebruiker slechts toegang te geven tot de gewenste commando’s. Dit kunnen we ook doen via Cisco Configuration Professional (CCP) maar deze heeft geen effect op gebruikers die via de CLI inloggen. Door een parser view te maken lossen we dit probleem op.Laten we eerst een custom privilege level maken en toepassen op de user:
#conf t -----Voeg het commando "configure terminal" toe aan allowed commando's voor privilege level 8----- (config)#privilege exec level 8 configure terminal -----Stel een wachtwoord in op privilege level 8 (de 0 voor het wachtwoord verteld het apparaat dat het niet gehashed ingegeven wordt)----- (config)#enable secret level 8 0 MijnN13#wewW9 -----Maak user aan met privilege level 8----- (config)#username Jarno privilege 8 secret wachtwoord1 -----Open de vty lijn configuratie----- (config)#line vty 0 4 -----Geef aan dat authenticatie op de local database moet gebeuren (als AAA new-model niet uitgevoerd is)----- (config)#login local
En nu maken we een parser view:
#conf t -----Zoerg ervoor dat AAA gebruikt wordt en dat enable secret geactiveerd is----- (config)#enable secret MijnN13#wewW9 (config)#aaa new-model (config)#end -----Laten we starten met het maken van een view----- #enable view #configure terminal (config)#parser view NIEUWE-VIEW -----Stel het wachwoord in voor de view----- (config-view)#secret ViewWW22@ -----Geef aan welke commando's gebruikt mogen worden. EXEC is vanuit cli en "configure" is vanuit privileged mode----- (config-view)#commands exec include ping (config-view)#commands exec include all show (config-view)#commands exec include configure -----Geef de mogelijkheid om ACL's te maken----- (config-view)#commands configure include access-lists -----Pas de view toe op een gebruiker----- (config-view)#exit (config)#username Jarno view NIEUWE-VIEW secret wachtwoord1
- Encrypted Management Protocols
Gebruik waar mogelijk beveiligde protocollen te gebruiken. HTTPS voor HTTP en SSL voor Telnet etc.#conf t (config)#ip ssh version 2
Om SSH in te stellen moeten de volgende zaken geregeld worden:
1. Config hostnaam:
>enable #configure terminal ()hostname %hostnaam%
2. Config domeinnaam:
()ip domain-name %domeinnaam%
3. Maak een certificaat aan om pakketten te encrypten
()crypto key generate rsa
(gebruik 2048 bits en gebruik de hostname + domainname als naam b.v. cisco.cisco.com.
4. Gebruik alleen SSH versie 2
()ip ssh version 2
5. Configureer de VTY lijn voor SSH
()line vty 0 15 (-)login local (-)transport input ssh
6. Maak een user aan om in te loggen
(-)username %gebruikersnaam% privilege 15 secret %wachtwoord%
7. Zet een timeout van 5 minuten op de inlogtijd
(-)exec-timeout 5
Om HTTPS te gebruiken voor CCP of de webinterface zet een securt HTTP server op:
(config)#ip http secure-server (config)#ip http authentication local
- Logging en Monitoring
Het is essentieel om te weten wie er inlogt en wat deze personen doen. Je maakt dus een audit trail. Gebruik logging ook om systemvents te bekijken zoals bepaalde thresholds die geactiveerd zijn etc. Versleutel logging traffic en gebruik veilige logging protocollen zoals SNMPv3. Er kan gelogd worden naar de console, naar VTI lijnen, naar de buffer en via SNMP. Omdat logging veel van de CPU vraagt wordt aangeraden om SysLog servers te gebruiken.Er zijn speciale syslog servers die syslogberichten kunnen ontvangen, inventariseren en categoriseren en die alle informatie samenvoegen om deze op een mooie en duidelijke manier te presenteren. Zo worden baselines en calamiteiten snel zichtbaar.
Elk bericht heeft de volgende format (basis)
>Timestamp (datum + tijd). Let op dat standaard de tijd meegestuurd wordt sinds je Cisco device als laatste opgestart is (0:59) is dus bijna een uur sinds de laatste reboot en niet de melding van 1 minuut voor 1.
>Router Facility (welk onderdeel de melding op de router gerapporteerd heeft)
>Severity level (de ernstigheid)
>Message Mnemonic
>Description (omschrijving van de melding / log)
>Default Cisco level = 7 (alles)Er zijn 8 soorten severity levels (0-7). 0 is het meest dringend (emergency) en 6 het minst dringen (informational). Level 7 is debugging informatie. Normaliter worden levels 0 tot 4 ingesteld om verstuurd te worden (de belangrijkste meldingen).
Het toevoegen van timestamps aan syslog berichten doen we als volgt:
-----ShutDown de interface waarover SysLog berichten gestuurd worden----- (config)#interface fa0/0 (config-if)#shut -----Voeg timestamps toe aan de log berichten----- (config-if)#exit (config)#service timestamps log datetime (config)#int fa0/0 (config-if)#no shutdown
- Network Time Protocol (NTP)
NTP zorgt ervoor dat de klokken op alle netwerkapparaten gelijk staan en dat de logs van de netwerkapparaten voorzien zijn van de juiste timestamp. Gebruik bij voorkeur authenticated NTP (NTPv3). NTP gebruikt UDP poort 123. - Secure System Files
Zorg ervoor dat bestanden niet gemakkelijk van het apparaat verwijderd kunnen worden (per ongeluk of met opzet). Denk aan de startup configuration files en de IOS images. Om deze bestanden te beveiligen gebruiken we de Cisco Resilient Configuration feature. Deze feature maakt kopie van de IOS image en de startup-configuration file en plaatst deze op een locatie waar een remote user niets kan verwijderen. We refereren naar deze bestanden als “de Secure Bootset”. We activeren de feature als volgt:(config)#secure boot-image (config)#secure boot-config
Om de status van de feature te zien gebruik je:
(config)#do show secure bootset
- SNMPv3 opzetten
-----Configureer de community string en het ACL nummer om toegang te beperken----- (config)#snmp-server community CCNA RO 99 -----Maak de ACL----- (config)#access-list 99 permit 192.168.1.0/24 ----Configureer SNMP groep voor SNMPv3 met geen authenticatie----- (config)#snmp-server group CCNA-group v3 noauth ----Maak een SNMP user in de groep----- (config)#snmp-server user CCNA-user CCNA-group v3 ----Configureer de community string op ACL 99----- (config)#snmp-server community CCNA RO 99 ----Specificeer interface voor SNMP traps----- (config)#snmp-server trap-source FastEthernet0/1 ----Specificeer SNMP server welke toegang heeft----- (config)#snmp-server host 192.168.1.96 version 3 noauth CCNA-user
Securing the Control Plane
Omdat veel data binnen de Control Plane de CPU belast is het raadzaam om het verkeer te filteren zodat de CPU hierdoor minder belast wordt. Deze pakketten behoren tot de “Process Switched Traffic” categorie. Binnen deze categorie zijn 2 andere categorieen, namelijk Receive Adjacency Traffic (verkeer welke een enty hebben in de Cisco Express Forewarding (CEF) en waarbij de volgende hop de router zelf is) en de Data Plane Traffic Requiring Special Processing by the CPU (verkeer van het Data Level Plane welke door het device gaat). Denk aan ACL Logging, Unicast Reverse Path Forewarding, IP Options, Fragmentation, TTL=1 messages, ICMP Unreachables, ARP requests, Non-IP Traffic etc.
Om ongewilt verkeer te mitigeren kunnen we een Control Plane Policing maken. We gebruiken hiervoor een combinatie van granular classification ACL’s en logging. In onderstaande voorbeeld laten we alleen Telnet en DHCP verkeer toe vanuit ons trusted netwerk (192.168.1.0/24) en ICMP verkeer welke gebruikt wordt voor de netwerk infrastructuur wordt beperkt tot 5000 pakketten per seconde (als afkomstig uit het 10.1.1.0/24 netwerk):
access-list 101 permit icmp any 10.1.1.0 0.0.0.255 echo access-list 101 permit icmp any 10.1.1.0 0.0.0.255 echo-reply access-list 101 permit icmp any 10.1.1.0 0.0.0.255 time-exceeded access-list 101 permit icmp any 10.1.1.0 0.0.0.255 ttl-exceeded access-list 123 deny tcp 192.168.1.0 0.0.0.255 any eq telnet access-list 123 deny udp 192.168.1.0 0.0.0.255 any eq domain access-list 123 permit tcp any any eq telnet access-list 123 permit udp any any eq domain access-list 123 deny ip any any class-map match-all ICMP match access-group 101 class-map match-all UNDESIRABLE-TRAFFIC match access-group 123 Policy-map COPP-INPUT-POLICY clacc UNDESIRABLE-TRAFFIC drop class ICMP policy 50000 5000 5000 conform-action transmit exceed-action drop control-plane service-policy input COPP-INPUT-POLICY |
Bekijk Control Plane Policing Configuration:
#show policy-map control-plane |
Routing Protocollen Beveiligen
Routing Protocollen sturen routing informatie naar elkaar over het netwerk. Deze kunnen beveiligd worden met wachtwoorden maar zelfs dan worden de wachtwoorden in cleartext verzonden. Het is veiliger om wachtwoorden te versleutelen met Message Digest 5 (MD5). Zo gaat het in zijn werk:
- OSPF
MD5 authenticatie moet toegepast worden op de router welke OSPF verwerkt en op de interface welke OSPF pakketten ontvangt. Authenticatie type moet hetzelfde zijn voor alle apparaten die binnen de OSPF circle vallen.(config)#interface GigabitEthernet0/1 (config-if)#ip address 192.168.10.1 255.255.255.0 (config-if)#ip ospf authentication message-digest (config-if)#ip ospf message-digest-key 1 md5 WACHTWOORD (config-if)#exit (config)#router ospf 650000 (config-ospf)#router-id 192.168.10.1 (config-ospf)#area 0 authentication message-digest (config-ospf)#network 10.0.0.1 0.0.0.255 area 10 (config-ospf)#network 192.168.10.0 0.0.0.255 area 0
- EIGRP
MD5 Authenticatie binnen EIGRP vereist configuratie op interface niveau maar niet op router niveau. In tegenstelling tot OSPF maakt EIGRP gebruik van een keychain welke bestaat uit een key number en een key string. Deze wordt op router niveau geconfigureerd:(config)#key chain WACHTWOORD (config-key-chain)#key 1 (config-kc-key)#key-string WACHTWOORD-BEVEILIGING (config-kc-key)#exit (config-key-chain)#exit (config)#interface loopback0 (config-if)#ip address 192.168.100.1 255.255.255.0 (config-if)#exit (config)#interface GigabitEthernet0/1 (config-if)#ip address 192.168.10.1 255.255.255.0 (config-if)#ip authentication mode eigrp 65000 md5 (config-if)#ip authentication key-chain eigrp 65000 WACHTWOORD (config-if)#exit (config)#router eigrp 650000 (config-eigrp)#router-id 192.168.10.1 (config-eigrp)#network 192.168.10.0 (config-eigrp)#network 192.168.100.0
- RIPv2
Authenticatie in RIP(v2) is default plaintext. Net als EIGRP maakt RIP gebruik van een key-chain en moet de authenticatiemethode per RIPv2 Interface geconfigureerd worden.(config)#key chain WACHTWOORD (config-key-chain)#key 1 (config-kc-key)#key-string WACHTWOORD-BEVEILIGING (config-kc-key)#exit (config-key-chain)#exit (config)#interface loopback0 (config-if)#ip address 192.168.100.1 255.255.255.0 (config-if)#exit (config)#interface GigabitEthernet0/1 (config-if)#ip address 192.168.10.1 255.255.255.0 (config-if)#ip rip authentication mode md5 (config-if)#ip rip authentication key-chain WACHTWOORD (config-if)#exit (config)#router rip (config-rip)#version 2 (config-rip)#network 192.168.10.0 (config-rip)#network 192.168.100.0
- Border Gateway protocol (BGP)
BGP is veel simpeler om met MD5 te configureren en vereist slechts 1 extra neighbour statement:(config)#interface loopback0 (config-if)#ip address 192.168.100.1 255.255.255.0 (config-if)#exit (config)#interface GigabitEthernet0/1 (config-if)#ip address 192.168.10.1 255.255.255.0 (config-if)#exit (config)#router bgp 65000 (config-bgp)#bgp log-neighbour-changes (config-bgp)#network 192.168.100.0 (config-bgp)#network 192.168.10.2 remote-as 65100 (config-bgp)#network 192.168.10.2 password WACHTWOORD-BEVEILIGING
BGP MD5 Authenticatie verifiëren doe je met het commando:
(config)#show ip bgp neighbors | Include Option Flags
Securing the Data Plane IPv6
Dit onderdeel gaat over het beveiligen van de Data Plane in IPv6. De normale werking van IPv6 is hier https://jarnobaselier.nl/ipv6-basics-hoe-werkt-het-1-2/ (IPv6 Basics deel 1) en hier https://jarnobaselier.nl/ipv6-basics-hoe-werkt-het-2-2/ (IPv6 Basics deel 2) na te lezen.
Een IPv6 adres configureren (manual)
(config)#interface fa0/0 (config-if)#ipv6 address 2001:0bd8:0000:0000:1234:0000:0052:0001/64 |
Een IPv6 adres configureren (manual – verkort)
(config)#interface fa0/0 (config-if)#ipv6 address 2001:0bd8::1234:0:0052:0001/64 |
Om IPv6 pakketten te routeren op een Cisco moet Unicast Routing ingeschakeld zijn:
(config)#ipv6 unicast-routing |
IPv6 kent 3 Routing protocollen welke alles IPv6 versies zijn van hun IPv4 broertjes en zussen:
- RIPng (RIP Next Generation)
(config)#ipv6 rip MYRIP enable
- OSPFv3
(config)#ipv6 ospf 1 area 0
- EIGRP for IPv6
(config)#ipv6 eigrp 1 (config-rtr)#no shutdown
IPv6 Beveiligingsmaatregelen
- Gebruik fysieke beveiliging zoals sloten, airco en geen elektromagnetische straling
- Beveilig je netwerkapparaat zo goed mogelijk
- Stel beveiligingsmaatregelingen in tussen zones zoals ACL’s en firewalls
- Beveilig Routing Protocollen zodat authentication nodig is
- Gebruik AAA services
- Voorkom DoS aanvallen
- Update regelmatig
Zowel IPv6 en IPv4 kennen de volgende gevaren
- Application Layer Attackes – Protocollen die niet gebruikt worden dus afsluiten zodat hackers deze niet voor malafide doeleinden kunnen gebruiken. Denk aan ASA, Firewall en IPS applicaties
- Unauthorized Access – Voorkom dit en gebruik AAA servers evenals alle overige dingen die tot nu toe aan de orde geweest zijn zoals b.v. custom views
- Man-in-the-Middle attacks. Hier kunnen Dynamic ARP Inspection en STP Guard bij helpen
- Sniffing en afluisteren worden vrij gemakkelijk voorkomen met features als Port Security
- DoS aanvallen – IPS, Packet Inspection en Rate Limiting zijn features die hier bij helpen
- Spoofed Packets – Deze worden gemitigeerd door Packet Filtering, Reverse Path Checks en door Denying inbound verkeer welke claimt afkomstig te zijn vanuit het interne netwerk
IPv6 kent echter nog een aantal nieuwe gevaren:
- Network Discovery Protocol (NDP) – NDP kan een rogue router signaleren en aanmerken als legitiem waardoor clients voorzien kunnen worden van foute informatie. Dit kan weer resulteren in een Man-in-the-middle attack
- Neighbor Cache Resource Starvation – Dit komt voor als een aanvaller vele IPv6 destinations in een korte tijd spoofed waardoor de router dit niet bij kan houden terwijn hij temp cache entries probeert weg te schrijven. IPv6 Destination Guard is een methode die deze aanval kan voorkomen
- DHCPv6 – Een rogue DHCPv6 router in het netwerk kan een rogue router markeren als gateway waardoor een Man-in-the-middle attack ontstaat
- Hop-by-Hop Extension Headers – IPv6 headers bestaan uit extensions, dit in tegenstelling tot de in IPv4 aanwezige opties. Een Extension kan ook misbruikt worden. Zo is daar de Routing Header extension (Type 0 ofwel RH0). In de routing header kunnen tussenliggende hosts worden opgenomen waardoor een hacker ook een bepaald pad kan uitstippelen.
- Packet Amplification Attack – Deze aanval zorgt ervoor dat een DoS aanval mogelijk wordt door het uitputten van het netwerk. Denk aan het loopen van pakketten of het uitsturen van vele Neightbour Solicitation Requests (is een multicast actie)
- ICMPv6 – Vele gevaren als dit protocol misbruikt wordt
- IPv6 Tunneling – Als IPv6 pakketten over een IPv4 netwerk getunneld worden dan is de originele content verborgen tijdens encapsulaton. Zorg ervoor dat er aan de uiteinde van de tunnels een goede packet filtering plaatsvindt
Ook IPv6 heeft verschillende manieren om deze gevaren tegen te gaan.
- Filter Bogus Addresses
- Filter Nonlocal Multicast Addresses
- Filter IPv6 verkeer welke je niet in je netwerk wilt zoals b.v. onderdelen van ICMPv6
- Drop Router Header type 0 pakketten
- Gebruik handmatige tunnels i.p.v. automatrische tunnels (zoals automatic 6to4)
- Bescherm tegen rogue IPv6 apparaten met features zoals:
>IPv6 first-hop security binding table (tabel valideert of buren veilig zijn)
>IPv6 Device Tracking
>IPv6 Port Based Access List Support (IPv6 ACL’s)
>IPv6 RA Guard – Mitigeert rogue RA berichten op het netwerk
>IPv6 ND Inspection – ND Inspection analyseert de discovery messages van de buren om zo een trusted binding table database op te bouwen en dropt unconformed discovery messages
>Secure Neighbor Discovery in IPv6 (SeND) – Nog niet globaal ondersteund maar een nieuwe versie van ND met 2 nieuwe ND berichten (Certification Path Solicitation (CPS) en Certification Path Answer (CPA) om ND Spoofing en redeirectie te voorkomen - Gebruik IPv6 ACL’s
Test
(config)#ipv6 access-list IPv6-ACL-1 (config-ipv6-acl)#permit udp host 2001:DB8::100:1 2001:DB8:1:60::/64 eq 53 (config-ipv6-acl)#deny udp any 2001:DB8:1:60::/64 eq 53 -----St ND Solicitation en Advertisement pakketten toe----- (config-ipv6-acl)#permit icmp any any nd-ns (config-ipv6-acl)#permit icmp any any nd-na (config-ipv6-acl)#deny ipv6 any any (config-ipv6-acl)#interface GigabitEthernet0/0 (config-if)#ipv6 traffic-filter IPv6-ACL-1 in
Firewall Concepten en Technologieën
ACL is al een vorm van firewalling. Een goede firewall moet tegenwoordig aan meerdere eisen voldoen. Hieraan herkennen we o.a. een goede firewall:
- Bestendig tegen aanvallen. We weten dat 100% beveiliging niet bestaat maar een goede firewall moet 99,9% van alle soorten aanvallen moeten kunnen mitigeren (mits juist geconfigureerd)
- Al het verkeer moet door de firewall gaan. Er moeten geen alternatieve paden om de firewall heen zijn
- De Firewall handhaaft de Access Control Policy van het bedrijf welke eerst op papier is uitgetekend. Dus niet on-the-fly en na goeddunken is ingericht.
Een firewall biedt o.a. bescherming tegen:
- Het beschermen van gevoelige systemen en data voor de buitenwereld
- Het misbruiken van protocollen voor malafide doeleinden
- Unauthorized users
- Malafide data (IPS)
Firewalls gebruiken de volgende methodes om verkeer te filteren:
- Simple Packet-filtering techniques / Static Packet Filtering
Static Packet Filtering is gebaseerd op layer 3 en 4. Een voorbeeld vasn Static Filtering zijn ACL’s.Voordelen
>Simpele sets
>Minimale impact op performance
>Simpel te implementeren
>Vrijwel op alle routers beschikbaar
>Vrijwel alle filtermethodes zijn mogelijkNadelen
>IP Spoofing is effectief
>Fiterd gefragmenteerde pakketten niet zo accuraat als niet gefragmenteerde pakketten.
>Lange ACL’s zijn onoverzichtelijk
>Stateless (Werkt niet met sessie flow informatie en filtert elk pakket opnieuw
>Sommige applicaties gebruiken veel verschillende dynamische poorten. Dit is lastig te beheren - Proxy Servers (Application Layer Gateway – ALG)
Deze firewalls opereren op layer 3 en hoger en fungeren als tussenpersoon tussen client en server. Veel proxy servers nemen het verkeer, en sturen het door alsof het hun eigen verkeer is en visa versa.Voordelen
>ALG werkt tot layer 7 en kan pakketten zeer analytisch inspecteren
>Omdat de proxy server tussen client en server staat is het lastig om de server aan te vallen
>Zeer gedetailleerde logging features
>Kan op normale hardware draaienNadelen
>CPU wordt zwaar belast evenals memory en harddisk waardoor het een single-point-of-faillure kan worden
>Heel scala aan applicaties wordt niet ondersteund
>Er kan speciciale cliënt software nodig zijn aan de cliënt kant - NAT
- Statefull Inspection Firewalls
Deze firewalls worden tegenwoordig breed ingezet. Deze firewalls onthouden de status van de gebruikersessie in de “statefull database” zodat wanneer deze gebruiker later weer toegang tot een resource wilt krijgen waar deze voorheen ook toegang toe had deze ook de toegang krijgt zonder opnieuw alle firewall regels te doorlopen. Statefull Firewalls zorgen ervoor dat return traffic van een gebruikerssessie doorgelaten wordt maar dat andere externe gebruikers geen sessie met de interne resource op kunnen zetten.Voordelen
>Kan primair gebruikt worden om ongewenst verkeer eruit te filteren
>Kan op routers en dedicated firewalls geïmplementeerd worden
>Dynamic packet filtering
>Verdedigd tegen spoofing en DoS aanvallenNadelen
>Application Layer Attack kan mogelijk niet voorkomen worden
>Niet alle protocollen hebben Tightly Controlled State Informatie zoals UDP en ICMP
>Sommige applicaties die dynamisch poorten openen kunnen falen met werken omdat de firewall dit niet ondersteund
>Ondersteund standaard geen authenticatiemogelijkheden - Application Inspection Firewalls
Deze firewalls kunnen alle protocollen inspecteren en verifieren t/m layer 7, maar ze fungeren niet alls proxy tussen client en server.Voordelen
>Kan diep in de conversatie kijken om te kijken welke secundaire kanalen/poorten de applicatie gaat openen
>Ken de details van de Application Layer
>Kan meerdere soorten aanvallen voorkomen dan Statefull Inspection Only Firewalls. - Transparent Firewalls
Een transparent firewall kan meerdere soorten filtering gebruiken zoals packet-based filtering, statefull filtering en application inspection. Het speciale aan een Transparent Firewall is de manier waarop deze in het netwerk wordt geplaatst, namelijk op layer 2. Normaliter werkt een firewall op layer 3 waar interfaceA een IP adres heeft en interfaceB ook, en verkeer wordt tussen de interfaces gerouteerd. Bij een Transparent Firewall zijn er nog steeds 2 interfaces maar deze hebben geen IP. Deze interfaces werken als 2 poortenm in hetzelfde VLAN op een switch ofwel als een bridge. Verkeer welke erdoorheen gaan merkt de aanwezigheid van deze firewall niet op. - Next-generation context and application-aware firewalls (NGFW)
Deze typen firewalls bieden “thread-focussed security services welke een betere bescherming bieden tegen bekende en geavanceerde gevaren zoals malware attacks.
NAT – Network Address Translation
NAT vertaald verkeer van IP-A naar IP-B. Maar NAT gebruikt ook PAT (port address translation) waarbij de router verkeer van IP-A / Poort-A naar IP-B / Poort-B kan sturen. Verkeer wat binnenkomt op 52.101.40.10:5400 kan doorgestuurd worden naar 192.168.1.10:1100 terwijl verkeer welke binnenkomt op 52.101.40.10:5401 doorgestuurd kan worden naar 192.168.1.19:1400. NAT vertaald dus verkeer waardoor we (externe) IP addressen kunnen besparen. We kunnen dus honderden interne gebruikers bereikbaar maken met enkel 1 extern IP adres. PAT noemen we ook wel NAT met Overload. IPv6 kent b.v. geen NAT meer omdat er meer dan voldoende IPv6 adressen beschikbaar zijn. Cisco gebruikt verschillende benamingen om de interfaces binnen NAT te definieren:
Inside local (host met intern private IP) = Intern Private
Inside Global = Intern Private met mapped public address
Outside Global = Externe host
Outside Local = Externe host met IP aangepast door NAT
NAT status bekijken
#show ip nat translations |
Er zijn verschillende soorten NAT:
- Static NAT
Statische mapping van external naar internal adres. Dus voor 100 interne gebruikers heb je 100 externe IP adressen nodig. - Dynamic NAT
Werkt met een pool van externe IP adressen waarvan een IP adres gebruikt wordt als deze nodig is en vrijgegeven wordt als de sessie gesloten is. Dus voor 100 interne gebruikers heb je tussen de 1 en 100 externe IP adressen nodig, afhankelijk van de continues load. - Dynamic PAT
Dynamic PAT gebruikt uiteraard de PAT functie en is een zeer efficiënte manier van NATten. Dus voor 100 interne gebruikers heb je slechts 1 extern IP adres nodig. - Policy NAT/PAT
Policy NAT/PAT wordt toegepast wanneer verkeer aan de criteria van de policy voldoet. Wanneer er aa nde policy voldaan wordt dan wordt verkeer volgens de NAT/PAT regels verwerkt. Zo niet dan wordt verkeer op de normale manier gerouteerd.
Firewall Access Rules kunnen gebaseerd zijn op:
- Servcie Control (welke service mag wel en welke mag niet benaderd worden)
- Address Control (source / destination adressen)
- Direction Control (de kant welke de verkeersstroom op gaat)
- User Control (welke user mag wat)
- Behaviour Control (controle over de manier waarop een applicatie werkt, denk aan het afvangen van spam voor een e-mailserver)
Firewall regels kunnen weer onderverdeeld worden in verschillende typen:
- Too Promiscuos Rules – Deze regels geven meer toegang dan noodzakelijk
- Redundant Rules – Dit zijn dubbele regels die voorkomen in een ACL en dus overbodig zijn
- Shadowed Rules – Deze regel is correct maar staat op een foute locatie in de ACL. De ACL wordt van boven naar beneden uitgevoerd en nieuwe regels komen onderaan in de lijst. Deze regels staan vaak in de foute order en moeten verplaatst worden.
- Orphaned Rules – Dit zijn regels die foute informatie bevatten waardoor de regel nooit getriggerd zal worden, b.v. een regel om het interne verkeer te filteren met een IP adres welke niet matched met het interne netwerk
- Incorrectly Planned Rules – Deze regel is voortgekomen uit een fout in business requirement plan vaak doordat men niet exact weet hoe het netwerk fungeert
- Incorrectly Implemented Rules – Deze regel zal niet naar behoren functioneren omdat de administrator een fout heeft gemaakt tijdens de configuratie van deze regel
ACL’s kunnen op vrijwel ieder Cisco apparaat geconfigureerd worden. Een ACL bestaat uit meerdere Access Control Entries (ACE). Een ACL heeft pas effect als deze toegepast is op een interface. Een voorbeeld van een ACL configuratie waarbij we www (80) verkeer toestaan van host 192.168.1.100 naar host 10.1.1.1. De interface heeft IP adres 192.168.1.200 en deze ACL gaat dus (vanuit de interface gezien) verkeer komend vanuit het interne netwerk naar buiten toe. De ACL wordt daarom ook toegepast op de “inbound” kant van de interface:
(config)#ip access-list extended ACL1 (config-acl)#permit tcp host 192.168.1.100 host 10.1.1.1 eq www (config-acl)#exit (config)#interface GigabitEthernet0/0 (config-if)#ip address 192.168.1.200 255.255.255.0 (config-if)#ip access-group ACL1 in |
Je kunt slechts 1 ACL toepassen per interface, per protocol en per directie/richting. Een ACL moet minimaal 1 permit statement bevatten. ACL’s worden toegepast van boven naar beneden en als een match gevonden is wordt de ACL niet verder verwerkt.
Implementing Cisco IOS Zone-Based Firewalls
Op een zone-based firewall worden zones gemaakt waarop policies worden toegepast. Interfaces worden in de zone’s geplaatst waardoor de interfaces meteen beschikken over de juiste policies. Zie de zone’s dan ook als “Security Groups” voor de firewall. Een zone-based firewall (ZBF) heeft o.a. de volgende features:
- Statefull inspection
- Application inspection
- Packet filtering
- URL filtering – Filtering op basis van URL
- Transparent firewall (implementation method)
- Support voor VRF (Virtual Routing and Forewarding) – Virtuele Routing Tabellen
- ACL’s zijn niet verplicht als filtermethode op de policy te implementeren
Een interface kan slechts in 1 zone geplaatst worden. Er bestaat ook een default zone, genaamd de “self” zone. Dit is een logical zone en bedoeld voor verkeer welke voor de router zelf bedoeld is.Verkeer welke vanuit de router naar buiten gestuurd wordt is afkomstig uit de “self” zone”. Verkeer tussen interfaces in dezelfde zones wordt standaard toegestaan (allow). Verkeer tussen alle eigen (zelf gemaakte zones) wordt zonder specifieke configuratie tussen de zones geweigerd (deny). Verkeer van en naar de “self” (router) zone wordt bij default altijd allowed. Om verkeer mogelijk te maken tussen 2 zones moet een policy gemaakt worden welke het verkeer tussen de zones specificeert en toestaat. Deze policy wordt dan toegepast op de “zone pair”. De zone pair is een koppeling van 2 verschillende zones. Tussen een Zone Pair is een unidirectional flow van verkeer (dus verkeer welke 1 kant op gaat).
Cisco gebruikt C3PL (Cisco Common Classification Policy Language) om de policies te implementeren. C3PL bestaat uit 3 componenten:
- Class Maps – Deze identificeren het verkeer welke gefilterd moet worden (tussen layer 3 en 7). Een Class map kan specificeren dat aan alle eisen voldaan moet worden (match-all condition) of dat er slechts aan 1 eis voldaan hoeft te worden (match-any condition). Class Maps kunnen ook refereren aan ACL’s en andere class maps.
- Policy Maps – De Policy Maps definieren wat er moet gebeuren met het verkeer. Policy Maps gebruiken de class Maps voor classificatie van de data. De basisacties van een Policy Map zijn: Permit (Verkeer wordt doorgelaten zonder inspectie, dit wordt meestal gebruikt bij verkeer welke 1 richting op is en dus geen tegenverkeer verwacht of voor protocollen die geen inspection ondersteunen) – Inspect (Verkeer wordt statefull geïnspecteerd, dit wordt meestal gebruikt bij transit traffic, dus verkeer welke een antwoord verwacht van de overkant) – Drop (Verkeer wordt geblokkeerd) en Log (Verkeer wordt gelogd).
- Service Policies – Deze stap implementeert de policy volgens de policy map en wordt toegepast op een zone pair. De Service Policy wordt gebruikt door de zone die het verkeer initieerd (unidirectional Traffic).
Als er dus verkeer tussen zone pairs plaats vindt en de initiator van het verkeer verwacht retour verkeer (antwoord van de andere zone retour) dan moet de “Inspect” actie toegepast worden op de policy map waardoor een statefull database opgebouwd wordt welke gebruikt wordt waardoor tegenverkeer dynamisch toegestaan is. Op routers waar ZBF geconfigureerd is wordt verkeer anders gerouteerd dan op gewone routers. Het kan zijn dat de router de routering baseert op de zone waar de interface lid van is waarop het verkeer binnen komt. Zo wordt verkeer gerouteerd op een router met ZBF:
Ingress (inkomende) Interface lid van een zone: Nee
Egress (uitgaande) Interface lid van een zone: Nee
Zone Pair aanwezig: Nee
Resultaat: Verkeer wordt normaal geforeward
Ingress (inkomende) Interface lid van een zone: Nee
Egress (uitgaande) Interface lid van een zone: Ja (zone A)
Zone Pair aanwezig: Ja
Resultaat: Verkeer wordt gedropt
Ingress (inkomende) Interface lid van een zone: Ja (zone A)
Egress (uitgaande) Interface lid van een zone: Ja (zone A)
Zone Pair aanwezig: (maakt niet uit, beide interfaces lid van dezelfde zone)
Resultaat: Verkeer wordt geforeward (interfaces in dezelfde zone)
Ingress (inkomende) Interface lid van een zone: Ja (zone A)
Egress (uitgaande) Interface lid van een zone: Ja (zone B)
Zone Pair aanwezig: Nee
Resultaat: Verkeer wordt gedropt (interfaces in verschillende zone)
Ingress (inkomende) Interface lid van een zone: Ja (zone A)
Egress (uitgaande) Interface lid van een zone: Ja (zone B)
Zone Pair aanwezig: Ja
Resultaat: Verkeer wordt volgens toegepaste service policy op de zone pair geforeward
Belangrijk om te onthouden: Als slechts 1 interface lid is van een zone wordt verkeer gedropt, als geen enkele interface lid is van een zone wordt verkeer normaal gerouteerd. Als beide interfaces lid zijn van dezelfde zone geld dat verkeer geforeward wordt en als de interfaces lid zijn van een verschillende zone wordt verkeer gedropt. Als interfaces lid zijn van verschillende zones waar een zone pair tussen bestaat wordt verkeer volgens de toegepaste service policy op de zone pair gerouteerd.
Aanmaken Class Map
(config)#class-map type inspect match-any MIJN-CLASS-MAP (config-cmap)#match protocol telnet |
Aanmaken Policy Map met verkeersclassificatie van bovenstaande Class Map
(config)#policy-map type inspect MIJN-POLICY-MAP (config-pmap)#class type inspect MIJN-CLASS-MAP |
Maak de security zones (ik noem ze inside en outside maar ze kunnen elke naam dragen)
(config)#zone security inside (config-sec-zone)#exit (config)#zone security outside (config-sec-zone)#exit |
Maak de Zone Pair en specificeer de directie (van waar naar waar)
(config-sec-zone)#zone-pair security in-to-out source inside destination outside |
Pas de Policy Map toe aan de Zone Pair
(config-sec-zone)#service-policy type inspect MIJN-POLICY-MAP (config-sec-zone)#exit |
Configureer de interfaces om lid van de zones te worden
(config)#interface GigabitEthernet3/0 (config-it)#description Behoord tot de outside zone (config-it)#zone-member security outside (config-it)#exit (config)#interface GigabitEthernet1/0 (config-it)#description Behoord tot de inside zone (config-it)#zone-member security inside |
Ook voor de self zone kunnen policies gemaakt worden om verkeer te filteren. De algemene regel is dat verkeer van en naar de self zone altijd alowed is. Als er een zone pair is tussen de self zone en een andere zone en er is een policy op toegepast dan wordt de policy altijd toegepast. Zo niet dan wordt normale routering gebruikt.
ZBF installeren via CCP
Het is aan te raden om de CCP wizard te gebruiken om ZBC te configureren. Als alle instellingen ingesteld zijn kopieer dan de commando’s in een texteditor, bewerk de opties (verwijder alle overige opties die de wizard automatisch allemaal toevoegt), plak deze in de CLI en pas de juiste configuratie via de CLI toe. Op die manier heb je snel een nette installatie van ZBF. Om ZBF te installeren via CCP gaan we naar:
Configure > Security > Firewall > Firewall
Vervolgens kun je kiezen tussen de Basic Firewall en de Advanced Firewall. De basic firewall heeft 2 interfaces nodig in verschillende zone’s. De Advanced Firewall stelt je in staat een 3e interface (zoals DMZ) in te stellen en om voorgedefinieerde regels toe te passen. Een 3e optie is de installatie van CBAC. CBAC is een oudere IOS fireall. Om deze te installeren klik je op “Switch to Classic Firewall”. We gaan in dit voorbeeld uit van een “Basic Firewall”.
Nu selecteer je de interface in het trusted (ingres / inside) en de interface in het untrusted (egres / outside) netwerk. Vervolgens krijgen we een melding dat je de Cisco CP niet meer kunt benaderen vanuit de outside interface (na configuratie). En nu moeten we kiezen welk security niveau we willen. We kunnen kiezen tussen Low (geen application layer inspection, alleen TCP en UDP inspectie), Medium (Zelfde als high exclusief Web en e-mail inspection) en High (drop instant messaging en peer-to-peer. Web en e-mail inspection, drops noncompliant traffic en doet generieke inspectie van TCT en UDP).
Nu geven we een DNS server op. En tenslotte krijgen we een samenvatting van de configuratie. Tenslotte genereerd CCP een hele lange command configuratie welke we dus kunnen tunen en vervolgens toe kunnen passen via de CLI (of gewoon akkoord gaan en hem doorvoeren).
Om de policy te controleren ga je naar:
Configure > Security > Firewall > Firewall en klik je op “Edit”.
ZBF controleren via de commandline kan ook met deze commando’s:
Bekijk de (type inspect) class map
#show class-map type inspect |
Bekijk de huidige sessie en toegepaste policy van zone-pair ccp-zp-in-out
#show policy-map type inspect zone-pair ccp-zp-in-out sessions |
NAT kan ook toegepast worden op routers die met ZBF geconfigureerd zijn. Om NAT te configureren ga je naar:
Configure – Router – NAT
Hier kunnen we kiezen voor “Basic NAT”. Dit is voor users die van binnen naar buiten communiceren. We kunnen ook kiezen voor “Advanced NAT”. Met Advanced NAT kunnen we andere interfaces zoals een DMZ configureren.In dit voorbeeld kiezen we voor Basic NAT.
Selecteer de interface welke verbonden is met het externe (untrusted / outside) network. De wizard wil eveneens weten wat het internet netwerk is.
Deze NAT installatie kan ook via de CLI. Dit gaat als volgt:
-----Maak een ACL welke matched met het interne (192.x.x.x) netwerk----- (config)#access-list 2 permit 192.168.1.0 0.0.0.255 -----Configureer inside en outside interface----- (config)#interface GigabitEthernet 3/0 (config-if)#ip nat outside (config-if)#exit (config)#interface GigabitEthernet 1/0 (config-if)#ip nat inside (config-if)#exit -----Vervolgens passen we NAT toe en routeren we verkeer naar de outside interface als deze vanuit intern komen (ze matchen dan met ACL2)----- -----We passen ook PAT (overload) toe----- (config)#ip nat inside source list 2 interface GigabitEthernet3/0 overload |
Om te zien of NAT werkt gaan we naar:
Configure > Router > NAT en selecteer je “Edit NAT Configuration”.
Via de CLI gebruik je:
(config)#show ip nat translations |
Basic Firewall Policues configureren op een Cisco ASA
In dit hoofdstuk gaan we dieper in op Firewall Policies en dan met name op die van de Cisco ASA. De ASA familie is er in vele modellen en bieden allemaal een soortgelijke set features. Normaliter, hoe kleiner het nummer des te kleiner de troughput capaciteit (verwerkingssnelheid). ASA 5505 t/m 5515 zijn voor small en branch offices. De 5520 t/m 5545 zijn voor medium size offices en de 5550 is voor large office gebruik. De 5555 is een uitzondering en ook voor medium offices. Dan zijn er nog een paar modellen voor datacenters namelijk de 5585, ASA Services Module en ASAv. Dus t.m 15 is klein, vervolgens tot 45 is medium en daarboven is groot met uitzondering van de 5555.
ASA biedt o.a. de volgende features:
- Packet Filtering
- Statefull Filtering
- Application Inspection / Awareness
- NAT
- DHCP
- Routing
- Layer 2 (bridge) en layer 3 (IP) implementatie
- VPN support (IPSec Remote access en site-to-site – SSL clientless en AnyConnect)
- Object Groups (Een object group is een configuratie item welke meerdere items kan bevatten. Zo kan een network object group meerdere IP adressen bevatten)
- Botnet Traffic Filtering
- Advanced Malware Protection (AMP)
- High Availability (failover)
- AAA Support
ASA kan geconfigureerd worden met de volgende tools:
- CSM – Cisco Security Manager
- ASDM – ASA Security Device Manager
- CLI – Command-line Interface
*Default ASA (ASDM) username & password zijn blanco.
De ASA gebruikt security levels welke geaccordeerd zijn met iedere routable interface. De security levels zijn nummers van 0 tot 100 waarbij 100 het meeste trust betekend en 0 uiteraard het minste. Zo zal een interface welke alleen met het interne netwerk verbonden is een 100 krijgen terwijl een outside interface welke met het internet verbonden is een 0 krijgt. Een tussennetwerk zoals een DMZ kan dan als score een 50 krijgen. Interfaces kunnen ook een naam krijgen en uiteraard een IP adres. Interfaces zijn bij default offline. Om een interface te configureren voer je minimaal de volgende taken uit:
- Geef interface een security level score
- Geef interface een naam
- Breng de interface online (no shutdown)
Als interfaces een gelijkwaardig securit level hebben wordt traffic gedenyed. Als traffic van een lager naar een hoger security level ook. Maar als traffic van een hoger naar een lager security level gaat dan is traffic allowed en retour traffic (door de statefull inspection) ook. Vergelijk het met een waterval principe. Verkeer van een lager naar een hoger security level is alleen toegestaan mits er een policy gemaakt is waarin het verkeer gedefinieerd is en expliciet is aangegeven dat dat verkeer allowed is.
Modular Policy Framework (MPF)
De Cisco ASA gebruikt de Modular Policy Framework. Net zoals bij Zone Based Firewalles worden Class Maps gebruikt om verkeer te herkennen, policy maps om acties op het verkeer toe te passen en service policies om de regels toe te passen. Service policies kunnen op een specifieke interface worden toegepast of globaal worden toegepast. Aan een interface kan slechts 1 policy gekoppeld worden. Ook kan een policy globaal geconfigureerd worden (de basis policy) en op een interface zo lang er maar geen conflicterende settings in de policies staan.
Class Maps kunnen verkeer op layer 3 en 4 indentificeren, en er zijn speciale class maps voor specieifke applicaties op layer 5 t/m 7. Verkeer kan herkent worden via een aantal methodes:
- Refererend naar een ACL
- Kijkend naar de IP Precedence/DSCP (Differentiated Services Code Point) velden van een pakket
- TCP en UDP poorten
- RTP (Real-tim Transport Protocol) port numbers
- VPN Tunnel Groups
Policy Maps kunnen een aantal dingen met het verkeer doen:
- Reroute verkeer naar een hardware module zoals een IPS
- Inspectie op het verkeer toepassen zoals application specific inspection of statefull inspection
- Verkeer priotariseren en op die basis het verkeer forewarden (QoS)
- Verkeer classificeren (rate-limit)
- Verkeer geavanceerd afhandelen
Als je de ASA voor het eerst boot (via console port / CLI) is het aan te raden de “pre-configure” wizard te doorlopen zodat de ASA voldoende informatie heeft waardoor je middels de ADSM de ASA verder kunt configureren. Denk aan Management IP, Hostname, Domainname, IP adres trusted computer, enable password, klok en firewall mode (meestal routed).
Nadat de initiele configuratie gedaan is kun je verbinden met ASA via ASDM. Dit kan via een Java applet of via software. Als dit gedaan is log je in met je enable wachtwoord (want een gebruikersnaam en wachtwoord zijn nog niet geconfigureerd). Vervolgens kun je je startup config afmaken via Wizards > Startup Wizard.
Vervolgens ga je interfaces configureren via:
Configuration > Device Setup > Interfaces > Add
Tijdens het configureren van de interfaces moet je erop letten dat je op de Advanced tab specifieke VLANs kunt instellen en een vinkje kunt plaatsen om verkeer naar een andere interface te blokkeren. De default ASA (zonder plus licentie) kan slechts 2 volledig functionerende interfaces hebben zonder restrictie.
Maak VLAN interface aan
-----Maak een VLAN aan----- (config)#interface vlan1 (config-if)#no shutdown (config-if)#description Connect to DMZ (config-if)#nameif dmz (config-if)#security-level 50 (config-if)#ip address 192.168.1.254 (config-if)#exit |
Assign een access port aan het VLAN
-----Maak een VLAN aan----- (config)#interface Ethernet0/2 (config-if)#switchport access vlan1 |
De ASA DHCP uit laten delen gaat als volgt via ADSM:
Configuration > Device Management > DHCP > DHCP Server
Via de CLI:
(config)#dhcp address 192.168.1.101-192.168.1.200 inside (config)#dhcp enable inside (config)#dhcp dns 192.168.1.21 interface inside (config)#dhcp domain voorbeeld.nl interface inside |
Routing tabel aanpassen:
Configuration > Device Setup > Routing
Statische route naar buiten (gateway) toevoegen via CLI:
(config)#route outside 0.0.0.0 0.0.0.0 158.168.2.70 |
NAT / PAT instellen:
Configuration > Firewall > Access Rules
NAT Instellen via CLI:
(config)#access-list inside_access_in_deny tcp any any eq telnet (config)#access-list inside_access_in_permit ip any any -----Normaliter wordt een ACL list op de interface toegepast.----- -----De ASA maakt echter gebruik van een access-group welke deze op de inside interface toepast----- (config)#access-group inside-access_in in interface inside |
ACL instellen:
Configuration > Firewall > Access Rules
ACL Instellen via CLI:
-----Maak Network Object aan voor interne hosts----- (config)#object network Inside_Hosts (config-network-object)#subnet 192.168.1.0 255.255.255.0 (config-network-object)#description Inside_Hosts (config-network-object)#exit -----Maak NAT (met NAT ID 1) voor verkeer vanuit het interne subnet welke binnenkomen op de inside interface en naar buiten routeren----- (config)#nat (inside,outside) 1 source dynamic Inside_Hosts interface |
Packet Tracer
Om te achterhalen waar en waarom ASA een pakket naar forward of waar de ASA een pakket drop heeft de ASA een built-in tool genaamd Packet Tracer. Packet Tracer analyseert geen actuele pakketten maar simuleert de flow op basis van zijn eigen configuratie. Je voert dus een source IP en poortnummer evenals een destination IP en poortnummer in (of interface) en packet tracer analyseert of het pakketje succesvol de eindbestemming bereikt.
Packet Tracer kan ook uitgevoerd worden vanuit de CLI. Dit gaat als volgt:
#packet-tracer input inside tcp 192.168.1.101 1065 54.128.1.70 80 |
IDS (Intrusion Detection System) / IPS (Intrusion Prevention System) Fundamentals
Een IPS ligt inline met de datastroom. Dat wil zeggen dat elk pakket langst de IPS gaat en door de IPS geanalyseerd wordt. De IPS kan vervolgens aan de hand van de configuratie het pakket droppen of doorsturen als deze als malicious wordt aangemerkt. Het nadeel is dat de sensor inline is. Dus als de sensor faalt dan kan het verkeer daar hinder van ondervinden. Sowieso zorgt een IPS voor een kleine delay in de datstroom. Als de sensor een probleem heeft kan deze geconfigureerd worden als “fail open”. Al het verkeer wordt dan doorgelaten (ook malicious) of als “fail close” waarbij het verkeer gedropt wordt.
Een IDS is een promiscuous sensor welke al het verkeer ziet en analyseert welke naar hem doorgestuurd wordt. Het verkeer ofwel de pakketjes zijn echter kopieën van de werkelijke pakketjes die gerouteerd worden. Een IDS kan het verkeer dus analyseren en alerts genereren maar kan het verkeer niet werkelijk tegenhouden.
Cisco kent meerdere IDS en IPS systemen, zoals:
- Dedicated IPS (zoals de 4200)
- Software op de router
- Extra module in een IOS Router zoals AIM-IPS en NME-IPS
- Een extra module op een ASA Firewall zoals AIP module for IPS
- Een blade welke werkt in een 6500 multilayer switch
- Cisco FirePOWER 8000/7000 series
- Virtual Next-Gen IPS voor VMWare (NGIPSv)
- ASA met FirePOWER services
IPS en IDS systemen kunnen de volgende uitslagen geven na het testen van een pakket:
- False Positive – Alert wordt gegenereerd op valide verkeer
- False Negative – Geen alert is gegenereerd terwijl malafide verkeer door de sensor is gekomen
- True Positive – Malafide verkeer is door de sensor tegengehouden
- True Negative – True negatives genereren geen logs. Dit is normaal verkeer welke de sensor doorlaat
IDS en IPS systemen kunnen het verkeer identificeren middels een aantal methoden, zoals:
- Signature-based
Een signature is een set met rules welke een pakket of een pakkettenstroom nakijkt op een specifiek patroon of specifieke karakteristiek. IPS en IDS systemen die signature-based werken komen erg veel voor en zijn gemakkelijk te tunen. Er zijn (default) al vele duizenden regels welke getuned moeten worden (er zullen regels aan en uitgeschakeld moeten worden voor de beste resultaten). De signatures moeten periodiek geupdate worden om de nieuwste gevaren te herkennen. - Policy-based
Policy-based is d.m.v. policies die we zelf maken, een beetje vergelijkbaar met ACL’s. Policies moeten handmatig geconfigureerd worden en zijn gemakkelijk te tunen. Unknown attacks worden niet afgevangen. - Anomaly-based
Bij een anomaly-based IPS/IDS wordt een baseline gecreëerd door de sensor. De sensor houdt het verkeer in de gaten en leert wat normaal is. Dan als er zich een uitzondering voordoet in de normale datastoom kan de sensor hierop reageren. Een anomaly-based sensor kan dus malicious verkeer herkennen zonder dat de signature van het verkeer bekend is. Het nadeel is dat dit type lastig te implementeren is binnen grote netwerken en vaak false-positives kan genereren. - Reputation-based
Een reputation-based IPS/IDS werkt samen in een wereldwijd netwerk van andere reputation-based IPS/IDS systemen. Dit is een correlated samenwerking waarbij de systemen leren van andere systemen. Als systeem A een vector herkent heeft kan deze vector tijdig worden tegengehouden op andere correlated systemen. Het nadeel van een reputation-based sensor is dat deze vaak geupdate moet worden.
De acties die een sensor moet ondernemen nadat malicious traffic herkent is wordt bepaald n.a.v. een “risk-rating” score. Deze score kan oplopen tot en maximum van 100 (en 100 is de hoogste / gevaarlijkste score). De administrator kan zelf beslissen wat er moet gebeuren bij een bepaalde risk rating. Risk rating gebeurt op meerdere facetten van de data. De 5 belangrijkste facetten zijn:
- Signature Fidelity Rating (SFR) – Signature accuracy – Hoe waarschijnlijk is het om GEEN false-positives te genereren
- Attack Severity Rating (ASR) – Hoe critisch is de aanval
- Target Value Rating (TVR) – Hoe belangrijk is het netwerk waar de data naartoe gaat. De administrator moet voor een goede werking interfaces differentieren qua belangrijkheid / impact.
- Attack Relevancy (AR) – Hoe relevant is de aanval? Een Windows aanval naar een Linux firewall scoort lager als dat deze richting een bekende Windows server gaat
- Global Correlation – Als sensor participeerd in global correlation wordt ook deze info gebruikt om het verkeer te classificeren
Een hacker zal IPS en IDS sensoren altijd proberen te omzijlen. Hier gebruiken ze verschillende technieken voor zoals:
- Traffic Fragmentation
- Traffic Substitution and Insertion
- Protocol Level Misinterpretation
- Timing Attacks – B.v. het heel langzaam verzenden van pakketten
- Encryption and Tunneling
- Resource Exhaustion
Als je werkt met IPS / IDS systemen zul je altijd te maken hebben met zogenaamde signatures. Cisco groepeerd signatures in groepen met gelijke karakteristieken. Voor elke signature group wordt een eigen micro-engine gebruikt om ze succesvol toe te kunnen passen. Door gebruik te maken van micro-engines kan data ook meteen door alle signature groups geinspecteerd worden. Er zijn vele signature micro-engines en sub-engines. De belangrijkste 3 zijn:
- Atomic – Signatures kunnen alleen matchen op een individueel pakket
- Service – Dit zijn signatures die application-layer services inspecteren (OS onafhankelijk)
- String of Multistring – Deze kan toegepast worden op een individueel pakket of op een stroom van pakketten zoals een sessie en past flexibele pattern matching toe
Ans sensoren een probleem ontdekken kunnen ze de alert op verschillende manieren wegschrijven. Zoals b.v.
- Security Device Event Exchange (SDEE)
- Syslog
- SNMP
Mitigation Technologies voor E-mail en Web-based threats
ESA is E-mail Security Appliance en CWS is Cisco Web Security Apliance. ESA wordt gebruikt om e-mail aanvallen zoals spam, malware attachements, phishing en spear phishing te voorkomen en CWS is om aanvallen vanuit het internet te voorkomen. ESA fungeert als een e-mail gateway die de volledige mailflow reguleert. Om verkeer af te vangen gebruikt de ESA listeners. Een listeners kan public of private zijn waarbij private e-mail vanuit intern naar buiten en public e-mail vanuit buiten naar intern is.
ESA komt in een aantal vormen zoals cloud based, hybrid en on-premise. Bij de on-premise applicatie wordt een ESA on-premise geplaatst. Denk aan de volgende modellen:
Small & Medium size enterprises:
- C170
- C370
Medium-size enterprises:
- C380
- C670
Enterprise zoals hosters en data centers:
- X1070
- C680
Dus v.a.
De cloud-bas380 t/m 670 is medium en alles wat erboven zit is klein of groot.
Bij cloud-based ESA wordt het management en de theat herkenning van de ESA vanuit de cloud aangestuurd. En bij een hybride ESA wordt een deel (voornamelijk de threat intelligence) vanuit de cloud gebruikt waardoor men compliant blijft maar behoud men wel controle on-site over b.v. encryptie, DLP etc.
Cisco ESA draait niet op een Cisco IOS OS maar op het Cisco AsyncOS waardoor ESA uitblinkt in de volgende features:
- Access Control
- Antispam (op basis van Cisco Senderbase reputatie en Antispam Integration)
- Network Antivirus
- Advanced Malware Protection (AMP)
- DLP (Het herkennen van gevoelige documenten die de organisatie verlaten)
- E-mail encryptie E-mail authentication zoals Sender Policy Framework (SPF), Sender ID Framework (SIDF) en DomainKeys Identified Mail (DKIM) voor inkomende mail evenals DKIM signing voor uitgaande e-mail.
- Outbreak Filters – Bescherming tegen nieuwe gevaren via Cisco’s Security Intelligence Operations (SIO)
Een listener wordt ook wel een SMTP Deamon genoemd en draait op een specifieke interface.Een listener moet weten of deze public of private is, vanuit welke hosts deze e-mailberichten mag verwerken, op welke poort ze luisteren en voor welke domeinen ze werken.
Om voor de eerste keer in te loggen op de ESA gebruik je de gebruikersnaam “admin” en het wachtwoord “ironport”. Vervolgens gebruik je het commando “systemsetup” om de sytemsetup wizard te starten welke je door het initiële configuratieproces geleid. Om de configuratie te testen gebruik je het commando “mailconfig”.
Web Threats
De Cisco Cloud Web Security Apliance (CWS) en Cisco Advanced Malware Protection (AMP) integratie op de Cisco Web Security Appliance (WSA) zijn de platformen om web-based threats het hoofd te bieden.
CWS is een cloud-based security service welke wereldwijde threat intelligence bidet evenals advanced threat defense en roaming user protection. Gebruikers kunnen direct gebruik maken van deze dienst door gebruik te maken van een PAC (Proxy AutoConfiguration) bestand welke CWS instelt als proxy. Administrators kunnen het verkeer ook laten proxieen via hun Cisco router. De volgende routers ondersteunen CWS proxieen:
- Cisco ISR G2 Routers
- Cisco ASA
- Cisco WSA
- Cisco AnyConnect Secure Mobile Client
Cisco Web Security Appliance (WSA) is cloud-based intelligence welke een “attack continuum” biedt aan haar gebruiker. Dit wil zeggen dat er bescherming geboden wordt voor, tijdens en na een aanval. WSA heeft o.a. een URL Reputation Filter en een Zero-Day Threat Intelligence welke mogelijk gemaakt worden door Talos (Cisco’s eigen Security Intelligence en Research Group).
WSA kan in explicit proxy mode en in transparent proxy mode geconfigureerd worden middels het Web Cache Communication Protocol (WCCP). In Explicit mode wordt het verkeer altijd over WSA getunneld en bij Transparrent mode herkent de tussenliggende router het verkeer als webverkeer en stuurt alleen het webverkeer via WSA. De router is dus de server en WSA is de WCCP cliënt. WSA kan ook als cluster ingezet worden bij grote netwerken.
Er zijn verschillende Cisco WSA modellen:
Small & Medium size enterprises:
- WSA S170
Medium-size enterprises:
- WSA S370
- WSA S380
Enterprise zoals hosters en data centers:
- WSA S670
- WSA S680
Cisco WSA draait ook op het Cisco AsyncOS. AsyncOS heeft verschillende features om web threats de baas te blijven, waaronder:
- Real-time Antimalware Adaptive Scanning – based op URL reputation en content type
- Layer 4 Traffic Montor – Om Spyware te onderscheppen
- Third-Party DLP Integration – Outbound traffic doorsturen naar een DLP server voor diepe controle over het uitgaande verkeer voor compliancy
- File Reputation – Hiervoor wordt Cisco Tallos gebruikt
- File Sandboxing – Om malware te analyseren
- File Retrospection – Het over en weer controleren van bestanden na een Malware uitbraak
- Application Visibility and Control – Het blokkeren van applicaties en micro applicaties zoals het doorlaten van Facebook maar het blokkeren van Facebook Games
Cisco SMA (Security Management Appliance) is een apparaat om ESA en WSA devices central te beheren en om rapportages van deze apparaten centraal te managen. Cisco SMA kent een aantal varianten:
Small & Medium size enterprises:
- SMAV M100v
- SMA M170
Medium-size enterprises:
- SMAV M300v
- SMA M380
Enterprise zoals hosters en data centers:
- SMAV M600v
- SM M680
Mitigation Technologies for Endpoint Threats
Er zijn een hele berg gevaren waaraan endpoint devices blootgesteld worden wanneer deze media uitwisselen en/of verbonden zijn met het internet. Denk aan b.v.
- Computer virussen
- Worms
- Mailers en Mass-Mailer Worms
- Logic Bombs
- Trojan Horses
- Backdoors
- Exploits
- Downloaders
- Spammers
- Key Loggers
- Rootkits
- Ransomware
Om (delen van) deze gevaren te mitigeren zijn er verschillende cliënt-side oplossingen. Een belangrijke is de virusscanner. Hier zijn vele merken van. Denk aan avast!, AVG, Bitdefender, F-secure, McAfee, Panda, Norton, ClamAV en Immunet. De laatste 2, ClamAV en Immunet zijn gratis open-source antivirus engines. ClamAV wordt onderhouden door Cisco en andere vendors. Een andere cliënt-side oplossing is Host Intrusion Prevention Systems (HIPS) welke een robuste firewall is welke beschermt tegen spyware, virussen, worms, trojans etc. Ook zijn er gewoon de normale Personal Firealls (layer 3 en 4 conditional blocking). Personal Firewalls en HIPS zijn echter verouderd en worden vervangen door meer moderne technieken zoals b.v. Cisco Advanced Malware Protection (AMP) for Endpoints. AMP maakt gebruik van wereldwijde bigdata en herkent veel meer threats dan b.v. HIPS. Cisco AMP is beschikbaar op de volgende OS systemen:
- Windows
- Mac OS X
- Android
Cisco AMP huisvest de File Trajectory en Device Trajectory waarmee een administrator het volledige spectrum van de aanval kan analyseren. De volgende bestanden worden door Device- en File Trajectory ondersteund:
- MSEXE
- MSCAB
- MSOLE2
- ZIP
- ELF (niet ondersteund op Windows)
- MACHO (niet ondersteund op Windows)
- MACHO_UNIBIN (niet ondersteund op Windows)
- JAVA (niet ondersteund op Windows)
- SWF (niet ondersteund op MAC OS X)
- APK (niet ondersteund op Windows & MAC OS X)
Cisco heeft ook een geavanceerde AMP distributie genaamd Cisco AMP ThreatGRID. TheadGRID is een bedrijf welke overgenomen is door Cisco voor het toepassen van geavanceerde malware analyses en diepgaande threat analyses. ThreadGRID zit nu dus gebundeld in AMP ThreadGRID.
E-mail encryptie
Om e-mail volledig te beveiligen is het versleutelen van de message body niet voldoende. Wat er ook moet gebeuren is:
- De verbinding met de e-mailserver moet versleuteld zijn
- Het hele e-mailbericht (incl. header) is versleuteld
- Je opgeslagen, gecachte en je gearchiveerde e-mail zijn ook versleuteld
E-mail kan versleuteld worden middels diverse gratis en betaalde toepassingen zoals:
- Pretty Good Privacy (PGP)
- GNU Privacy Guard (GnuPG)
- Secure/Multipurpose Internet Mail Extensions (S/MIME)
- Web-based encryption e-mail service zoals Sendic en JumbleMe
S/MIME vereist dat je een certificaat op je computer installeert (self-signed of commercial) en PGP moet een door u gegenereerde public en private key hebben. S/MIME en PGP vereisen allebei dat je de public key aan al je contacten geeft welke ze moeten installeren alvorens ze je e-mails kunnen bekijken / decrypten.
Data at Rest Encryptie
Er zijn veel gratis en commerciële oplossingen om “Data at Rest” te versleutelen. Data at Rest is dat welke opgeslagen is op de PC en op dat moment niet “in motion” is. De volgende gratis oplossingen is een greep uit de aanbieders:
- GPG
- The build-in Mac OS X Disk Utility
- TrueCrypt (gratis)
- AxCrypt
- BitLocker
- Veel Linux distributies zoals Ubuntu
- Mac OS X FileVault
Virtual Private Networks (VPNs)
VPN’s (remote access en site-to-site) worden ingezet om data integriteit, authenticatie en encryptie en vertrouwelijkheid (confidentiality) te forceren. VPN Implementaties kennen een paar protocollen waaronder:
- Point-to-Point Tunneling (PPTP)
- Layer 2 Forewarding Protocol (L2F)
- Layer 2 Tunneling Protocol (L2TP)
- Generic Routing Encapsulation (GRE)
- Multiprotocol Label Switching (MPLS)
- Internet Protocol Security (IPSec)
- Secure Socket Layer (SSL)
Einde
Tot zover de stof welke voldoende moet zijn om je CCNA 210-260 Examen te halen. Study hard, do practise examns and use mindmaps… and the certification is yours! GOOD LUCK!