Computernetwerken Deel 2
Beveiliging • Firewall: toegang beperken • IDS: inbraak detecteren en alarmeren • Encryp>e: gegevens verbergen
Firewall • • • • • •
Waarom? Filteren van pakkeBen Wildcard mask: omgekeerd subnetmasker PakkeDiltering niet al>jd voldoende Soorten firewalls Firewall in het netwerk
Firewall: waarom? • TCP/IP – Alle hosts bereikbaar (via IP-‐adres) – Kunnen met elkaar communiceren • PakkeBen 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 geformaBeerde data – Storen lopend proces – Zaken uitvoeren die niet de bedoeling zijn
• Elke computer beveiligen? – Beveiliging concentreren in één machine
Firewall: waarom? • Alle ip-‐pakkeBen 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 pakkeBen router
if1 netwerk 1
if2 netwerk 2
– Coax-‐voorstelling? – Router: • Voor inkomende pakkeBen: nagaan welke interface verder sturen • Doorsturen van pakkeBen
Filteren van pakkeBen router
if1 netwerk 1
if2 netwerk 2
– Configura>emogelijkheid van een router: filteren • Eigenschappen van pakket nagaan • Pakket eventueel niet verder sturen
– Via ACL (Access Control List) = lijst van regels
Filteren van pakkeBen • Eigenschappen van pakkeBen 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 pakkeBen • ACL – koppelen aan interface – Per interface: ACL voor in, ACL voor uit – Syntaxis hangt af van besturingssysteem van router
Filteren van pakkeBen: vb1 router
if1 200.201.202.0/24
– ACL voor if1, inkomende pakkeBen
if2 Naar internet
Filteren van pakkeBen: vb1
– Van 200.201.202.200: alle pakkeBen weigeren – Van 200.201.202.128/25: mogen naar poort 80 (hBp) van elke host – Computer 200.201.202.1 mag pingen (ICMP) – Al de rest wordt niet doorgelaten – Volgorde van belang
Filteren van pakkeBen: vb2 web-server mail-server dns-server
200.201.203.0/24
if3 router
if1 200.201.202.0/24
if2
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
naar Internet
Filteren van pakkeBen: vb2 web-server mail-server dns-server
200.201.203.0/24
if3 router
if1 200.201.202.0/24
Hoe andere services bereikbaar maken?
if2 naar Internet
Filteren van pakkeBen: vb2 web-server mail-server dns-server
200.201.203.0/24
if3 router
Hoe andere services bereikbaar maken? Tweede mogelijkheid? ACL met andere interface associëren
if1 200.201.202.0/24
if2 naar Internet
Filteren van pakkeBen: vb3 200.201.203.0/24
if3 router
if1 200.201.202.0/24
if2 naar Internet
Wildcard mask • ACL: – Bron = groep van IP-‐adressen – Bestemming = groep van IP-‐adressen
• Nota>e 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
PakkeDiltering niet al>jd 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 >jdsinterval
PakkeDiltering niet al>jd voldoende • Fragmenta>e – Groot IP-‐pakket opdelen in fragmenten – Fragmenten verstuurd als aparte IP-‐pakkeBen – Hacker: pakkeBen zo klein maken dat TCP-‐ hoofding er niet volledig in kan – ACL’s op poortnummer en protocol – ACL’s niet leesbaar
PakkeDiltering niet al>jd voldoende • FTP – Gestarte sessie (poort 21) is alleen voor besturing. – Bestandsoverdracht (ac>ve 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
PakkeDiltering niet al>jd 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 inspec>on • 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 pakkeBen router
if1 200.201.202.0/24
if2 naar het Internet
Dynamische ACL’s: vb2 • Bij UDP en ICMP: geen init, hoe status bijhouden, wanneer schrappen? – Na >meout
• 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 Inspec>on engine (solware in firewall) • Firewall kent het toepassingsprotocol (FTP) • Herkent PORT, PASV commando • Voegt dynamisch regels toe aan ACL = sessiefiltering
Soorten firewalls • • • • •
PakkeDilters: filteren per pakket Sessiefilter: filteren per sessie Toepassings-‐proxy Statefull packet inspec>on Persoonlijke firewall
Toepassings-‐proxy • Werkt op toepassingslaag (web-‐proxy, lp-‐ proxy, ...) • Is een programma – Mag gebruiker sessie starten? – Maakt verbinding met server – Inspecteert pakkeBen – Inspecteert (hele) inhoud van berichten
Statefull packet inspec>on • State = toestand van de verbinding • Voortdurende inspec>e van – De toestand van de verbinding – Inhoud van pakkeBen
• Voordeel tov Proxy: geen extra verbindingen
Persoonlijke firewall • Solware op client • Regels op applica>eniveau
Firewall in het netwerk • Doel firewall: alle pakkeBen 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 router server 1
server 2 buiten
DMZ firewall
bedrijfsnetwerk
Firewall in het netwerk 2 interfaces router server 1
server 2
afgeschermd netwerk bedrijfsnetwerk
firewall
buiten
Firewall in het netwerk 2 interfaces • Bedrijfsnetwerk – Eigen gebruikers, vertrouwd – Achter de firewall – Alle pakkeBen van en naar bedrijfsnewerk: controle door Firewall
• Afgeschermd netwerk (DMZ) – Beperkte beveiliging door router – Beveiliging op niveau van server (Bas>on 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 bevaBen: mogelijks uitbui>ng
Firewall in het netwerk 3 interfaces • Firewall controleert ook de toegang tot de servers • DMZ: gebied met ander, milder beleid • Router – PakkeDiltering – Verschillende netwerkinterfaces (ethernet, fiber, ...)
IDS: intrusion detec>on system • Bekijken netwerkverkeer voorbij de firewall • Opsporen verdacht verkeer: – Ping door zelfde host naar meer dan 5 adressen – Poortscanning – ...
• Alleen signaleren • IPS (Intrusion Preven>on System): gaat ook ac>es ondernemen, regels toevoegen