Computernetwerken Deel 2
Beveiliging Firewall: toegang beperken IDS: inbraak detecteren en alarmeren Encryptie: gegevens verbergen
Firewall Waarom? Filteren van pakketten Wildcard mask: omgekeerd subnetmasker Pakketfiltering niet altijd voldoende Soorten firewalls Firewall in het netwerk
Firewall: waarom? TCP/IP Alle hosts bereikbaar (via IP-adres) Kunnen met elkaar communiceren Pakketten zullen verwerkt worden Bv voortdurend pingen (ICMP-bericht) UDP of TCP als poortnummer van wachtend proces: ACK en start van verwerking
Firewall: waarom? Poortscannen: zoeken naar open poorten Sturen slecht geformatteerde data Storen lopend proces Zaken uitvoeren die niet de bedoeling zijn Elke computer beveiligen? Beveiliging concentreren in één machine
Firewall: waarom? Alle ip-pakketten via één bewaakte toegang Van binnen naar buiten en Van buiten naar binnen Geen beveiliging voor intern verkeer Geen beveiliging tegen virussen Geen beveiliging tegen DNS-spoofing Foute dns-info om gebruiker om te leiden Het internet is ontworpen zonder beveiliging
Filteren van pakketten if2 if1 netwerk 1 netwerk 2 router Coax-voorstelling? Router: Voor inkomende pakketten: nagaan welke interface verder sturen Doorsturen van pakketten
Filteren van pakketten if2 if1 netwerk 1 netwerk 2 router Configuratiemogelijkheid van een router: filteren Eigenschappen van pakket nagaan Pakket eventueel niet verder sturen Via ACL (Access Control List) = lijst van regels
Filteren van pakketten Eigenschappen van pakketten om op te filteren? IP-adres (zender en ontvanger) Protocol IP, IPX, ... TCP, UDP, ICMP, ... HTTP, FTP, ... Poorten Niet op basis van inhoud van een pakket
Filteren van pakketten ACL koppelen aan interface Per interface: ACL voor in, ACL voor uit Syntaxis hangt af van besturingssysteem van router
Filteren van pakketten: vb1 if2 if1 200.201.202.0/24 Naar internet router ACL voor if1, inkomende pakketten
Filteren van pakketten: vb1 Van 200.201.202.200: alle pakketten weigeren Van 200.201.202.128/25: mogen naar poort 80 (http)van elke host Computer 200.201.202.1 mag pingen (ICMP) Al de rest wordt niet doorgelaten Volgorde van belang
Filteren van pakketten: vb2 web-server mail-server dns-server naar Internet 200.201.202.0/24 if2 if1 router 200.201.203.0/24 if3 Naar welke servers (200.201.203.0/24) kunnen pc’s van 200.201.202.0/24? Alleen naar webserver Alleen vanaf 200.201.202.128/25
Filteren van pakketten: vb2 web-server mail-server dns-server naar Internet 200.201.202.0/24 if2 if1 router 200.201.203.0/24 if3 Hoe andere services bereikbaar maken?
Filteren van pakketten: vb2 web-server mail-server dns-server naar Internet 200.201.202.0/24 if2 if1 router 200.201.203.0/24 if3 Hoe andere services bereikbaar maken? Tweede mogelijkheid? ACL met andere interface associëren
Filteren van pakketten: vb3 naar Internet 200.201.202.0/24 if2 if1 router 200.201.203.0/24 if3
Wildcard mask ACL: Notatie opeenvolgende IP-adressen Bron = groep van IP-adressen Bestemming = groep van IP-adressen Notatie opeenvolgende IP-adressen Begin- en eindadres Beginadres/aantal bits Beginadres subnetmasker Cisco: omgekeerd subnetmasker
Wildcard mask Bv 200.201.202.128 0.0.0.127 0.0.0.127 = Wilcard Mask Betekenis: 0 : bit moet gelijk zijn 1 : bit mag om het even zijn Dus: 200.201.202.128 en 0.0.0.127 11001000 11001001 11001010 10000000 00000000 00000000 00000000 01111111 200.201.202.128 tot 200.201.202.255
Pakketfiltering niet altijd voldoende TCP-intercept Hacker stuurt geen ACK-segment Server wacht, veel open sessies, vals bron adres Server plat (DoS-aanval) Bijhouden hoeveel half-open sessies Maximum aantal Sluiten na tijdsinterval
Pakketfiltering niet altijd voldoende Fragmentatie Groot IP-pakket opdelen in fragmenten Fragmenten verstuurd als aparte IP-pakketten Hacker: pakketten zo klein maken dat TCP-hoofding er niet volledig in kan ACL’s op poortnummer en protocol ACL’s niet leesbaar
Pakketfiltering niet altijd voldoende FTP Gestarte sessie (poort 21) is alleen voor besturing. Bestandsoverdracht (active mode) Client stuurt vraag naar poort 21 en deelt een poortnummer (random) mee waarop hij luistert (PORT commando) Client wacht op verbinding Server start verbinding met client via syn, .... Bestandsoverdracht gebeurt
Pakketfiltering niet altijd voldoende FTP Bestandsoverdracht (passive mode) Client stuurt vraag naar poort 21 (PASV commando) Server deelt een poortnummer mee waarop hij luistert (random) Client start verbinding met client via syn, .... Bestandsoverdracht gebeurt Moeilijk/niet wenselijk om alle poorten op te lijsten in ACL’s
Stateful inspection Toestand (= State) van elke TCP-sessie wordt bijgehouden Bij TCP of UDP is poortnummer van bron willekeurig: geen vaste regels in firewall mogelijk Oplossing: dynamische ACL’s
Dynamische ACL’s: vb1 200.201.202.17 start Telnet-sessie met 34.45.67.89 Clientpoort: 1234 (willekeurig > 1023) Serverpoort: 23 Dynamische ACL: Tijdens init (syn, syn/ack, ack): regel toegevoegd aan ACL Firewall houdt status bij Bij opheven verbinding: schrappen regel
Dynamische ACL’s: vb1 ACL voor if2, inkomende pakketten router naar het Internet 200.201.202.0/24 if2 if1 router
Dynamische ACL’s: vb2 Bij UDP en ICMP: geen init, hoe status bijhouden, wanneer schrappen? Na timeout Gebruik van virtuele verbinding Uitgaande verzoeken worden geregistreerd Alleen inkomende berichten doorlaten die een antwoord zijn op een geregistreerd verzoek
Dynamische ACL’s: vb3 FTP: Firewall houdt status van sessie bij Toevoegen, weglaten lijn in ACL Firewall met Inspection engine (software in firewall) Firewall kent het toepassingsprotocol (FTP) Herkent PORT, PASV commando Voegt dynamisch regels toe aan ACL = sessiefiltering
Soorten firewalls Pakketfilters: filteren per pakket Sessiefilter: filteren per sessie Toepassings-proxy Statefull packet inspection Persoonlijke firewall
Toepassings-proxy Werkt op toepassingslaag (web-proxy, ftp-proxy, ...) Is een programma Mag gebruiker sessie starten? Maakt verbinding met server Inspecteert pakketten Inspecteert (hele) inhoud van berichten
Statefull packet inspection State = toestand van de verbinding Voortdurende inspectie van De toestand van de verbinding Inhoud van pakketten Voordeel tov Proxy: geen extra verbindingen
Persoonlijke firewall Software op client Regels op applicatieniveau
Firewall in het netwerk Doel firewall: alle pakketten filteren tussen eigen netwerk en internet Verschillend beleid Bedrijfsnetwerk Servers die voor buitenwereld bereikbaar moeten zijn Firewall met meerdere interfaces Per interface een apart beleid Alle hosts aan een interface hebben zelfde eisen
Firewall in het netwerk 3 interfaces bedrijfsnetwerk buiten DMZ router server 2 server 1 firewall
Firewall in het netwerk 2 interfaces bedrijfsnetwerk buiten afgeschermd netwerk server 2 server 1 router firewall
Firewall in het netwerk 2 interfaces Bedrijfsnetwerk Eigen gebruikers, vertrouwd Achter de firewall Alle pakketten van en naar bedrijfsnewerk: controle door Firewall Afgeschermd netwerk (DMZ) Beperkte beveiliging door router Beveiliging op niveau van server (Bastion Hosts)
Firewall in het netwerk 2 interfaces Waarom bv server 1 niet achter Firewall? Beleid: iedereen van buiten af moet aan servers kunnen Dus moet voorbij Firewall kunnen Servers kunnen fouten bevatten: mogelijks uitbuiting
Firewall in het netwerk 3 interfaces Firewall controleert ook de toegang tot de servers DMZ: gebied met ander, milder beleid Router Pakketfiltering Verschillende netwerkinterfaces (ethernet, fiber, ...)
IDS: intrusion detection system Bekijken netwerkverkeer voorbij de firewall Opsporen verdacht verkeer: Ping door zelfde host naar meer dan 5 adressen Poortscanning ... Alleen signaleren IPS (Intrusion Prevention System): gaat ook acties ondernemen, regels toevoegen