Netwerkprotocollen - OS314 Apr-2-07 27 Collision Looptijden Signaal altijd enige tijd onderweg...

83
1 Apr-2-07 Netwerkprotocollen 1 Netwerkprotocollen Inleiding 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

Transcript of Netwerkprotocollen - OS314 Apr-2-07 27 Collision Looptijden Signaal altijd enige tijd onderweg...

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)

28

Apr-2-07 Netwerkprotocollen 55

IP

Apr-2-07 Netwerkprotocollen 56

IP Header

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