Upload
bram-brabander
View
217
Download
1
Embed Size (px)
Citation preview
ComputernetwerkenDeel 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
– Coax-voorstelling?– Router:
• Voor inkomende pakketten: nagaan welke interface verder sturen
• Doorsturen van pakketten
if2if1
netwerk 1 netwerk 2
router
Filteren van pakketten
– Configuratiemogelijkheid van een router: filteren• Eigenschappen van pakket nagaan• Pakket eventueel niet verder sturen
– Via ACL (Access Control List) = lijst van regels
if2if1
netwerk 1 netwerk 2
router
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
– ACL voor if1, inkomende pakketten
if2if1
200.201.202.0/24 Naar internet
router
bron- adres
bron- poort
best.- adres
b.-poort
pro- tocol
door- laten
200.201.202.200 * * * * Neen 200.201.202.128/25 * * 80 TCP J a
200.201.202.1 * * * ICMP J a * .* .* .* * * * * Neen
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
bron- adres
bron- poort
best.- adres
b.-poort
pro- tocol
door- laten
200.201.202.200 * * * * Neen 200.201.202.128/25 * * 80 TCP J a
200.201.202.1 * * * ICMP J a * .* .* .* * * * * Neen
Filteren van pakketten: vb2
naar Internet200.201.202.0/24
if2if1
router
200.201.203.0/24
if3
web-servermail-serverdns-server
bron- adres
bron- poort
best.- adres
b.-poort
pro- tocol
door- laten
200.201.202.200 * * * * Neen 200.201.202.128/25 * * 80 TCP J a
200.201.202.1 * * * ICMP J a * .* .* .* * * * * Neen
Naar welke servers(200.201.203.0/24)kunnen pc’s van200.201.202.0/24?
Alleen naar webserverAlleen vanaf 200.201.202.128/25
Filteren van pakketten: vb2
naar Internet200.201.202.0/24
if2if1
router
200.201.203.0/24
if3
web-servermail-serverdns-server
bron- adres
br. p.
best.- adres
b. p.
pr door
200.201.202.200 * * * * Neen 200.201.202.128/25 * * 80 TCP J a 200.201.202.0/24 * 200.201.203.0/24 25 TCP J a 200.201.202.0/24 * 200.201.203.0/24 53 UDP J a
200.201.202.1 * * * ICMP J a * .* .* .* * * * * Neen
Hoe andere servicesbereikbaar maken?
Filteren van pakketten: vb2
naar Internet200.201.202.0/24
if2if1
router
200.201.203.0/24
if3
web-servermail-serverdns-server
Hoe andere servicesbereikbaar maken?Tweede mogelijkheid?
bron- adres
bron- poort
best.- adres
b.-poort
pro- tocol
door- laten
200.201.202.200 * * * * Neen 200.201.202.128/25 * * 80 TCP J a
200.201.202.1 * * * ICMP J a * .* .* .* * * * * Neen
ACL met andere interface associëren
Filteren van pakketten: vb3
bron-adres br.p. best.-adres b.-p. pr. door
200.201.202.0/23 * * * * Nee * * 200.201.202.200 * * Nee * * 200.201.203.1 25 TCP J a * 25 200.201.203.1 >1023 TCP J a * * 200.201.203.2 53 UDP J a * 53 200.201.203.2 >1023 UDP J a * * 200.201.203.3 80 TCP J a * * 200.201.202.1 * icmp J a * * * * * Nee
naar Internet200.201.202.0/24if2if1
router
200.201.203.0/24if3
Wildcard mask
• ACL:– 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
naar het Internet200.201.202.0/24if2if1
router
bron- adres
bron- poort
best.- adres
b.-poort
pro- tocol
door- laten
... ... ... ... ... ... 34.45.67.89 23 200.201.202.17 1234 TCP J a
... ... ... ... ... ... * .* .* .* * * * * Neen
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 netwerk3 interfaces
Firewall in het netwerk2 interfaces
bedrijfsnetwerk
buitenafgeschermd netwerk
server2
server1
router
firewall
Firewall in het netwerk2 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 netwerk2 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 netwerk3 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