Netwerkprotocollen Inleiding TCP/IP Apr-2-07 Netwerkprotocollen 1 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 Apr-2-07 Netwerkprotocollen 2 1
Protocollen Afspraken IP IPX AppleTalk VinesIP Apr-2-07 Netwerkprotocollen 3 Apr-2-07 Netwerkprotocollen 4 2
ISO 7 lagen model Apr-2-07 Netwerkprotocollen 5 Gelaagde opbouw ISO 7 lagen model Complexiteit 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 Apr-2-07 Netwerkprotocollen 6 3
ISO model (laag 1) Bitstroom door kabel Mechanische standaards Connectoren Pinouts Electrische standaards Spanningen Frequenties Kleuren (licht) Modulaties Apr-2-07 Netwerkprotocollen 7 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 Apr-2-07 Netwerkprotocollen 8 4
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 9 ISO model (laag 4) End-to-end transport Foutcorrectie Aparte netwerkverbinding Data van programma naar programma Apr-2-07 Netwerkprotocollen 10 5
Sessies Bidirectioneel ISO model (laag 5) Apr-2-07 Netwerkprotocollen 11 ISO model (laag 6) Uniform data formaat ASCII - EBCDIC Netwerk vs host-byte order Apr-2-07 Netwerkprotocollen 12 6
ISO model (laag 7) Applicatieprotocol Virtual terminal (Telnet, SSH) Mail protocol (SMTP) File transport (FTP) File Sharing (NFS) Apr-2-07 Netwerkprotocollen 13 ISO model TCP/IP past niet exact Minder lagen in TCP/IP Lagen liggen iets anders verdeeld TCP/IP definieert geen lagen onder IP Apr-2-07 Netwerkprotocollen 14 7
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 15 Bruggen Koppeling tussen twee stacks Laag 1 Repeater Laag 2 Bridge Laag 3 Router Hoger Proxy, Application gateway Apr-2-07 Netwerkprotocollen 16 8
Router/bridge/repeater Koppeling op laag 3 Apr-2-07 Netwerkprotocollen 17 Ethernet (TokenRIng) (FDDI) (SLIP) (PPP) (ATM) (HDLC) Laag 2 Apr-2-07 Netwerkprotocollen 18 9
Sigarendoosje Apr-2-07 Netwerkprotocollen 19 10 base 5 Ethernet '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) Apr-2-07 Netwerkprotocollen 20 10
100 base TX UTP, 100 meter 100 base FX Fast Ethernet Fiber, kilometers (MM), tientallen kilometers (SM) Apr-2-07 Netwerkprotocollen 21 1000 base TX UTP, 100 meter 1000 base SX Fiber, 300 meter 1000 base LX Gigabit Ethernet Fiber, 550 meter (MM), kilometers (SM) 1000 base ZX Fiber, tientallen kilometers (SM) Apr-2-07 Netwerkprotocollen 22 11
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 23 Ethernet Medium shared ether Wacht tot het stil is Stuur je pakket Collision Twee beginnen tegelijk Apr-2-07 Netwerkprotocollen 24 12
Ethernet adressen Ethernet 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 25 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 Apr-2-07 Netwerkprotocollen 26 13
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 27 Kabellengten Collision Looptijden Repeater geldt als xxx meter kabel Media converter geldt als xxx meter kabel Apr-2-07 Netwerkprotocollen 28 14
Ethernet pakket Apr-2-07 Netwerkprotocollen 29 Repeaters Laag 1 Signaalversterking Paar bittijden vertraging Stukje preamble Geen buffer Dus maximaal 3 in ieder pad Apr-2-07 Netwerkprotocollen 30 15
Voorbeelden 3Com hub knoeihubje UB enclosure Repeaters Dom Laat alles door Naar alle poorten Hub = multiport repeater Geen netwerkadres nodig voor functioneren Wel voor eventuele management module Apr-2-07 Netwerkprotocollen 31 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 Buffer Spanning Tree Protocol Apr-2-07 Netwerkprotocollen 32 16
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 33 CAM tabel Switch Who s where Learning MAC adressen Flooding Spanning Tree Loop-free topologie Apr-2-07 Netwerkprotocollen 34 17
CAM tabel Vertaaltabel welke MAC adres waar CAM timeout Default 5 minuten Aparte CAM per vlan Apr-2-07 Netwerkprotocollen 35 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) Apr-2-07 Netwerkprotocollen 36 18
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 37 Router Laag 3 Pakket aanpakken Pakket uitpakken Laag 2 eraf Doorsturen betekent opnieuw in laag 2 inpakken Buffer Op laag 2 dus een ander pakket Laag 3 headers aangepast (max hop count) Op laag 3 dus loop detectie Apr-2-07 Netwerkprotocollen 38 19
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 39 Spanning Tree Creëer een loop-free topologie Poorten blokkeren En zo een cykelvrije graaf over het net leggen Apr-2-07 Netwerkprotocollen 40 20
Kies root bridge STP Op basis van MAC adres Switch 1 Apr-2-07 Netwerkprotocollen 41 Path cost 10Mb 100 100Mb 19 1Gb 4 STP Apr-2-07 Netwerkprotocollen 42 21
Beste pad naar root Kortste Path cost Ports Blocked STP Apr-2-07 Netwerkprotocollen 43 Timers Max Age 20 sec Forward 15 sec Hello 2 sec STP Apr-2-07 Netwerkprotocollen 44 22
Switch vertelt root STP change Topology Change Notification Topology Change Acknowledge Apr-2-07 Netwerkprotocollen 45 STP change Root meldt TC gedurende max_age+forward_delay Switches zetten CAM timer kort Apr-2-07 Netwerkprotocollen 46 23
PortFast UplinkFast BackboneFast Verbeteringen Rapid Spanning Tree Apr-2-07 Netwerkprotocollen 47 VLAN Logische vs. physieke structuur Switch opdelen in stukken Verschillende Virtual LANs Apart broadcast domein CAM tabel per VLAN Apr-2-07 Netwerkprotocollen 48 24
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 49 IEEE 802.1q Standaard Cisco ISL Proprietary verouderd Trunks Apr-2-07 Netwerkprotocollen 50 25
VLAN trunks Extra velden in de Ethernet header TPID is 0x8100 (Tagged Ethernet frame) Tag is TOS en VLA Apr-2-07 Netwerkprotocollen 51 Trunks Geen physieke scheiding Configuratiefouten Risico s bij software bugs (doorlekken) Tagged pakketten naar untagged poort Injecteren verkeer voor ander vlan Apr-2-07 Netwerkprotocollen 52 26
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 53 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) Apr-2-07 Netwerkprotocollen 54 27
IP Apr-2-07 Netwerkprotocollen 55 IP Header Apr-2-07 Netwerkprotocollen 56 28
Encapsulatie in Data layer Iedere laag zet er een header voor Header+data laag x = data laag x-1 Apr-2-07 Netwerkprotocollen 57 Fragmentatie MTU Niet iedere datalink laag kan even grote pakketten aan 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 Apr-2-07 Netwerkprotocollen 58 29
Fragmentatie Opdelen pakket in aantal stukken Velden in IP header Fragment ident Frg bit Fragment offset In 8 byte units Apr-2-07 Netwerkprotocollen 59 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 Apr-2-07 Netwerkprotocollen 60 30
Packet reassembly Fragmentatie 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 61 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 Apr-2-07 Netwerkprotocollen 62 31
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 63 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 Apr-2-07 Netwerkprotocollen 64 32
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 65 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 Apr-2-07 Netwerkprotocollen 66 33
ARP (RFC826) Apr-2-07 Netwerkprotocollen 67 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!) Apr-2-07 Netwerkprotocollen 68 34
Arp cache ARP Timeout (router 4 uur) Router arp cache levert actieve hosts Apr-2-07 Netwerkprotocollen 69 Proxy arp Proxy ARP Host C antwoordt voor B Verder niets speciaals Apr-2-07 Netwerkprotocollen 70 35
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 71 ARP cache poinsoning Apr-2-07 Netwerkprotocollen 72 36
ARP cache poinsoning Apr-2-07 Netwerkprotocollen 73 ARP cache poinsoning Apr-2-07 Netwerkprotocollen 74 37
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 moved from 00:03:93:1e:23:a0 to 00:30:65:02:be:ed on xl0 Apr-2-07 Netwerkprotocollen 75 Local delivery Eigen adres met subnet mask Ander adres met subnet mask Gelijk, dus op zelfde net Sturen naar de bestemming Apr-2-07 Netwerkprotocollen 76 38
Non-local delivery Eigen adres met subnet mask Ander adres met subnet mask Verschillend, dus ander net Sturen naar de router Die weet het 77 Router Route tabel Routeringsprotocol Routering Apr-2-07 Netwerkprotocollen 78 39
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 Netwerkprotocollen 79 Router van klein Apr-2-07 Netwerkprotocollen 80 40
Router tot groot Apr-2-07 Netwerkprotocollen 81 Routeringstabel Routers 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 Apr-2-07 Netwerkprotocollen 82 41
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 83 Routeringstabellen Apr-2-07 Netwerkprotocollen 84 42
Spoofing Routering altijd alleen op Destination IP Niemand kijkt naar source IP Gespoofde pakketten worden meestal gewoon doorgegeven Access-lists Of Veel werk Apr-2-07 Netwerkprotocollen 85 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 Apr-2-07 Netwerkprotocollen 86 43
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 87 ICMP UDP TCP Laag 4 Apr-2-07 Netwerkprotocollen 88 44
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) Apr-2-07 Netwerkprotocollen 89 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 90 45
UDP User Datagram Protocol Simpel 65535 UDP ports (loketten) Well known ports 'Best effort' Als IP Apr-2-07 Netwerkprotocollen 91 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 Apr-2-07 Netwerkprotocollen 92 46
UDP header Source IP? Destination IP? Apr-2-07 Netwerkprotocollen 93 UDP DNS DHCP/Bootp tftp ntp syslog 53/udp 67/udp, 68/udp 69/udp 123/udp 514/udp Service altijd achter dezelfde port Port niet voor iets anders gebruiken Services file /etc/services onder unix Lijst bij iana.org Apr-2-07 Netwerkprotocollen 94 47
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 95 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 Apr-2-07 Netwerkprotocollen 96 48
ftpdata ftp ssh Telnet smtp finger http pop nntp Well-known ports 20/tcp 21/tcp 22/tcp 23/tcp 25/tcp 79/tcp 80/tcp 110/tcp 119/tcp Service altijd achter dezelfde port Port niet voor iets anders gebruiken Services file /etc/services onder unix Lijst bij iana.org Apr-2-07 Netwerkprotocollen 97 TCP Startup Apr-2-07 Netwerkprotocollen 98 49
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 Apr-2-07 Netwerkprotocollen 99 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 100 50
TCP header IP header Source IP Destination IP Flags SYN FIN ACK RESET Apr-2-07 Netwerkprotocollen 101 TCP voor Transacties, TTCP SYN, data, FIN in een pakket Efficienter voor korte transacties Database http (vooral kleine GIFjes) Apr-2-07 Netwerkprotocollen 102 51
DNS Traceroute DHCP SNMP Hogere lagen Apr-2-07 Netwerkprotocollen 103 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 104 52
DNS Host resolver recursieve query PC, Mac,... Nameserver iteratieve query Caches vullen Geen recursieve query op zwaar belaste server root server Apr-2-07 Netwerkprotocollen 105 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 Apr-2-07 Netwerkprotocollen 106 53
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 107 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! 108 54
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 109 DNS config ns1.uva.nl 145.18.39.16 Ns2.uva.nl 145.18.40.50 barlaeus.ic.uva.nl 145.18.68.50 Apr-2-07 Netwerkprotocollen 110 55
nslookup host dig Zelf opzoeken in DNS soms als bijeffect (ping, traceroute) <hebe58-~> ping 145.18.240.17 PING 145.18.240.17: 56 data bytes 64 bytes from mail.ic.uva.nl (145.18.240.17): icmp_seq=0. time=2. ms 64 bytes from mail.ic.uva.nl (145.18.240.17): icmp_seq=1. time=1. ms 64 bytes from mail.ic.uva.nl (145.18.240.17): icmp_seq=2. time=1. ms Apr-2-07 Netwerkprotocollen 111 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 Apr-2-07 Netwerkprotocollen 112 56
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 113 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 Apr-2-07 Netwerkprotocollen 114 57
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 115 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.53 b ca.us 128.9.0.107 i no 192.36.148.17 c va.us 192.33.4.12 j va.us 192.58.128.30 d md.us 128.8.10.90 k uk 193.0.14.129 e ca.us 192.203.230.10 l ca.us 198.32.64.12 f ca.us 192.5.5.241 m jp 202.12.27.33 g va.us 192.112.36.4 Apr-2-07 Netwerkprotocollen 116 58
Spelen met de TTL Traceroute 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 117 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 Apr-2-07 Netwerkprotocollen 118 59
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 119 Protocol DHCP 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 Apr-2-07 Netwerkprotocollen 120 60
DHCPInform DHCP 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 121 SNMP Standaard manier om variabelen te bekijken (get) te veranderen (set) UDP port 161 SNMP community string ( password ) get (R) set (R/W) Apr-2-07 Netwerkprotocollen 122 61
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 123 Statisch Variabelen Soort node router bridge repeater etc Fabrikant Contact informatie Netwerk management software kan apparatuur identificeren Auto Discovery Apr-2-07 Netwerkprotocollen 124 62
SNMP Dynamisch Uptime Load Error counters Apr-2-07 Netwerkprotocollen 125 Configuratie port enable/disable adres snelheid SNMP In principe alles mogelijk SNMP is alleen framewerk MIB Apr-2-07 Netwerkprotocollen 126 63
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 Voorbeeld Apr-2-07 Netwerkprotocollen 127 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 Apr-2-07 Netwerkprotocollen 128 64
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 129 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 Apr-2-07 Netwerkprotocollen 130 65
Access-list Van 1 naar 2 Ingaand eth0 Uitgaand eth1 Van 2 naar 1 Ingaand eth1 Uitgaand eth0 Apr-2-07 Netwerkprotocollen 131 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 Apr-2-07 Netwerkprotocollen 132 66
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 133 Een machine Wat kan eenvoudig afsluiten beperken toelaten Een service afsluiten beperken toelaten Apr-2-07 Netwerkprotocollen 134 67
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 135 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 Apr-2-07 Netwerkprotocollen 136 68
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 137 Alles mag, behalve Anders gezegd Kan met eenvoudig, stateless filter Niets mag, behalve Eist meer Apr-2-07 Netwerkprotocollen 138 69
Stateful firewall Meer status bewaren Bijhouden wat er aan verkeer langskomt Meekijken in de datastroom Apr-2-07 Netwerkprotocollen 139 Firewall Statefull pakketinspectie Inhoud pakket wordt bekeken Hoger dan alleen laag 3 Statustabellen bijwerken Wel of niet doorlaten Apr-2-07 Netwerkprotocollen 140 70
Border router Firewall waar? 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 141 Standaard instelling Uitgaand verkeer mag altijd Retourverkeer toelaten Inkomend verkeer alleen specifieke zaken bijv. webservice Rest mag niet Apr-2-07 Netwerkprotocollen 142 71
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/ 143 Network Address Translation Een adres voor meer PCs Apr-2-07 Netwerkprotocollen 144 72
Don t try this at work Eerst even dit UvAnet aansluitvoorwaarden Gij zult niet routeren Apr-2-07 Netwerkprotocollen 145 Situatie 4 machines aan een ADSL aansluiting Maar Slechts 1 IP adres beschikbaar Apr-2-07 Netwerkprotocollen 146 73
Oplossing Gebruik een private space net (RFC1918) En laat de router vertalen Network Address Translation Port Address Translation Apr-2-07 Netwerkprotocollen 147 Ofwel Alle verkeer met 1 IP adres naar buiten Meer dan alleen packet switching Tabel met vertalingen Apr-2-07 Netwerkprotocollen 148 74
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 149 Normaal Router doet dus meer Laag 2 headers verwijderen Routeringstabel raadplegen Next hop bepalen IP header aanpassen TTL verlagen Nieuwe laag 2 headers voor next hop En versturen Apr-2-07 Netwerkprotocollen 150 75
Normaal Router doet dus meer 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 151 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 Apr-2-07 Netwerkprotocollen 152 76
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 153 Router doet dus meer Er is een buitenkant outside Public IP adressen Er is een binnenkant inside Private space (RFC1918) IP adressen Apr-2-07 Netwerkprotocollen 154 77
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 155 Enne, ftp? Blijft speciaal Moet door NAT router speciaal worden herkend behandeld Protocol informatie in de data stroom Apr-2-07 Netwerkprotocollen 156 78