NETWORKSECURITY Kenneth Temmerman 240289 Hogeschool-Universiteit Brussel Case Figuur 1 - Netwerk Kantoor Klein Als inspiratiebron voor deze case is een bedrijf uit het Moorselse gebruikt. Dit is vervolgens geoptimaliseerd en aangepast zodat het generiek wordt. Het netwerk omvat een opstelling waarbij sterk met het budget rekening gehouden dient te worden. Dit gezien de grootte van het bedrijf. Dit heeft wel enkele nadelige gevolgen, onder andere voor redundantie en de moeilijkheid voor de beveiliging. Het netwerk bestaat uit een klein aantal computers, gezien het om een kleine onderneming gaat. Vandaar werd geopteerd om een klasse C netwerk aan te maken. In de proefopstelling werden 7 desktops geplaatst en 1 laptop. Dit kan natuurlijk nog naar believen uitgebreid worden, zolang men de drempel van 254 IP-adressen niet overschrijdt. Hiervoor dienen er wel steeds meer switches bijgeplaatst worden wanneer men bekabeld en niet draadloze netwerkverbinding wenst. Er is een server geplaatst die zowel als web en mail server zal fungeren als als DHCP, fileserver,… dus zowel publiek als privaat. Hiervoor krijgt de server 2 IP-adressen. In Cisco Packet Tracer dient men hiervoor nog een tweede Network Interface Card te plaatsen, op een echte server (bijvoorbeeld de Linux distributie Debian) kan men eenvoudigweg een 2de IP toekennen zonder hiervoor extra kosten te hoeven maken. Het veiligste zou zijn om toch nog een extra kost te maken voor een tweede network interface card, om deze dan toe te kennen aan de virtuele server, op die manier kunnen er ook twee kabels getrokken worden, één naar de router en een tweede naar de switch. Hierdoor wordt een complete afscheiding verzekerd. Om dit allemaal te verwezenlijken dient er een Demilitarized Zone te worden opgezet. Hierin wordt de webserver en de mailserver geplaatst. Gezien er rekening gehouden dient te worden met een beperkt budget wordt er slechts 1 fysieke server gebruikt, maar wel met een virtuele server op, waardoor ze toch werken als 2 afzonderlijke toestellen. Om het kostenplaatje te drukken kan er ook slechts maar 1 router gebruikt worden. Hiervoor is een Firewall nodig. Firewall De term Firewall komt oorspronkelijk van een vuurvaste muur die ervoor zorgt dat het vuur niet verder dan deze muur kan verspreiden. De functie van een firewall valt hiermee te vergelijken. Een firewall houd namelijk ongewenste zaken (het vuur) tegen op een bepaalde plaats. Figuur 2 - Firewall met DMZ http://security.stackexchange.com/questions/13556/public-dmznetwork-architecture Hoewel er verschillende mogelijkheden zijn voor het opzetten van een firewall, delen alle firewalls gemeenschappelijke kenmerken: Al het verkeer dat tussen 2 of meerdere netwerken wil gaan moet langs de firewall passeren. Ze zijn resistent tegen aanvallen. Ze controleren het verkeer aan de hand van de ingestelde polities. Het hebben van een Firewall kan zowel voor- als nadelen bieden. Het is natuurlijk vrij eenvoudig te stellen dat de nadelen niet opwegen tegen de voordelen. Voordelen: Data die niet op het netwerk hoort wordt onmiddellijk tegengehouden. Makkelijk te beheren, gezien het voor het gehele netwerk dient. Er kan niet aan het interne netwerk of interne data geraakt worden. … Nadelen: Een kleine fout in configuratie kan het gehele netwerk platleggen. Het vertraagd het netwerk. Kan misleid worden. … Er zijn verschillende soorten firewalls. Zo zijn er ‘Statefull’, ‘NAT’, ‘Host-based’, ‘Application gateway’ en ‘Packet Filtering’ firewalls… Om dit te realiseren wordt er gebruik gemaakt van een zone-based firewall. Om een veilig netwerk uit te bouwen dient men een aangepaste methode te gebruiken. Bij de methode word de firewall stapsgewijs uitgewerkt: 1. 2. 3. 4. Verbinding controleren Het bepalen van de zones. Bepalen van de policies tussen de zones. Functionaliteit testen. 1. Verbinding controleren Vooraleerst dient er gecontroleerd te worden of het netwerk functioneert voordat men aanpassingen gaat doen. Op die manier is men zeker dat na het uitvoeren van de wijzigingen, indien er zich een probleem stelt, het probleem in de zopas gemaakte configuratie bevindt. Hierdoor kan men de oorzaak van het gestelde probleem veel sneller aanduiden. Dergelijke tests gebeuren door middel van pings, telnet-sessies, het navigeren naar de server via de browser,… In theorie zou dit allemaal moeten werken, gezien er geen restricties zijn opgelegd. Indien dit niet het geval is dienen eerst deze problemen opgelost te worden alvorens men kan verder gaan in het proces. 2. Het bepalen van de zones. Om een veilig netwerk te kunnen creëren moet er met drie verschillende zones gewerkt worden. Vooraleerst dient er een interne zone gemaakt te worden. Hierin zullen alle pc’s, printers,… geplaats worden, behalve de server. Voorts moet er dan voor deze server een zone gemaakt te worden, dit omdat deze van buitenaf toegankelijk dient te zijn, en hiervoor moeten andere toelatingen zijn. Deze zone heeft de DMZ. Als laatste dient er dan ook nog een outside zone gecreëerd te worden, waarin zich eigenlijk het volledige internet bevind. 3. Bepalen van de policies tussen de zones. Om te voorkomen dat de mogelijkheid bestaat men van buitenaf het netwerk op het interne netwerk kan geraken (bijvoorbeeld hacker) dient er enkel specifiek verkeer te zijn. Dit zijnde verkeerd van binnen het netwerk naar buiten, of van buiten naar binnen op voorwaarde dat het geïnitieerd word door het interne netwerk. Dit kan doormiddel van het packet te inspecteren en te bekijken of het een retournerend packet is. In dit geval komt het erop neer dat we eerst een access-list gaan maken, met daarin een toelating voor al het verkeer van het 192.168.0.0/24 netwerk dat naar eender welk netwerk gaat. Voorts word enkel udp, tcp en icmp toegelaten, gezien dat er geen andere protocollen nodig zijn voor de werking van het bedrijf. Om toe te laten dat mensen van overal ter wereld kunnen surfen naar de website van het bedrijf dient er ook hiervoor een speciale policy opgemaakt te worden. Tussen het externe netwerk en de DMZ dient ieder TCP, UDP en ICMP packet toegelaten te worden dat de bestemming 192.168.1.25, het IP-adres van de server, heeft. 4. Functionaliteit testen. Het testen van de nieuwe configuratie dient op gelijkaardige manier te gebeuren. Ook ditmaal dient er getest te worden door het gebruik van ping, telnet-sessies en het navigeren naar de server via de browser. Deze maal zouden pings vanaf het interne netwerk naar het externe netwerk en de DMZ moeten functioneren, pings vanaf het externe netwerk naar de DMZ en van de DMZ naar het externe netwerk. Indien dit niet het geval is dient de configuratie herbekeken te worden. Uitwerking Tests De makkelijkste manier om het netwerk te testen is door het uitvoeren van pings en via de browser te surfen naar de servers. Vooraleerst voeren we een ping uit tussen twee pc’s die zich in het netwerk bevinden. In onderstaande afbeelding pingt men van 192.168.0.11 naar 192.168.0.10. Vervolgens gaan we via de browser van Laptop0 naar het IP-adres van de server met als adres 192.168.0.25. Vervolgens surfen we naar de server die logisch gezien buiten het netwerk staat. Ook dit lukt zoals men kan zien zonder problemen. Wanneer men van een laptop in het netwerk surft naar een server die een webserver op het internet voorstelt lukt dit ook zonder problemen. Vervolgens gaan we vanaf ‘het internet’ naar de servers die zich in ons netwerk bevinden surfen. Vooraleerst surfen we naar de server die dient als webserver en dus van buitenaf beschikbaar dient te zijn. Zoals men kan zien werkt dit perfect Wanneer men vervolgens naar het adres van de server die niet van buitenaf beschikbaar mag zijn surft krijgt men dit resultaat: Ook wanneer men probeert te pingen naar deze server wordt het geblokkeerd en lukt het dus niet. Gezien de switches, router, ... bij elkaar op dezelfde locatie zullen geplaatst worden is er geen nood om de switches ook nog een IP-adres te geven. De IP-adressen vanaf 192.168.0.1 tot en met 192.168.0.24 zijn bestemd voor netwerkapparatuur. Vanaf 192.168.0.25 tot en met 192.168.0.49 zijn bestemd voor andere vaste IP-adressen zoals voor de printer en server. Vanaf 192.168.0.50 De ranges worden opzettelijk vrij groot gehouden gezien er geen nakend tekort is op geen enkel gebied en we rekening moeten houden met een mogelijke groei van 20% per jaar. Door deze zou groot te houden zullen er in principe geen grote veranderingen dienen te gebeuren aan het netwerk de komende jaren. IP tabel Kantoor OMSCHRIJVING ROUTER FA0/0 (DEFAULT GATEWAY) SERVER (MAIL EN WEBSERVER) SERVER (INTERN NETWERK) PRINTER ROUTER FA1/0 (DEFAULT GATEWAY) IP-ADRES 192.168.0.1 192.168.1.25 192.168.0.25 192.168.0.26 192.168.1.1 Configuratie Router0 Current configuration : 2281 bytes ! version 12.4 no service timestamps log datetime msec no service timestamps debug datetime msec no service password-encryption ! hostname Router ! ! ! spanning-tree mode pvst ! class-map type inspect match-any BASICTRAFFIC match protocol icmp match protocol tcp match protocol udp class-map type inspect match-all INSIDETRAFFIC match access-group 192 match class-map BASICTRAFFIC class-map type inspect match-all DMZTRAFFIC match any ! policy-map type inspect INSIDE2OUTSIDE class type inspect INSIDETRAFFIC inspect ! policy-map type inspect OUTSIDE2DMZ class type inspect DMZTRAFFIC pass ! policy-map type inspect DMZ2OUTSIDE class type inspect DMZTRAFFIC pass ! policy-map type inspect INSIDE2DMZ Creëren van een klasse voor icmp, tcp en udp verkeer. Een klasse voor het BASICTRAFFIC dat voldoet aan access-group 192. Een klasse voor het DMZ verkeer. Verkeer van binnen naar buiten wordt onthouden en het terugkerend verkeer wordt doorgelaten. Verkeer van buiten naar de DMZ wordt doorgelaten Verkeer van de DMZ naar buiten wordt doorgelaten class type inspect INSIDETRAFFIC Verkeer van binnen naar de DMZ wordt inspect ! onthouden en terugkerend verkeer wordt ! doorgelaten. ! zone security INSIDE zone security OUTSIDE zone security DMZ zone security Web zone-pair security PAIRDMZ2OUTSIDE source DMZ destination OUTSIDE Creëren van de pairs om service-policy type inspect DMZ2OUTSIDE bron en de bestemming te zone-pair security PAIRINSIDE2DMZ source INSIDE destination DMZ service-policy type inspect INSIDE2DMZ bepalen zone-pair security PAIRINSIDE2OUTSIDE source INSIDE destination OUTSIDE service-policy type inspect INSIDE2OUTSIDE zone-pair security PAIROUTSIDE2DMZ source OUTSIDE destination DMZ service-policy type inspect OUTSIDE2DMZ ! interface FastEthernet0/0 Configureren van de interfaces. ip address 192.168.0.1 255.255.255.0 zone-member security INSIDE Onder andere IP-adressen, de ip access-group 111 in access-group en welke zone ip nat inside duplex auto zich daar bevindt. speed auto ! interface FastEthernet0/1 ip address 46.30.212.166 255.0.0.0 zone-member security OUTSIDE ip nat outside duplex auto speed auto ! interface FastEthernet1/0 ip address 192.168.1.1 255.255.255.0 zone-member security DMZ duplex auto speed auto ! interface Vlan1 no ip address shutdown ! ip nat inside source static tcp 192.168.1.25 80 46.30.212.165 80 NAT instellen en statische ip nat outside source static tcp 192.168.1.25 80 46.30.212.166 80 routes instellen. ip classless ip route 0.0.0.0 0.0.0.0 46.30.212.170 ip route 192.168.1.0 255.255.255.0 FastEthernet1/0 ! ! access-list 192 permit ip 192.168.0.0 0.0.255.255 any Access lists maken access-list 125 permit ip any host 192.168.1.25 access-list 126 permit ip host 192.168.1.25 any ! ! ! ! ! line con 0 ! line aux 0 ! line vty 0 4 login ! ! ! end