netwerkprotocollen - os314 apr-2-07 27 collision looptijden signaal altijd enige tijd onderweg...
TRANSCRIPT
1
Apr-2-07 Netwerkprotocollen 1
NetwerkprotocollenInleiding TCP/IP
Apr-2-07 Netwerkprotocollen 2
Overzicht ISO 7 lagen model
Laag 2 - Ethernet Laag 3 - IP Laag 4
• ICMP• UDP• TCP
Toepassingen• Ping• DNS• traceroute• DHCP• SNMP
Documentatie UvANet Security Storingen
2
Apr-2-07 Netwerkprotocollen 3
Protocollen
Afspraken IP IPX AppleTalk VinesIP
Apr-2-07 Netwerkprotocollen 4
3
Apr-2-07 Netwerkprotocollen 5
ISO 7 lagen model
Apr-2-07 Netwerkprotocollen 6
Complexiteit Gelaagde opbouw ISO 7 lagen model
steunt alleen op de onderliggende laag verleent services naar de bovenliggende laag steeds abstracter steeds onafhankelijker van de physieke
structuur Iedere laag vervangbaar
zonder effecten naar boven
4
Apr-2-07 Netwerkprotocollen 7
ISO model (laag 1) Bitstroom door kabel Mechanische standaards
Connectoren• Pinouts
Electrische standaards Spanningen Frequenties Kleuren (licht) Modulaties
Apr-2-07 Netwerkprotocollen 8
ISO model (laag 2) Ruw transmissiekanaal Data in pakketten Foutdetectie Physieke adressen
MAC adressen (Ethernet, TokenRing)• Media Access Control• Many to many
Geen adressen (PPP, SLIP, HDLC)• Point to point
5
Apr-2-07 Netwerkprotocollen 9
ISO model (laag 3) Pakketten van host naar host Over de grenzen van het eigen subnet heen Logische adressen
Bepaald door de omgeving Afbeelding op physieke adressen
• Address Resolution Protocol (ARP)
Subnets Congestieafhandeling Accounting
Apr-2-07 Netwerkprotocollen 10
ISO model (laag 4)
End-to-end transport Foutcorrectie Aparte netwerkverbinding Data van programma naar programma
6
Apr-2-07 Netwerkprotocollen 11
ISO model (laag 5)
Sessies Bidirectioneel
Apr-2-07 Netwerkprotocollen 12
ISO model (laag 6)
Uniform data formaat ASCII - EBCDIC Netwerk vs host-byte order
7
Apr-2-07 Netwerkprotocollen 13
ISO model (laag 7)
Applicatieprotocol Virtual terminal (Telnet, SSH) Mail protocol (SMTP) File transport (FTP) File Sharing (NFS)
Apr-2-07 Netwerkprotocollen 14
ISO model
TCP/IP past niet exact Minder lagen in TCP/IP Lagen liggen iets anders verdeeld TCP/IP definieert geen lagen “onder” IP
8
Apr-2-07 Netwerkprotocollen 15
Communicatie
Conceptueel gaat communicatie horizontaal Van laag 7 naar laag 7
Data stroomt verticaal in protocol stack Aan zender kant naar beneden Aan ontvanger kant naar boven
Alleen lagen 1 staan “echt” in verbinding
Apr-2-07 Netwerkprotocollen 16
Bruggen
Koppeling tussen twee stacks Laag 1 Repeater Laag 2 Bridge Laag 3 Router Hoger Proxy, Application gateway
9
Apr-2-07 Netwerkprotocollen 17
Router/bridge/repeater
Koppeling op laag 3
Apr-2-07 Netwerkprotocollen 18
Laag 2
Ethernet (TokenRIng) (FDDI) (SLIP) (PPP) (ATM) (HDLC)
10
Apr-2-07 Netwerkprotocollen 19
Sigarendoosje…
Apr-2-07 Netwerkprotocollen 20
Ethernet
10 base 5• 'gele tuinslang', 500 meter
10 base 2• dunne coax, 185 meter
10 base T• UTP, 100 meter
10 base FL• Fiber, kilometers (MM), tientallen kilometers (SM)
11
Apr-2-07 Netwerkprotocollen 21
Fast Ethernet
100 base TX• UTP, 100 meter
100 base FX• Fiber, kilometers (MM), tientallen kilometers (SM)
Apr-2-07 Netwerkprotocollen 22
Gigabit Ethernet
1000 base TX• UTP, 100 meter
1000 base SX• Fiber, 300 meter
1000 base LX• Fiber, 550 meter (MM), kilometers (SM)
1000 base ZX• Fiber, tientallen kilometers (SM)
12
Apr-2-07 Netwerkprotocollen 23
10Gigabit Ethernet 10G base SR
Fiber, 30 meter (MM) 10G base LR
Fiber, 10 kilometer (SM) 10G base ER
Fiber, 40 kilometer (SM) 10G base ZR
Fiber, 80 kilometer (SM) 10G CX4
4 maal coax, 15 meter
Apr-2-07 Netwerkprotocollen 24
Ethernet
Medium “shared ether” Wacht tot het stil is Stuur je pakket Collision
• Twee beginnen tegelijk
13
Apr-2-07 Netwerkprotocollen 25
Ethernet Ethernet adressen
48 bits Specials
• Broadcast (ff:ff:ff:ff:ff:ff)• Multicast (01:00:5e:xx:xx:xx)
Wereldwijd uniek• Vendor code (24 bits)• Niet veranderbaar :-)
Lijst http://standards.ieee.org/regauth/oui/index.shtml
Apr-2-07 Netwerkprotocollen 26
Collision Twee proberen tegelijk te sturen Bek houden Random tijd wachten
random tussen 0 en X, X verdubbelt iedere keer Opnieuw proberen Collisions volkomen normaal (half duplex) Afhandeling door netwerkinterface Alleen een beetje vertraging Alleen probleem als het er erg veel zijn
14
Apr-2-07 27
Collision Looptijden
Signaal altijd enige tijd onderweg Collisions beperken kabellengte
Collision altijd in eerste 64 bits Anders 'Late collision'
• FOUT!
Full vs half duplex Full duplex dus geen collisions Duplex mismatch
• Veel collisions aan de half duplex kant• Late collisions• Wordt het heeeel traag
Apr-2-07 Netwerkprotocollen 28
Collision
Kabellengten Looptijden Repeater geldt als xxx meter kabel Media converter geldt als xxx meter kabel
15
Apr-2-07 Netwerkprotocollen 29
Ethernet pakket
Apr-2-07 Netwerkprotocollen 30
Repeaters Laag 1 Signaalversterking Paar bittijden vertraging
Stukje preamble Geen buffer Dus maximaal 3 in ieder pad
16
Apr-2-07 Netwerkprotocollen 31
Repeaters Voorbeelden
• 3Com hub• knoeihubje• UB enclosure
Dom• Laat alles door• Naar alle poorten
Hub = multiport repeater Geen netwerkadres nodig voor functioneren
• Wel voor eventuele management module
Apr-2-07 Netwerkprotocollen 32
Bridge (switch) Laag 2 Pakket aanpakken en doorgeven Meer vertraging Timing begint opnieuw
Bittijden opnieuw gegenereerd Pakket wordt wel ongewijzigd doorgestuurd
Geen mogelijkheid tot detectie van loops Spanning Tree Protocol
Buffer
17
Apr-2-07 Netwerkprotocollen 33
Bridge (switch) Meer dan 3 achter elkaar mogelijk
Aparte Ethernet (laag 1) segmenten Intelligent
Hoeft niet alles door te laten Tabel met (MAC) adressen per poort
• Kan dus aan de enig goede poort afleveren Alleen ‘flooding’ bij onbekend adres
Switch = multiport bridge Geen netwerkadres nodig voor functioneren
wel voor evt management module
Apr-2-07 Netwerkprotocollen 34
Switch
CAM tabel Who’s where Learning MAC adressen Flooding
Spanning Tree Loop-free topologie
18
Apr-2-07 Netwerkprotocollen 35
CAM tabel
Vertaaltabel welke MAC adres waar CAM timeout
Default 5 minuten Aparte CAM per vlan
Apr-2-07 Netwerkprotocollen 36
Werking switch
Pakket komt binnen op port x Bijwerken CAM tabel
• Reset timer• Toevoegen/aanpassen <MAC, port> entry
Source MAC bij port x Destination MAC opzoeken in CAM
Gevonden -> pakket naar port uit CAM Niet gevonden -> flood pakket (alle poorten)
19
Apr-2-07 Netwerkprotocollen 37
“hub mode”
Entries in CAM tabel sterven uit (5 min) Problemen als CAM tabel te klein
Oudste entries geforceerd weg Veel pakketten flooded
Verschillen tussen switches El-cheapo 16 poorten €50 Cisco 24 poorten €1300
Apr-2-07 Netwerkprotocollen 38
Router Laag 3 Pakket aanpakken Pakket uitpakken
Laag 2 eraf Doorsturen betekent opnieuw in laag 2 inpakken
Op laag 2 dus een ander pakket Laag 3 headers aangepast (max hop count) Op laag 3 dus loop detectie
Buffer
20
Apr-2-07 Netwerkprotocollen 39
Router
Verschillende IP netten Geen restricties wat aantal betreft Wel hop count in laag 3 protocol
Meerdere IP adressen nodig 1 per IP net Minstens 1 per interface
Apr-2-07 Netwerkprotocollen 40
Spanning Tree
Creëer een loop-free topologie Poorten blokkeren En zo een cykelvrije graaf over het net leggen
21
Apr-2-07 Netwerkprotocollen 41
STP
Kies root bridge Op basis van MAC adres Switch 1
Apr-2-07 Netwerkprotocollen 42
STP
Path cost 10Mb 100 100Mb 19 1Gb 4
22
Apr-2-07 Netwerkprotocollen 43
STP
Beste pad naar root Kortste Path cost Ports Blocked
Apr-2-07 Netwerkprotocollen 44
STP
Timers Max Age 20 sec Forward 15 sec Hello 2 sec
23
Apr-2-07 Netwerkprotocollen 45
STP change
Switch vertelt root Topology Change Notification Topology Change Acknowledge
Apr-2-07 Netwerkprotocollen 46
STP change
Root meldt TC gedurendemax_age+forward_delay
Switches zetten CAM timer kort
24
Apr-2-07 Netwerkprotocollen 47
Verbeteringen
PortFast UplinkFast BackboneFast
Rapid Spanning Tree
Apr-2-07 Netwerkprotocollen 48
VLAN
Logische vs. physieke structuur Switch opdelen in stukken
Verschillende Virtual LANs• Apart broadcast domein• CAM tabel per VLAN
25
Apr-2-07 Netwerkprotocollen 49
Trunks
Verschillende VLANs over 1 kabel Pakketten kleuren (Tags) Tagged pakketten alleen op trunk Native (untagged) vlan
• Afspreken tussen beide kanten• Meestal vlan 1
Apr-2-07 Netwerkprotocollen 50
Trunks
IEEE 802.1q Standaard
Cisco ISL Proprietary verouderd
26
Apr-2-07 Netwerkprotocollen 51
VLAN trunks
Extra velden in de Ethernet header TPID is 0x8100 (Tagged Ethernet frame) Tag is TOS en VLA
Apr-2-07 Netwerkprotocollen 52
Trunks
Geen physieke scheiding Configuratiefouten Risico’s bij software bugs (doorlekken) Tagged pakketten naar untagged poort
Injecteren verkeer voor ander vlan
27
Apr-2-07 Netwerkprotocollen 53
IP Best effort
Doe je best, maar beloof niets Pakket stuk = pakket weg Problemen (congestie, buffer vol) = pakket weg Geen acknowledgements TimeToLive (hopcount) Pakketten kunnen niet eindeloos zwerven
ICMP bij problemen TTL exceeded Congestie Maar niet pakket stuk (weggooien)
Apr-2-07 Netwerkprotocollen 54
IP Host - to - host Data bevat andere protocollen / headers
ICMP Internet Control Message Protocol TCP Transmission Control Protocol UDP User Datagram Protocol
IP zelf als data in datalink laag Ethernet TokenRing ATM HDLC Of direct over medium (SLIP)
29
Apr-2-07 Netwerkprotocollen 57
Encapsulatie in Data layer
Iedere laag zet er een header voor Header+data laag x = data laag x-1
Apr-2-07 Netwerkprotocollen 58
Fragmentatie MTU
Niet iedere datalink laag kan even grote pakkettenaan
Maximum Transmission Unit• Ethernet 1500• SLIP/PPP 576• ATM 4470• TokenRing 4464
Fragmentatie Als het pakker groter is dan de MTU Pakket onderverdelen in fragments
30
Apr-2-07 Netwerkprotocollen 59
Fragmentatie
Opdelen pakket in aantal stukken Velden in IP header
Fragment ident Frg bit Fragment offset
• In 8 byte units
Apr-2-07 Netwerkprotocollen 60
Fragmentatie
Transparant voor de hogere lagen Alleen performance penalty Dus normaal liever niet TCP MSS
Maar lastiger voor Firewall/IDS Moet meer status bijhouden Dus veel gebruikt door blackhats
31
Apr-2-07 Netwerkprotocollen 61
Fragmentatie Packet reassembly
Brokken aan elkaar lijmen Reassembly timer ICMP als niet alle fragments er op tijd zijn
MTU Path Discovery Don't fragment bit in IP header
Pakket te groot betekent dus weggooien Melden via ICMP
Problemen melden (ICMP)
Apr-2-07 Netwerkprotocollen 62
IP adressen
32 bits (versie 4) Dotted Decimal /24 netwerk
24 bits subnet mask 8 bits host adres 255.255.255.0
Speciale adressen host-zeros ongebruikt host-ones directed broadcast all-zerosongebruikt all-ones local broadcast
32
Apr-2-07 Netwerkprotocollen 63
IP Versie 6 Meer adresruimte (128 bits) Nog ver aan de horizon Al enkele implementaties
CISCO vanaf 12.2 FreeBSD vanaf 4.0 MacOS vanaf 10.3 Windows vanaf XP ...
Het wachten is op de ‘killer applicatie’
Apr-2-07 Netwerkprotocollen 64
Private space RFC1918
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
Kan nooit “in het wild” voorkomen Achter firewall NAT
Network Address Translation Verschillende IP werelden binnen en buiten NAT box vertaalt adressen/port nummers
Eiland netjes
33
Apr-2-07 Netwerkprotocollen 65
Afbeelding IP->MAC
Pakket naar IP Zoek in vertaaltabel Gevonden
Stuur naar MAC adres uit tabel Niet gevonden
Gooi pakket weg Stuur ARP request Hogere lagen zorgen voor hertransmissie
Apr-2-07 Netwerkprotocollen 66
ARP
Address Resolution Protocol Afbeelding IP adres op MAC adres Ethernet Broadcast
Direct op Ethernet Eenvoudig vraag/antwoord
Wie heeft IP 145.18.45.254? Ik, 00:20:af:75:f9:be heb 145.18.45.254
34
Apr-2-07 Netwerkprotocollen 67
ARP (RFC826)
Apr-2-07 Netwerkprotocollen 68
ARP
Voeg <protocol, ip, MAC> toe aan cache Toevoegen of aanpassen
Kijk naar opcode (REQUEST of REPLY) REQUEST
Wissel sender en target velden Vul eigen adres in Zet opcode REPLY Unicast terug naar afzender (uit laag2!)
35
Apr-2-07 Netwerkprotocollen 69
ARP
Arp cache Timeout (router 4 uur) Router arp cache levert actieve hosts
Apr-2-07 Netwerkprotocollen 70
Proxy ARP
Proxy arp Host C antwoordt voor B Verder niets speciaals
36
Apr-2-07 Netwerkprotocollen 71
Gevaren
ARP cache poisoning Ontvanger ARP pakket neemt gegevens
over in cache Man in the middle attack in laag2 net
Poison ARPcache router Poison ARPcache target Alle verkeer target <-> router via MITM
Apr-2-07 Netwerkprotocollen 72
ARP cache poinsoning
37
Apr-2-07 Netwerkprotocollen 73
ARP cache poinsoning
Apr-2-07 Netwerkprotocollen 74
ARP cache poinsoning
38
Apr-2-07 Netwerkprotocollen 75
ARP cache poinsoning
Wat doe je ertegen Niets Melden (BSD) Segmentatie (verschillende IP netten) SSL certificates
• Detectie van ‘Man in the middle attack’
kernel: arp: 145.18.45.249 movedfrom 00:03:93:1e:23:a0to 00:30:65:02:be:ed on xl0
Apr-2-07 Netwerkprotocollen 76
Local delivery
Eigen adres met subnet mask Ander adres met subnet mask Gelijk, dus op zelfde net Sturen naar de bestemming
39
77
Non-local delivery
Eigen adres met subnet mask Ander adres met subnet mask Verschillend, dus ander net Sturen naar de router
Die weet het
Apr-2-07 Netwerkprotocollen 78
Routering
Router Route tabel Routeringsprotocol
40
Netwerkprotocollen 79
Router Multihomed host
Meer dan 1 IP adres Meer dan 1 interface
Packet forwarding Tussen de IP adressen
Kan een gewone computer zijn Unix Default geen packet forwarding (RFC 1122/1123)
Of speciale hardware Meer features Sneller CISCO
Apr-2-07 Netwerkprotocollen 80
Routervan klein
41
Apr-2-07 Netwerkprotocollen 81
Routertot groot
Apr-2-07 Netwerkprotocollen 82
Routers
Routeringstabel Net xx.xx.xx.xx/y via zz.zz.zz.zz interface A Tabel komt tot stand via
• Routeringsprotocol• Directe entries
Niet in tabel betekent pakket weggooien• ICMP om te melden (net unreachable)• Niet ‘zoeken’ waar het heen moet• Weten, en niet weten is weg
42
Apr-2-07 Netwerkprotocollen 83
Routers Routerings protocol
Automatische opbouw tabel OSPF, RIP, BGP, ...
Statische routes Handmatige opbouw tabel Kan door routeringsprotocol verder bekend worden
Hosts altijd statische entry (default router) Eventueel uit DHCP
UvAnet: router op eerste IP adres in IP net
Apr-2-07 Netwerkprotocollen 84
Routeringstabellen
43
Apr-2-07 Netwerkprotocollen 85
Spoofing
Routering altijd alleen op Destination IP Niemand kijkt naar source IP Gespoofde pakketten worden meestal
‘gewoon’ doorgegeven
Access-lists Veel werk
Of…
Apr-2-07 Netwerkprotocollen 86
Reverse Path verification
Zoek Source IP op in routeringstabel Interface moet overeenkomen Anders wordt pahket gedropt
Automatisch Routeringstebel is er toch
Sneller dan ACL Maar:
Problemen bij asymmetrische routering
44
Apr-2-07 Netwerkprotocollen 87
Secondary IP Meer dan 1 IP net
Op hetzelfde Ethernet IP verkeer tussen de netten
• Via de router, zoals altijd• Zelfde interface in en uit
Op Ethernet niveau (laag 2) wel 1 net Voor andere protocollen vaak ook
• VinesIP• AppleTalk• IPX (Novell)
Vaak bij tekort aan routerinterfaces Maar:
Niet alles kan op de secundaire netten• DHCP-relay speciaal
Apr-2-07 Netwerkprotocollen 88
Laag 4
ICMP UDP TCP
45
Apr-2-07 Netwerkprotocollen 89
ICMP IP Control Message Protocol 't Knechtje
ping• ICMP echo
Echo request Echo reply
Foutmeldingen• Waar de afzender iets aan kan doen• Niet beschadigd pakket!
Uitzoekwerk• Router discovery (verouderd)• Subnetmask discovery (idem)
90
ICMP foutmeldingen Host unreachable
Van de 'laatste' router Net unreachable
Van een router onderweg Ook als verkeer niet mag
• access-list Port unreachable
Van de host TTL exceeded
traceroute echt fout
Fragment needed but don't fragment set Nooit error - on - error
46
Apr-2-07 Netwerkprotocollen 91
UDP
User Datagram Protocol Simpel 65535 UDP ports (loketten)
Well known ports 'Best effort'
Als IP
Apr-2-07 Netwerkprotocollen 92
UDP Geen fancy features
Geen ack Geen hertransmissies Net als IP, probleem dan pakket weg Out - of - order delivery Problemen oplossen in applicatieprotocol Net zo onbetrouwbaar als IP
Efficient Broadcast Multicast
47
Apr-2-07 Netwerkprotocollen 93
UDP header
Source IP ? Destination IP ?
Apr-2-07 Netwerkprotocollen 94
UDP
Service altijd achter dezelfde port Port niet voor iets anders gebruiken Services file
/etc/services onder unix Lijst bij iana.org
DNS 53/udpDHCP/Bootp 67/udp, 68/udptftp 69/udpntp 123/udpsyslog 514/udp
48
Apr-2-07 Netwerkprotocollen 95
TCP End - to - end connection (‘Pijp’)
Opzetten (3-way handshake) Acknowledgements Hertransmissies Afbreken
Betrouwbaar Niets raakt weg Niets gaat stuk Alles komt in volgorde aan
Flow control Veel meer overhead dan UDP
Apr-2-07 Netwerkprotocollen 96
TCP Bytestream
Bidirectioneel Geen “pakketten”
• byte sequence number• byte acknowledgement
Veel facilitieiten / probleemoplossing ondergronds door TCP zonder dat de applicatie het beseft
Beide partijen kunnen sluiten RESET Maar, geen broadcast, geen multicast
49
Apr-2-07 Netwerkprotocollen 97
Well-known ports
Service altijd achter dezelfde port Port niet voor iets anders gebruiken Services file
/etc/services onder unix Lijst bij iana.org
ftpdata 20/tcpftp 21/tcpssh 22/tcpTelnet 23/tcpsmtp 25/tcpfinger 79/tcphttp 80/tcppop 110/tcpnntp 119/tcp
Apr-2-07 Netwerkprotocollen 98
TCP Startup
50
Apr-2-07 Netwerkprotocollen 99
Window Geen start - stop protocol
Sliding window Efficient gebruik van bandbreedte End - to - end acknowledgement
Tussenliggende stations spelen geen rol Ontvanger geeft aan hoeveel hij kan hebben Zender mag altijd dit aantal sturen Ontvanger ackt wat goed ontvangen is Zender onderneemt hertransmissie
bij uitblijven ack
100
Slow start
Client en server beiden op gigabit Traag stuk ertussen (64 kbit) Server stuurt compleet window (8 MTU) Tijdens transport eerste pakket op 64k
• Hertransmissietimer• Alle acht opnieuw• Gaat dus niet goed!
Slow start• Send window begint als 1• Bij iedere succesvolle ack verdubbelt send window
tot aan receive window Congestion avoidance
• Ack missen is send window verkleinen
51
Apr-2-07 Netwerkprotocollen 101
TCP header
IP header Source IP Destination IP
Flags SYN FIN ACK RESET
Apr-2-07 Netwerkprotocollen 102
TCP voor Transacties, TTCP
SYN, data, FIN in een pakket Efficienter voor korte transacties
Database http (vooral kleine GIFjes)
52
Apr-2-07 Netwerkprotocollen 103
Hogere lagen
DNS Traceroute DHCP SNMP
104
DNS Root name server
Weet alleen van TopLevelDomains Iedere nameserver moet een lijst hebben
• Minstens 1 rootserver bereikbaar uit lijst• Actuele lijst daar via DNS Ophalen
Iteratief Wat is het adres van xxxx? Geen idee, maar vraag maar aan yyyy
• yyyy weet meer....
Recursief Wat is het adres van xxxx? Server itereert zelf en geeft het antwoord
53
Apr-2-07 Netwerkprotocollen 105
DNS
Host resolver recursieve query PC, Mac, ...
Nameserver iteratieve query Caches vullen
Geen recursieve query op zwaar belasteserver root server
Apr-2-07 Netwerkprotocollen 106
DNS records SOA Start of Authority NS Nameserver (delegatie) A Address MX Mail Exchanger PTR Pointer (reverse DNS) CNAME Canonical name (alias) Fully Qualified Domain Name (eindigt op .) Qualified met current origin
54
107
DNS zone file$ORIGIN ic.uva.nl.@ IN SOA barlaeus.ic.uva.nl. hostmaster.uva.nl. ( 2001072303 ; serial 1H ; refresh 1H ; retry 1W ; expiry 1D ) ; minimum TTL
@ IN NS barlaeus.ic.uva.nl.IN NS ns1.uva.nl.IN NS ns2.uva.nl.
@ IN A 145.18.240.17
@ IN MX 100 mail.ic.uva.nl.IN MX 200 barlaeus.ic.uva.nl.
news.ic.uva.nl. IN CNAME mail
108
Replicatie Primary (master)
Heeft data op disk Secondary (slave)
Krijgt data van primary Heeft dus altijd goede kopie
• Maar niet eindeloos als primary weg is• Expiration time in SOA
Caching Heeft geen permanente data Heeft (gedurende TTL) wat in de cache
Primary en secondaries communiceren Notify Zone transfer
Geen invloed op caches!
55
Apr-2-07 Netwerkprotocollen 109
Dus bij wijzigingen
Normale TTL is 24 uur Ruim een dag tevoren
TTL omlaag naar minuten Wijziging
TTL blijft laag Snel terug bij problemen
TTL terug naar normale waarde
Apr-2-07 Netwerkprotocollen 110
DNS config
ns1.uva.nl 145.18.39.16 Ns2.uva.nl 145.18.40.50 barlaeus.ic.uva.nl 145.18.68.50
56
Apr-2-07 Netwerkprotocollen 111
Zelf opzoeken in DNS
nslookup host dig soms als bijeffect (ping, traceroute)
<hebe58-~> ping 145.18.240.17PING 145.18.240.17: 56 data bytes64 bytes from mail.ic.uva.nl (145.18.240.17): icmp_seq=0. time=2. ms64 bytes from mail.ic.uva.nl (145.18.240.17): icmp_seq=1. time=1. ms64 bytes from mail.ic.uva.nl (145.18.240.17): icmp_seq=2. time=1. ms
Apr-2-07 Netwerkprotocollen 112
DNS lookup aan ns1.uva.nl, wat is www.vu.nl ns1 vraagt
www.vu.nl -> A.ROOT-SERVERS.NET• kweenie, NS.DOMAIN-REGISTRY.nl weet meer
(nl. server)
www.vu.nl -> NS.DOMAIN-REGISTRY.nl• kweenie, ns.vu.nl weet meer
(vu.nl server)
www.vu.nl -> ns.vu.nl• 130.37.129.100
57
Apr-2-07 Netwerkprotocollen 113
DNS Lookup Wie het toevallig weet geeft het antwoord
Volgende keer meteen antwoord (uit de cache) TTL ns1, ns2 en barlaeus secondary voor heel uva.nl
• voor uva.nl dus altijd meteen het antwoord klaar
authoritative vs non-authoritative primary / secondary altijd authoritative Uit de cache altijd non-authoritative
Apr-2-07 Netwerkprotocollen 114
DNS gevaren
Optimalisatie soms gevaarlijk Server geeft extra informatie mee uit cache
Die de vrager vast wel nodig heeft Maar is die extra info wel betrouwbaar Bij delegatie alvast IP nameserver
DNS cache poisoning
58
Apr-2-07 Netwerkprotocollen 115
DNS Lookup
Meestal UDP, soms TCP UDP geknipt voor dit soort vraag/antwoord Maar de MTU van het net
• Deel in UDP antwoord• Aanduiding ‘maar er is meer’• client vraagt opnieuw via TCP• Zone transfer altijd TCP
Apr-2-07 Netwerkprotocollen 116
Root nameservers 13 root servers op de wereld (waarom) root-servers.net domain Iedere resolver heeft lijst root servers
a va.us 198.41.0.4 h md.us 128.63.2.53b ca.us 128.9.0.107 i no 192.36.148.17c va.us 192.33.4.12 j va.us 192.58.128.30d md.us 128.8.10.90 k uk 193.0.14.129e ca.us 192.203.230.10 l ca.us 198.32.64.12f ca.us 192.5.5.241 m jp 202.12.27.33g va.us 192.112.36.4
59
Apr-2-07 Netwerkprotocollen 117
Traceroute Spelen met de TTL
ICMP TTL Exceeded• TTL = 1
Eerste router stuurt ICMP TTL Exceeded en maakt zich dus bekend Altijd van de kant van de router die naar jou gericht is Primary adres
• TTL = 2 Tweede router stuurt ICMP TTL Exceeded
• En zo verder
Hele pad in kaart brengen
Apr-2-07 Netwerkprotocollen 118
Traceroute
traceroute to info2.surfnet.nl (192.87.5.150): 1-30 hops, 38 byte packets 1 feth5-1-0-3.omhp-r1.net.uva.nl (145.18.240.1) 1.36 ms 1.31 ms 1.27 ms 2 feth1-1-1-2.wcw-r1.net.uva.nl (145.18.254.13) 4.1 ms 2.43 ms 1.27 ms 3 BR7.Amsterdam.surf.net (145.41.10.57) 4.13 ms 3.46 ms 3.10 ms 4 BR1.Delft.surf.net (145.41.7.38) 7.19 ms 9.30 ms 6.36 ms 5 BR2.Eindhoven.surf.net (145.41.7.34) 4.39 ms 4.4 ms 6.53 ms 6 AR2.Nijmegen.surf.net (145.41.7.234) 8.55 ms 6.62 ms 7.41 ms 7 info2.surfnet.nl (192.87.5.150) 6.95 ms 8.51 ms 6.58 ms
60
Apr-2-07 Netwerkprotocollen 119
DHCP Geen IP adres krijgen, maar ‘huren’
lease voor bepaalde tijd verlengen als nog langer nodig
Local UDP broadcast 255.255.255.255 Komt dus niet voorbij router DHCP Relay agent nodig als server ‘buiten’ eigen net
• Kan router doen• Request gaat als unicast verder• Relay agent ontvangt en distribueert antwoord• Relay agent vult eigen adres in request in
Apr-2-07 Netwerkprotocollen 120
DHCP Protocol
DHCPDiscover• Help, kan iemand mij van een adres voorzien
DHCPOffer• Ja, ik heb xx.xx.xx.xx voor je in de aanbieding
DCHPRequest• Ja, doe mij maar xx.xx.xx.xx
DHCPAck• OK, je krijgt xx.xx.xx.xx voor yyy tijd
DHCPNak• NEE, je kan xx.xx.xx.xx niet krijgen
client begint overnieuw met DCHPDiscover
61
Apr-2-07 Netwerkprotocollen 121
DHCP
DHCPInform Geeft extra configuratie voor wie geen IP
adres least Als de lease bijna verloopt
DHCPRequest• vraag om verlenging
DHCPAck of DHCPNak• Ja of nee
Meestal halverwege lease
Apr-2-07 Netwerkprotocollen 122
SNMP
Standaard manier om variabelen te bekijken (get) te veranderen (set)
UDP port 161 SNMP community string (“password”)
get (R) set (R/W)
62
Apr-2-07 Netwerkprotocollen 123
Netwerk management Op basis van SNMP
HP Openview (divers) CiscoWorks (CISCO apparatuur) TranCend (3Com apparatuur) Netdirector (UB apparatuur) en nog veel meer
Standaard IP communicatie Kan dus overal vandaan
Remote Management Niet meer fietsen
Apr-2-07 Netwerkprotocollen 124
Variabelen Statisch
Soort node• router• bridge• repeater• etc
Fabrikant Contact informatie Netwerk management software kan apparatuur identificeren Auto Discovery
63
Apr-2-07 Netwerkprotocollen 125
SNMP
Dynamisch Uptime Load Error counters
Apr-2-07 Netwerkprotocollen 126
SNMP
Configuratie port enable/disable adres snelheid
In principe alles mogelijk SNMP is alleen framewerk MIB
64
Apr-2-07 Netwerkprotocollen 127
Voorbeeld SNMP voor identificatie
Wat is het
Plaatjes in applicatie Krat en modules
SNMP voor configuratie Wat zit erin
SNMP voor status Wat is up of down
Apr-2-07 Netwerkprotocollen 128
Hierarchische structuur Standaard tree Vendor tree
Product tree Management Information Base
MIB Definieert welke variabele bestaat Definieert type Definieert naam
Intern nummertjes 1,4,34,2,55,10
65
Apr-2-07 Netwerkprotocollen 129
SNMP en security SNMP 1 & 2 unencrypted Community string soort password
Maar in plain-text SNMP 3 beter
Maar niet alles spreekt het Zorg voor vertrouwde netten
Eindgebruikers in ander VLAN dan switch Zorg voor access control op snmp
Alleen vanuit bepaalde netten
Apr-2-07 Netwerkprotocollen 130
Filtering
Ieder apparaat kan filteren Waar een pakket langskomt Ieder op zijn eigen niveau
Meestal in de router Verkeer naar / van buiten Geen verkeer binnen het lokale netje
66
Apr-2-07 Netwerkprotocollen 131
Access-list
Van 1 naar 2 Ingaand eth0 Uitgaand eth1
Van 2 naar 1 Ingaand eth1 Uitgaand eth0
Apr-2-07 Netwerkprotocollen 132
Ingaand/Uitgaand
Gezien vanuit de router Een plek (van de 4) voldoende
Om communicatie te blokkeren Machine beschermen
Uitgaand op machineinterface Machine afrasteren
Inkomend op machineinterface
67
Apr-2-07 Netwerkprotocollen 133
Waarop filteren
permit of deny IP nummer / wildcard (don’t care bits)
145.18.68.0 0.0.0.31 Protocol
ip, tcp, udp, icmp tcp en udp ook op poort
Eenvoudige, stateless inspectie pakket
Apr-2-07 Netwerkprotocollen 134
Wat kan eenvoudig
Een machine afsluiten beperken toelaten
Een service afsluiten beperken toelaten
68
Apr-2-07 Netwerkprotocollen 135
Wat is lastig Lokale services blokkeren, maar Locale clients toelaten
TCP en UDP zijn symmetrisch
Client gebruikt toevallig source port 12345 Uitgaande port willekeurig
Server achter port 12345
Apr-2-07 Netwerkprotocollen 136
Dus:
Webservers in het net blokkeren deny van daar naar hier op port 80
Webclients in het net blokkeren deny van daar port 80 naar hier
Is te doen
69
Apr-2-07 Netwerkprotocollen 137
Maar:
In dit net is de webserver bereikbaar Alle client verbindingen mogen Geen verdere services in het net
Dat kan niet met een eenvoudig filter
Apr-2-07 Netwerkprotocollen 138
Anders gezegd
Alles mag, behalve Kan met eenvoudig, stateless filter
Niets mag, behalve Eist meer
70
Apr-2-07 Netwerkprotocollen 139
Stateful firewall
Meer status bewaren Bijhouden wat er aan verkeer langskomt
Meekijken in de datastroom
Apr-2-07 Netwerkprotocollen 140
Firewall
“Statefull” pakketinspectie Inhoud pakket wordt bekeken
Hoger dan alleen laag 3 Statustabellen bijwerken Wel of niet doorlaten
71
Apr-2-07 Netwerkprotocollen 141
Firewall waar? Border router
“Corporate Firewall” Regels gelden voor iedereen
Access router “Institute Firewall” Regels gelden voor het hele subnet
Eigen machine “Personal Firewall” Beheer?
Apr-2-07 Netwerkprotocollen 142
Standaard instelling
Uitgaand verkeer mag altijd Retourverkeer toelaten
Inkomend verkeer alleen specifieke zaken bijv. webservice
Rest mag niet
72
143
IP documentatie RFC Request for Comment
STD Standards BCP Best Current Practice FYI For Your Information
RFC's veranderen nooit Aanvullingen via nieuwe RFC Compleet nieuwe RFC
• - obsoleted by RFCxxx RFC index
Op vele plaatsen op het internet http://www.rfc-editor.org/rfcsearch.html http://www.rfc.net/
Apr-2-07 Netwerkprotocollen 144
NetworkAddress
TranslationEen adres voor meer PCs
73
Apr-2-07 Netwerkprotocollen 145
Eerst even dit
Don’t try this at work UvAnet aansluitvoorwaarden Gij zult niet routeren
Apr-2-07 Netwerkprotocollen 146
Situatie
4 machines aan een ADSL aansluiting Maar…
Slechts 1 IP adres beschikbaar
74
Apr-2-07 Netwerkprotocollen 147
Oplossing
Gebruik een private space net (RFC1918) En laat de router vertalen
Network Address Translation Port Address Translation
Apr-2-07 Netwerkprotocollen 148
Ofwel
Alle verkeer met 1 IP adres naar buiten Meer dan alleen packet switching
Tabel met vertalingen
75
Apr-2-07 Netwerkprotocollen 149
Voorbeeld
NAT router houdt vertaaltabel bij Een entry per actieve verbinding Alles dat niet in de tabel staat is onbereikbaar! Statische entries voor interne services Dynamische entries komen en gaan
• Bij TCP open en TCP close• Timeout
Apr-2-07 Netwerkprotocollen 150
Router doet dus meer
Normaal Laag 2 headers verwijderen Routeringstabel raadplegen Next hop bepalen IP header aanpassen
• TTL verlagen Nieuwe laag 2 headers voor next hop En versturen
76
Apr-2-07 Netwerkprotocollen 151
Router doet dus meer
Normaal Alleen kijken naar de IP header
• TTL aanpassen TCP of UDP header niet interessant
• Wordt niet naar gekeken• Wordt niet aangepast
Strict laag 3 (en niets erboven) En inkomend en uitgaand is hetzelfde
Apr-2-07 Netwerkprotocollen 152
Router doet dus meer
NAT uitgaand IP + port opzoeken in vertaaltabel
• Eventueel nieuwe entry maken Vertalen (=IP en TCP header aanpassen) En versturen
• Laag 2 headers etc
77
Apr-2-07 Netwerkprotocollen 153
Router doet dus meer
NAT inkomend Port opzoeken in vertaaltabel Vertalen (IP en TCP header aanpassen) Onbekend (niet in tabel) pakket weggooien
• ICMP Port Unreachable
Apr-2-07 Netwerkprotocollen 154
Router doet dus meer
Er is een buitenkant outside Public IP adressen
Er is een binnenkant inside Private space (RFC1918) IP adressen
78
Apr-2-07 Netwerkprotocollen 155
Veiligheid
NAT biedt als bijeffect veiligheid Interne services onbereikbaar Tenzij statisch geconfigureerd in router
Echter, geen pakket inspectie Geen enkele veiligheid voor open poorten
Apr-2-07 Netwerkprotocollen 156
Enne, ftp?
Blijft speciaal Moet door NAT router speciaal worden
herkend behandeld
Protocol informatie in de data stroom
79
Apr-2-07 Netwerkprotocollen 157
En hoe in de router
Dat hangt ervan af Merk en type Ieder verschillend
Apr-2-07 Netwerkprotocollen 158
Ciscoip nat pool Us 171.69.232.2 171.69.232.2 netmask 255.255.255.252ip nat inside source list 1 pool Us overload!interface serial0 ip address 171.69.232.2 255.255.255.252 ip nat outside!interface ethernet0 ip address 192.168.1.1 255.255.255.0 ip nat inside!access-list 1 permit 192.168.1.0 0.0.0.255!ip route default serial0
80
Apr-2-07 Netwerkprotocollen 159
Nmap
Scan machine van buitenaf Bepaal sctieve machines Bepaal open poorten Bepaal services achter poorten
Apr-2-07 Netwerkprotocollen 160
Actieve hosts bepalen Stuur een pakket en verleid tot antwoord Lijstje ICMP
Echo, timestamp,… TCP
SYN, ACK, … UDP ARP
(alleen in eigen net)
81
Apr-2-07 Netwerkprotocollen 161
Open poorten bepalen
Stuur een pakket en verleid tot antwoord Complete connect SYN ACK Of nog gekker
Niet alle scans zijn zichtbaar
Apr-2-07 Netwerkprotocollen 162
Service bepalen
Complete connect En dan naar de antwoorden kijken Match in database
82
Apr-2-07 Netwerkprotocollen 163
OS detectie
Kijken naar IP dialect Initiële sqeuencenummers Initi ële TTL etc
Matchen tegen database
Apr-2-07 Netwerkprotocollen 164
PORT STATE SERVICE VERSION21/tcp open ftp WU-FTPD wu-2.6.222/tcp open ssh OpenSSH 3.8.1p1 FreeBSD-20040419 (protocol 1.99)25/tcp open smtp Sendmail 8.13.3/8.13.380/tcp open http WN httpd 2.4.6110/tcp open pop3 Dovecot pop3d143/tcp open imap Dovecot imapd443/tcp open ssl/http WN httpd 2.4.6587/tcp open smtp Sendmail 8.13.3/8.13.3993/tcp open ssl/imap Dovecot imapd995/tcp open ssl/pop3 Dovecot pop3d3128/tcp open http-proxy Squid webproxy 2.5.STABLE10
Nmap scan
83
Apr-2-07 Netwerkprotocollen 165
OS DetectieDevice type: general purposeRunning: FreeBSD 5.XOS details: FreeBSD 5.2 - 5.3Uptime 51.049 days (since Wed Feb 1 13:58:19 2006)TCP Sequence Prediction: Class=truly random Difficulty=9999999 (Good luck!)IPID Sequence Generation: IncrementalService Info: OS: Unix
Apr-2-07 Netwerkprotocollen 166
OS Detectie
PORT STATE SERVICE VERSION21/tcp open ftp tnftpd 2004081022/tcp open ssh OpenSSH 3.8.1p1 (protocol 1.99)Device type: general purposeRunning: Apple Mac OS X 10.4.XOS details: Apple Mac OS X 10.4.0 - 10.4.4 (Tiger)TCP Sequence Prediction: Class=truly random Difficulty=9999999 (Good luck!)IPID Sequence Generation: Incremental