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 Communication S C = Client 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:.aero.gov.info.int.mil.museum.name.net.pro.org Domain For use by air-transport industry US government for anyone International organisations US military museums for registration by individuals networks accountants, lawyers and doctors 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 DNS server for staffs.ac.uk Request for www.staffs.ac.uk Reply = 193.60.1.18 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 Client Server c S Internet Data Connection 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: <ssdesk@bighotel.com> 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 <J.Cowley@staffs.ac.uk>; Sun, 13 May 2004 21:25:08 +0100 BST) From: ssdesk@bighotel.com Received: from ae1.travelweb.com (ae1.travel.com [207.248.14.24])by camcord2-smrly1.gtei.net (Postfix) with ESMTP id 33E18481A for <J.Cowley@staffs.ac.uk>; 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 <J.Cowley@staffs.ac.uk>; Sun, 13 May 2004 13:25:04-0700 (MST) Date: Sun, 13 May 2004 13:25:04-0700 (MST) To: J.Cowley@staffs.ac.uk 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 Switch Local DNS Server Local DNS Server Response: yahoo.co.uk = 217.12.3.11 E-mail Client E-mail Client Computer Request: What is yahoo.co.uk?
DNS: vervolgens Q: Has a_person got a mailbox in my post office? Mail Server A: Yes! diane_lagoa frank_albufeira norman_barreiro francis_leira a_person 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) IMAP Veelgebruikt protocol om mail op te halen Versie 3 (POP3) is de laatste versie 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 Decoder Client Station Media Server Request Display of Streaming Media Object
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 777778 5 The two passwords match, so server authenticates user 777778 A B C B 1 2 D < > 4 5 3 V 7 8 0 6 ENTER 9 1 Token generates password, using an algorithm, current time & user s secret key 4 Server does same operation as token to generate user s password Hardware Token 3 Server uses user s PIN to look up user s secret key in database 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 Challenge Response 2 Server generates random number (challenge) Server authenticates user 777778 A B C B 1 2 D < > 4 5 3 V 7 8 0 6 ENTER 9 Hardware Token 4 Using secret key, user encrypts random number that token generates. This encrypted number is the response 3 Server looks up secret key using PIN & encrypts challenge 5 Database of user PIN nos & keys. Server compares encrypted challenge & response. If they match, it authenticates user
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 Application Server 3) 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 --------------- Dear Bob... To: Bob From: Alice --------------- *?>%)!!@% *^%@{}>*! 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 CERTIFICATE Bob s Public Key Name:------------ Address:--------- Cert. No:----------- Name:------------ Address:--------- Cert. No:----------- Alice s Public Key Bob s Certificate Alice s Certificate To: Bob CC: From: Alice Date: Re: To: Bob CC: From: Alice Date: Re: Alice encrypts message with Bob s public key 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 Remote VPN Client Encrypted Tunnel 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 tegen misbruik van buitenaf Kan zijn voor inbound of outbound Kan softwarematig, of en combi met hardware Verbergen vaak de network addressen van individuele gebruikers Kunnen alle verdacht voorvallen opslaan en rapporteren. Legitimate Request Server Illegitimate Request Firewall 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