Deel 1 Internet Application Layer Protocols Hoorcollege IUW 8 december 2014 Christof van Nimwegen
Client-Server Applicaties
Browsers (al gezien in web-onderdeel) Apps, FTP, E-mail C = Client Communication
S
S = Server
c Local Computer
Remote Computer
Vele typen servers…
3
Domain Name System (DNS)
Internet: IP-protocol gebruikt een
32-bit numeriek addres, decimaal format (IPv4), of 128-bit address, hexadecimal (IPv6)
Beiden zijn niet handig voor mensen om te onthouden Het Domain Name System (DNS) zorgt dat we text kunnen gebruiken ipv. nummers
Downloaden met een URL: naam
Downloaden met een URL: nummer
Zoek maar op!
7
Domein
Een domein is een groep of computers die bij elkar horen, bv. Doordat ze op dezelfde plaats staan, of het zelfde soort business bedrijven Top-level domains: Domain
For use by
.aero
air-transport industry
.gov
US government
.info
for anyone
.int
International organisations
.mil
US military
.museum
museums
.name
for registration by individuals
.net
networks
.pro
accountants, lawyers and doctors
.org
non-commercial organisations
Domain Name Server
A Domain Name System server: een computer die verzoeken van client machines vertaalt naar numerieke IP addressen Het gehele systeem is gedistribueerd Als een lokale DNS server het kan komt het resultaat meteen terug naar de client
Request for www.staffs.ac.uk Reply = 193.60.1.18 DNS server for staffs.ac.uk
Sable.soc.ac.uk
Indien niet,via andere DNS servers. Etc. Etc.
Heel snel…..
10
Remote Access & het Telnet Protocol
Op afstand een computer benaderen is heel normaal, maar dat was niet altijd zo Telnet (Terminal emulatie) was een vroege variant (is er nog steeds)
Telnet Client & Server
c Telnet Client
S Telnet Server
Security van Telnet, FTP
Telnet en FTP zijn NIET veilig, passwords gaan onversleuteld over het netwerk Secure Shell (SSH) is een vervolg protocol met de functionaliteit van Telnet, maar veiliger omdat de passwords versleuteld zijn.
PuTTY: een SSH Client
File Transfer Protocol (FTP)
Een FTP verbinding wordt gelegd net als bij Telnet De sessie is actief totdat de client beëindigt (of een fout) Data transfer kan in ASCII of binary mode (gaat meestal automatisch)
FTP Transfer Modes
2 connecties, op 2 poorten!! Als de file is aangekomen wordt de data connectie verbroken Als de gebruiker uitlogt wordt de “command” verbinding gesloten Server Client
S
c
Data Connection Internet Control Connection
Secure FTP: veiliger (bv. Filezilla)
FTP Control Commandos FTP Command open remote machine quit get file put file
What it does opens connection to remote machine Ends the FTP session Transfers (i.e. copies) a file from server to client Transfers (i.e. copies) a file from client to server
FTP kan op diverse manieren
Command-line
Web browser-based
GUI-based (bv. Filezilla)
CMS
Fouten voorkomen Voor iedereen bruikbaar, geen specialist nodig Vaak via de browser Styles goed geimplementeerd
http://www.cs.uu.nl/education/vak.php?v ak=INFOB1IUW&jaar=2014 20
Electronic Mail (E-Mail)
Bestaat al een jaar of 30 Was eerst niet meer dan veredelde file transfer Eerst geen feedback of attachments mogelijk E-mail Server (Post Office)
S
c Sender’s E-mail Client
c Receiver’s E-mail Client
E-Mail
Adres: 2 delen, naam ontvanger, en na de @ het “postkantoor” Dit “postkantoor” is wederom een DNS naam met een IP adres Om het “postkantoor ”te bereiken is het 1e del niet nodig
SMTP
Idee: maak onderscheid tussen de envelop (envelop is voor routing, met adressering etc) en de inhoud
Return-Path: <
[email protected]> Received: from camcord2-smrly1.igtei.net (camcord2-smrly1.igtei.net [128.23.173.4]) by mail.staffs.ac.uk (8.9.1/8.9.1) with ESMTP id VAB18434 for <
[email protected]>; Sun, 13 May 2004 21:25:08 +0100 BST) From:
[email protected] Received: from ae1.travelweb.com (ae1.travel.com [207.248.14.24])by camcord2-smrly1.gtei.net (Postfix) with ESMTP id 33E18481A for <
[email protected]>; Sun, 13 May 2004 20:25:01 +0000 (GMT) Received: from ae1 (localhost [127.0.0.1]) by ae1.travel.com (8.9.3+Sun/8.9.3) with SMTP id NAB08430 for <
[email protected]>; Sun, 13 May 2004 13:25:04 -0700 (MST) Date: Sun, 13 May 2004 13:25:04 -0700 (MST) To:
[email protected] Subject: Confirmed Reservation Notification Content-Type: text/plain Content-Transfer-Encoding: 7bit Mime-Version: 1.0 Message-ID: <23137631.989785505049.JavaMail.abc@af1> THANK YOU FOR CHOOSING BIG HOTELS. WE LOOK FORWARD TO YOUR STAY WITH US.
Multipurpose Internet Mail Extensions (MIME)
E-mail berichten kunnen nog wel in ASCII, maar om iets mee te sturen is meer nodig Er zijn vele verschillende typen attachments Nodig: een standaard manier voor zender en ontvanger om dit te definiëren Meest gebruikte standaard: MIME MIME laat ook andere talen met andere leestekens toe, zoals Arabisch of Chinees
DNS: ook bij E-Mail Internet
Router Local DNS Server
Switch
E-mail Client E-mail Client Computer Request: What is yahoo.co.uk?
Local DNS Server Response: yahoo.co.uk = 217.12.3.11
DNS: vervolgens…… Q: Has a_person got a mailbox in my post office?
Mail Server diane_lagoa a_person
A: Yes!
frank_albufeira norman_barreiro francis_leira john_smith etc.
E-Mail van de server halen
De E-mail is nu aangekomen, het 2e deel begint, het ophalen
Ook weer een DNS query om de mail server’s IP adres te vinden
De ontvanger kan checken of er post in de mailbox is en dit downloaden
Mail protocollen
Post Office Protocol (POP)
Veelgebruikt protocol om mail op te halen Versie 3 (POP3) is de laatste versie
IMAP
Alternatieve, krachtigere en complexer protocol voor POP3 Betere authenticatie, POP3 is minder veilig Handig bij meerdere mailboxen tegelijkertijd mogelijk
Web Browser-based E-mail
Met Web mail is HTTP weer het meestgebruikte protocol Mail kan altijd vanaf overal gecheckt Handig voor Mobiel
Streamed Content over het Internet
Was een uitdaging (nog steeds wel). Hiervoor was het internet niet ontworpen. Toch goed mogelijk tegenwoordig In this section, two different kinds of streamed content are considered: streaming audio and voice over IP
Streaming Audio
Wachten tot een file binnen is duurt te lang (toen) Streaming audio omzeilt dit De streaming client is eeen mediaspeler, bv. Winamp, RealPlayer of Microsoft® Windows® Media Player The server is meestal een speciale media server geoptimaliseerd voor de taak
Real Time Streaming Protocol (RTSP)
RTSP Emuleert CD or DVD player commandos, bv. Play, Fast-forward, Fast-rewind, Pauze en Stop Je klikt ergens op en een meta file word gedownload Deze meta file heeft titels, locatie etc. Zoiets als: http://www.luvlymusik.com/audio/trk257k.rm Muziek begint meteen te spelen
Interactie tussen Streaming Media Client & Server Display
Buffer Streaming Media Objects
Media Server
Request Display of Streaming Media Object
Decoder Client Station
RTP - Realtime Transport Protocol
RTP: over UDP, geen correctie of flow control RTP doet timestamping en sequence nummers, dus samples kunnen in de juiste volgorde gegeven worden, zelfs als ze in verkeerde volgorde arriveerden Door timestamping synchronisatie van multiple streams mogelijk (bv. audio en video stream) RTP kan ook gebruikt worden voor VoIP en video on demand
VOIP Protocollen
RTP over UDP en IP om audio te transporteren tussen IP telefoons Bv. Session Initiation Protocol (SIP)
TCP/IP application-layer protocol Werkt samen met RTP, UDP and IP
SIP Server
IP Phone
IP Phone
SIP: easy!
36
Peer-to-Peer (P2P) File Sharing
Aangesloten computers gelijkwaardig, geen vaste werkstations en servers, geen centrale server
Veel gebruikt voor software distributie
Bestanden in stukjes opgedeeld E.g. BitTorrent
Veel gebruikt voor illegaal kopiëren, maar niet alleen Veel P2P al gesloten
Torrents
38
Instant Messaging (IM)
E-mail vaak te langzaam Vaak weet je niet of het ontvangen is IM client software laat gebruiker inloggen bij speciale server De server maakt een bestand met een lijst van contacten Server aat zien wie er online zijn
Microblogging
Een microblog is een zeer kleine blog Vaak iemand’s persoonmlijke meningengen, ideen. Vaak ge-update Microblog hebben een woord / letter restrictie Twitter wss. het bekendste voorbeeld Other social networking sites such as Facebook include a microblogging element termed ‘status updates’ Vervangt vaak E-mail al, vooral jongeren. Hierdoor interessant voor cybercriminelen
Pauze
41
Deel 2 Network Security Hoorcollege IUW 8 december 2014 Christof van Nimwegen
Authenticatie met passwords
Authenticatie: check of iemand is wie hij/zij zegt dat-ie is Niet zeer veilig (raden, stelen, sniffen) Veel mensen zijn onzorgvuldig in keuze passwords, en vervolgens slordig FTP, telnet verstuurde dergelijk info onversleuteld
Ben je wel een mens?
44
Intelligent Token
Veiliger: een “intelligent token” dat een eenmalig password genereert Dit password wordt naar een beveiligde server gestuurd die het verifieert en de gebruiker laat inloggen Veel gebruikt in Internet bankieren 2 typen:
Tijd synchroon Challenge response
Time-Synchronous System
Token en server moeten gesynchroniseerd zijn Random genereerd 1X per minute door beiden Om in te loggen moet een gebruiker PIN plus het nieuwe random nummer invoeren
Time-Synchronous System 2
User’s PIN + Token-generated password 1234
5
777778
The two passwords match, so server authenticates user
777778 A C 1 2 4 5 7 8 0
B B D< > 3 V 6 ENTER 9
Hardware Token
1
Token generates password, using an algorithm, current time & user’s secret key
4
3
Server uses user’s PIN to look up user’s secret key in database
Server does same operation as token to generate user’s password
Database of user PIN nos & keys.
Challenge-Response System
Gebruikers moeten een versleuteld nummer dorgeven dat het hetzelfde is dat de server heeft gegenereerd Hardware tokens
Challenge-Response System 1
User’s PIN 2 Challenge Response
Server generates random number (challenge)
Server authenticates user
777778 A C 1 2 4 5 7 8 0
B B D< > 3 V 6 ENTER 9
Using secret key, user encrypts random number that token 4 generates. This encrypted number is the response 3
Hardware Token
Server looks up secret key using PIN & encrypts challenge
Server compares encrypted challenge & 5 response. If they match, it authenticates user
Database of user PIN nos & keys.
Nog anders….combineer met iets wat ik HEB
Kerberos
50
Biometrics
Wat je BENT, iets VAN JOU doet de authenticatie Vingerafdruk, iris scan Je kunt het niet vergeten Maar het is vrij duur, en niet altijd even snel
Secure Single Sign-On: Kerberos Client
Authentication Server in Secure Location
1) client software 2) authenticatie server heeft database met versleutelde user identities. Staat op veilige plaats 3) application server
Application Server
Vertrouwelijk - Encryptie
Encryptie zorgt dat verstuurde info over een netwerk alleen door bepaalde partijen gelezen kan worden Encryptie: met een encryptie algoritme. Zolang het over het netwerk reist is het onleesbaar Een sleutel is nodig om ter ontcijferen. Het encryptie/decryptie algoritme vormt deze sleutel
Secret-Key Encryptie
Is snel. @ keer dezelfde sleutel De sleutel moet geheim blijven Hoe krijgen we de sleutel van de ene plaats naar de andere? Via een andere weg?
Secret-Key Encryptie (symetrisch) Alice encrypts message with private key
To: Bob From: Alice --------------*?>%)!!@% *^%@{}>*!
To: Bob From: Alice --------------Dear Bob ...
Bob decrypts message with same key
Public-Key Encryption (asymetrisch)
Verschillende sleutels voor encryptie en decryptie Iedereen krijgt de encryptie sleutel, maar de decryptie sleutel blijft geheim
Public-Key Encryptie Certificate Authority CERTIFICATE
Bob’s Public Key
CERTIFICATE
Name:-----------Address:--------Cert. No:-----------
Name:-----------Address:--------Cert. No:-----------
Bob’s Certificate
Alice’s Certificate
To: Bob CC: From: Alice Date: Re:
Alice encrypts message with Bob’s public key
Alice’s Public Key
To: Bob CC: From: Alice Date: Re:
Bob decrypts message with his private key
Public Key Infrastructure (PKI)
Public-key encryptie kan ondersteund worden door een PKI Een PKI is een officieel , organisatorisch en technisch raamwerk dat gebruikt wordt om public key cryptografie te ondersteunen. Het levert een Digital Certificaat, de public key van een gebruiker die digitaal ondertekend is Een Certificate Authority (CA) doet dit digital signeren
Secure Sockets Layer (SSL)
SSL wordt gebruikt voor beveiligde Internet verbindingen Een icoontje van en hangslot indiceert dit De Web browser krijgt een digital certificaat van de website, en checkt dit weer bij de CA (is het nog geldig en niet verlopen, etc.).
Extended Validation-certificaat
Indien links van adres gedeelte groen is geworden, is er een Extended Validation SSL (EV SSL) encryptie aanwezig
Op zich niet perse veiliger dan veilig, maar laat zien dat het bedrijf zelf ook geauthentiseerd is
Secret- & Public-Key Encryptie in Combinatie
Secret-key encryptie is snel Public-key encryptie veiliger Vaak gedaan:
breng de sleutel over met public-key encryptie Breng de data over met Secret-key encryptie
Virtual Private Networks (VPNs)
Een VPN is en privé, veilig data netwerk dat over een openbaar netwerk loopt zoals het Internet Alleen de 2 partijen aan het aan het einde van de lijn kunnen de data lezen VPNs zijn er grofweg in 3 typen: Remote-access VPN, bv. voor werknemers om veilig te kunnen afstands werken Site-to-site VPN gehele kantoren of bedrijven verbinden Extranet VPN laat een bedrijf of instelling bepaalde data delen met partners, leveranciers klanten of anderen
VPN Company HQ
l
nne u T d
e
t p y r c En Remote VPN Client
Internet
VPN
64
VPN Protocollen
Non-IP gebaseerde VPNs (leased lines, Frame Relay of ATM, zeer hoge Quality of Service (QoS)
IP-based VPNs, minder QoS maar toch veilig en goedkoper.
Protocollen voor IP-gebaseerde VPNs:
IP Security (IPSec) MPLS Secure Sockets Layer (SSL)/Transport Layer Security (TLS)
Firewalls
Een systeem dat een netwerk of computer kan beschermen Illegitimate Request tegen misbruik van buitenaf Kan zijn voor inbound of outbound Kan softwarematig, of en combi met hardware Legitimate Request Verbergen vaak de network addressen van individuele Firewall gebruikers Kunnen alle verdacht voorvallen opslaan en Server rapporteren.
Internet
Illegitimate Request
DMZ Internet
Firewall
DMZ Web Server
Trusted Internal Network
Verschillende typen
Packet-Filtering Firewall
Zeer basaal, routers kunnen dit Bepaalde IP addresses, of port numbers kunenn geblokkeerd worden
Application Proxy Firewall
Stateful Inspection Firewall
Gevaar….!.....? Security is a Process
69
Denial of Service (DOS) Attack
Bedoeling: een server verlammen Vele connectie requests gestuurd om geheugen vol te laten lopen of processorkracht aan te tasten Ook: Distributed Denial of Service (DDOS) attack (vanaf meerdere plaatsten), bv. Ping of Death/Smurf Attack
via Web Application Servers
Aanvallen op Databases
Web application servers zijn verbonden met databases wdie veel belangrijke en gevoelige informatie hebben, interessant vor criminelenThis makes them popular targets for attack (Buffer Overflow, SQL Injection)
Virussen
Vermenigvuldigen zichzelf Hangt ergens anders aan vast (bv. Email, exe, bat, pif, scr zijn gevaarlijke extensies hier) Virus code “runt” alleen indien geopend Kan erg veel schade aanrichten Polymorfe virussen kunnen hun voorkomen steeds veranderen, moeilijker te vinden dus.
Worm, Trojan Horse
Worm
Kan zichzelf verspreiden van computer naar computer Zit niet aan een file vast Doel: zoveel mogelijk andere systemen infecteren
Trojan Horse
Verstopt zichzelf in een schijnbaar legitiem programma Gebruikers worden verleid tot installatie ervan Kan bv. Toetsaanslagen registreren
Samengevat :
74
Allemaal Malware….en…
Rootkits (je machine ongeveer overgenomen) Spam E-mail (…) Spyware Phishing
Ter afsluiting: WLAN (WIFI) security
76
Vragen?
77