Inbraaktechnieken Firewalls • ten gevolge van slordigheid van beheerders: zwakke authenticatietechnieken, slecht gekozen paswoorden, services die onbedoeld vanuit de buitenwereld zijn te benaderen 1. Waarom, inbraaktechnieken, security-policy 2. Taken van een firewall ∗ regulering van het verkeer ∗ ondersteuning voor speciale toepassingen ∗ beheersmatige taken van een firewall • bugs in serverprogrammatuur, bijv. in mailservers of web-servers; daarom actief volgen van informatie hierover en tijdig installeren van patches en fixes • denial-of-service aanval: de aanvaller probeert het systeem uit te schakelen (plat te leggen) zonder echt in te breken. Zo’n aanval werkt meestal door het versturen van corrupte IP-pakketten naar het aangevallen systeem, in de hoop dat het systeem daar niet tegen kan. Mogelijkheden zijn extreem grote IP-pakketten of IP-pakketten met inconsistente fragmentatie-informatie 3. Firewall technieken: packet filters en proxy’s 4. Architectuur van een firewall ∗ Stand-alone router ∗ Screened bastion host ∗ Demilitarized zone ∗ Servicenetwerk met publieke services • IP spoofing of DNS spoofing: aanvallers vervalsen IP-adressen of domeinnamen van hun systeem om op die manier bepaalde privileges te krijgen • social engineering: onder valse voorwendsels paswoorden of andere gevoelige informatie aan gebruikers of beheerders ontfutselen. Waarom? ∗ Adequate beveiliging van het interne netwerk. ∗ Zonder firewall: elke machine in het netwerk moet zich afzonderlijk beschermen tegen aanvallen ∗ bijkomend probleem: interne systemen vertrouwen elkaar verregaand ∗ Op één centraal punt : een verdedigingslinie tegen aanvallen vanuit de buitenwereld. ∗ Alle verkeer tussen buitenwereld en bedrijfsnetwerk: via firewall en kan onder controle van de firewall worden doorgelaten of tegengehouden. INTERNET INTERNET Authenticatie Zwakke authenticatie: 1. op basis van naam/wachtwoord combinatie (is af te luisteren) 2. op basis van IP adressen of domeinnamen (is te vervalsen) Sterke authenticatie: 1. public-key certificaten 2. hand-held authenticators (dongles) 3. challenge-response systemen (one-time paswords) intranet intranet Security-policy van een organisatie legt vast wat de gewenste functionaliteit van de Internetverbinding is en welke bescherming de firewall moet bieden Doel Beperking van het verkeer van interne net naar Internet en vice versa Idem, met sterke authenticatie Gecontroleerd websurfen: bezoek aan bepaalde sites verboden Email-adresvertaling: aparte interne en externe email-adressen Interne IP-adressen onzichtbaar vanuit Internet Interne hostnamen onzichtbaar vanuit Internet Veilige koppeling met ander bedrijf op Internet middel packet filter, proxy challenge-response systemen, public-key certificaten screening proxy voor web-verkeer screening, mail-mapper programmatuur proxy, NAT aparte interne en externe DNSservers encrypted tunnels Ondersteuning voor speciale toepassingen Sommige toepassingen zijn zo complex dat het reguleren van het verkeer via een firewall niet voldoende is. Voornamelijk voor servers in het interne netwerk die vanuit het Internet benaderd moeten kunnen worden • electronic mail: een veilige en probleemloze email-koppeling vergt de nodige maatregelen op de firewall • DNS: veel organisaties willen niet al hun interne hostnamen openbaar maken op het Internet; split DNS structuur: een externe name-server die slechts enkele namen bekendmaakt en een interne name-server met alle namen, maar alleen vanuit het interne netwerk te bereiken • web-server is normaal publiek toegankelijk: extra beveiligingsmaatregelen gewenst, vooral wanneer gebruik wordt gemaakt van CGI-programma’s. Electronic-mail Centrale taak van een firewall Regulering van het verkeer • het in ontvangst nemen van een connectieverzoek dat afkomstig is van een (interne of externe) client en gericht is aan een (interne of externe) server; • controleren of dit connectieverzoek gehonoreerd mag worden; • als dat het geval is: tot stand brengen van de connectie tussen client en server. Extra faciliteiten: ∗ afdwingen van het gebruik van sterke authenticatie bij het opzetten van een verbinding ∗ bewaken van het applicatieprotocol na het opbouwen van de verbinding; bijv. het toestaan van FTP-download operaties maar het verbieden van FTP-upload operaties; of het toestaan van websurfen, maar het verbieden van het gebruik van Active-X controls; ∗ loggen van alle gebeurtenissen die betrekking hebben op de verbinding tussen client en server. • complexe mailserverprogrammatuur is nogal inbraakgevoelig; extra beveiliging is mogelijk door gebruik van een mailproxy (mailplug) die de binnenkomende mail opvangt en deze controleert op verdachte zaken (extreem lange headers of pogingen om post bij een programma af te leveren) • archivering van elk passerend email-bericht • maskerade: verbergen van interne machinenamen in de afzenderadresen van uitgaande post • adresvertaling: tussen interne en externe email-adressen • blokkeren van ingaande en uitgaande post op basis van instelbare criteria, zoals het afzender- of bestemmingsadres of attachmenttype • vereiste beveiliging via encryptie en sterke authenticatie voor het moelijk maken om vanuit het internet interne post te lezen • verzorgen van virusdetectie • herkennen van spam Web-servers screenen van alle inkomende HTTP-verzoeken op verdachte zaken bijvoorbeeld: verdachte invoer die wordt aangeboden aan CGI-toepassingen INTERNET proxyserver httpscreen Firewall intranet webserver data vanuit internet naar de web-server passeert eerst via httpscreen deze screent de invoer voordat deze daadwerkelijk doorgespeeld wordt aan de web-server voordeel: minder gevoelig voor slordig geprogrammeerde CGI-programma’s reverse proxy: een normale proxy-server vormt een tussenstap vanuit clients in het intranet naar servers in het Internet; bij httpscreen is het net andersom. Beveiliging van de firewall zelf • hardening: processen, programma’s en bestanden die voor het functioneren van het systeem niet strikt nodig zijn, moeten van het systeem verwijderd worden: alles wat verwijderd is, kan geen aanvalsdoelwit meer worden UNIX: flexibeler en gemakkelijker configureerbaar dan MS-Windows • functies in het besturingssysteem die niet strikt nodig zijn, moeten verwijderd worden door een nieuw en gestript systeem te maken • toegang tot de firewall zelf beveiligd door sterke authenticatie en encryptie Content attack: een aanval waarbij gevaarlijke data het bedrijfsnetwerk binnenkomt via een geoorloofde verbinding, bijv. via een email-attachment. Omdat niet de connectie zelf het probleem veroorzaakt, maar de getransporteerde data, is dit iets dat een firewall minder goed kan beveiligen. Toch tegenwoordig een poging door alle inkomende email en alle via het web binnenkomende data te analyseren en te filteren. Packet filter Beheersmatige taken van een firewall • logging: bijhouden van een administratie; nuttig om een inbraak te voorkomen door het tijdig opmerken van mislukte pogingen en afdoende maatregelen nemen; eventueel ook voor accounting • alerting: verdachte zaken in de logging direct doorspelen aan de beheerders, bijv. via email of sms • system integrity checking: regelmatig controleren of essentiële processen nog steeds actief zijn, of er nog voldoende diskruimte vrij is en of er geen cruciale systeembestanden veranderd zijn • aanpassen van de configuratie: zal van tijd tot tijd nodig zijn; volgens de boekjes heb je hiervoor een goede (grafische) interface nodig die de beheerder begeleidt en beschermt tegen elementaire fouten en inconsistenties • continuı̈teit: mirroring en UPS-support voor hardwareproblemen, spanningsuitval of andere onverwachte problemen, die leiden tot onvoorspelbaar en dus onveilig gedrag. ∗ inspecteert binnenkomende pakketten ∗ laat deze al dan niet door op basis van een aantal filtercriteria het gebruikte protocol (TCP of UDP) Criteria: IP-adres van afzender en/of bestemming van het pakket poortnummer van de gebruikte toepassing (telnet, ftp, http, smtp) deels transparant intern netwerk firewall INTERNET De meeste routers kunnen geconfigureerd worden om pakketten te filteren. UNIX of MS Windows met meerdere netwerkverbindingen en speciale software kunnen als packet filteraar optreden. Definiëren van de juiste filters Voorbeelden van security-maatregelen • packet filter als diode: machines op het lokale netwerk mogen contact zoeken met het internet, maar het omgekeerde is niet toegestaan Voorbeeld: uitgaand telnet verkeer is toegestaan, maar inkomend telnet-verkeer niet. • packet filter als selectief filter: bepaalde machines op het lokale netwerk mogen contact zoeken met bepaalde machines op het internet en bepaalde machines op internet mogen contact zoeken met bepaalde machines in het lokale netwerk. Hierbij kunnen ook restricties gesteld worden aan de gebruikte programma’s: van buiten naar binnen mag vanaf bepaalde machines contact gezocht worden, maar alleen met bepaalde servers, bijv. telnet-server en ftp-server. + verkeer van buiten naar binnen beperken tot email- en DNS toegang + doorlaten van poortnummers 25 (smtp) en 53 (dns): te beperkend + rekening houden met het retourverkeer van interne clients die contact zoeken met externe servers + interne clients gebruiken doorgaans poortnummers boven de 1024 om webservers op het internet te benaderen + twee mogelijke oplossingen: ∗ alle hoge poortnummers worden opengezet: niet goed omdat er veel te veel poorten worden opengezet, maar ook omdat er in het interne netwerk misschien serverprocesen zijn die luisteren op hoge poorten en hierdoor aanvalbaar worden; ∗ dynamische packet filtering of stateful inspection: de packet filter houdt bij welke verbindingen er zijn en dus welk retourverkeer verwacht wordt: de packet zet zelf de poorten waarop retourverkeer verwacht wordt, open en achteraf weer dicht. Soms ook inspectie van applicatiedata (toch beperkt tov proxy servers). Voor- en nadelen van een packet-filter Proxy-server + transparant: geen aanpassingen nodig voor gebruiker en applicatiesoftware + hoge performantie en meestal duidelijk hoger dan een proxy-server. (Proxy-server kan via het gebruik van caching ook een performantieverbetering realiseren.) + er wordt NIET aan autorisatie van gebruikers gedaan; deze ligt geheel op de bestemmingscomputer van het interne netwerk: moet zeer zorgvuldig gekozen en beheerd worden + definitie van juiste filters en het schrijven van foutloze filtertabellen is niet eenvoudig: lastige syntax en moeilijke foutcontrole + filteren op basis van informatie in het netwerkpakket: niet 100% veilig controle op de geldigheid van het afzenderadres in een netwerkpakket is niet mogelijk omwille van IP-spoofing (gebruik van een oneigenlijk adres) + geringe logging-faciliteiten: geen uitgebreide mogelijkheden om speciale gebeurtenissen in logfiles bij te houden: inbraakpogingen zijn relatief moeilijk te detecteren. een proces dat een tussenstap vormt tussen de client en de server geblokkeerd intern netwerk firewall INTERNET • klassieke proxy’s: gebruikers die een bepaalde dienst willen benaderen, moeten zich eerst melden bij de proxy op de firewall (dus niet transparant) ∗ doorgeefluik van binnen naar buiten: bijv. toegang geven tot het web aan interne gebruikers ∗ doorgeeflijk van buiten naar binnen: bijv. externe gebruikers die via telnet op het bedrijfsnetwerk willen inloggen • transparante proxy’s: gebruiker kan de gewenste server rechtstreeks benaderen. Klassieke proxy: werkwijze 1. Gebruikers melden zich bij de proxy op de firewall (een bastion host die van proxy’s voorzien is) Transparante proxy’s 2. proxy bepaalt of het verzoek van de gebruiker gehonoreerd mag worden: een web-proxy kan het recht tot web-surfen voorbehouden aan specifieke interne gebruikers die dat voor hun werk nodig hebben authenticatie technieken: IP-adres, domeinnaam, naam-paswoord, public-key certificaat, challenge-reponse systeem 1. De client kan de gewenste server rechtstreeks benaderen. 3. proxy-server bouwt een verbinding met echte server; er zijn twee aparte verbindingen: client ↔ proxy-server en proxy-server ↔ server. De client merkt dit niet: er is een transparante verbinding tussen client en server (proxy treedt op als byte-kopieerder). 4. De automatisch geactiveerde proxy gedraagt zich als ∗ applicatiebewuste proxy: de aanwezigheid van de proxy zal niet altijd transparant blijven voor de gebruiker: deze kan geconfronteerd worden met eventuele door de proxy opgelegde beperkingen of met de eis dat sterke authenticatie plaatsvindt; ∗ applicatie-onafhankelijke proxy (transparant voor gebruiker). 4. De communicatie tussen de client en de server kan al dan niet verder bewaakt worden: ∗ een web-proxy verbiedt toegang tot bepaalde sites of het gebruik van Java ∗ een ftp-proxy blokkeert bepaalde FTP-commando’s. Voor- en nadelen Een proxy-server is een doorgeefluik voor één bepaalde applicatie: + de proxy heeft kennis van de applicatie en kan desgewenst voor specifieke beveiligingsmaatregelen zorgen (protocolscreening), bijv. tegenhouden van ftp-uploads of verbieden van het gebruik van Java-applets in web-pagina’s + gedetailleerde applicatiespecifieke logging + Network Address Translation (NAT) vindt automatisch plaats: het interne IP-adres van een interne client is onzichtbaar; men ziet alleen het IP-adres van de proxy-server in de buitenwereld + per applicatie is een aparte proxy server nodig (een packet filter is voor alle applicaties bruikbaar) + ofwel de client ofwel (het gedrag van) de gebruiker moet aangepast worden: er moet een tussenstap op de proxy worden gemaakt. Beschikbaar: HTTP, HTTPS, FTP, telnet, rsh, SSH 2. De firewall onderschept deze poging tot verbindingsopbouw en start automatisch de juiste proxy. 3. De proxy bouwt een verbinding op met de aangegeven server; client weet niet dat hij geen rechtstreekse verbinding met de server heeft. Authenticatie in proxy servers ∗ authenticatie op basis van het IP-adres van de client; dit is geen authenticatie van een gebruiker maar van een systeem; daarnaast is de techniek zwak vanwege het gevaar voor aanvallen op IP-niveau (IP-spoofing) ∗ authenticatie op basis van de hostnaam; dit is weer geen authenticatie van een gebruiker; bovendien nog zwakker vanwege het gevaar voor DNS-spoofing ∗ authenticatie via naam-paswoord: ook een zwakke vorm: het paswoord kan in vele gevallen afgeluisterd worden via sniffing; vele paswoorden kunnen gemakkelijk geraden worden en er bestaat de mogelijkheid om met behulp van programma’s paswoorden te kraken (crack) ∗ authenticatie via naam-paswoord gecombineerd met challenge-response zodat het paswoord niet over de lijn moet gestuurd worden (bijv. APOP bij POP): niet gevoelig voor sniffing maar het nadeel van relatief gemakkelijk te raden of kraken van paswoorden blijft ∗ authenticatie via public-key certificaten ∗ authenticatie via challenge-response systemen zoals one-time passwords of (hand-held) authenticators Screened bastion host Challenge-response systeem Combinatie van een router als packet filter en een computersysteem met proxy’s behoort tot de sterkste hedendaagse authenticatietechnieken ∗ combinatie van iets dat de gebruiker weet (bijv. een paswoord) met iets dat de gebruiker bezit (bijv. een list met codes of een apparaatje) ∗ deze methode herhaalt zichzelf niet: bescherming tegen replay-attack: aanval waarbij de aanvaller een afgeluisterde sessie naspeelt in de hoop zo ook binnen te komen Voordelen van beide technieken worden op die manier gecombineerd. verboden interne netwerk bastion host router INTERNET deels toegestaan Voorbeeld: 1. de firewall stuurt als challenge het getal 12345679 2. de response wordt door de gebruiker gegenereerd door middel van een hand-held authenticator (dongle): ∗ gebruiker activeert de dongle via een PIN-code ∗ gebruiker voert de challenge in ∗ dongle berekent de response en toont deze aan de gebruiker ∗ gebruiker geeft de response (21ac789b) aan de proxy terug. De router wordt geconfigureerd zodat hij alleen verkeer toestaat tussen de bastion host en het internet. Beter onderhoudbaar omdat de router tabellen statischer kunnen blijven. Door het inzetten van proxy-servers : een hogere mate van beveiliging. Voor protocollen waarvoor geen proxy-server bestaat: ∗ specifiek poortnummer openzetten (een gat in de firewall) ∗ gebruik maken van een transparante proxy. Stand-alone router Eenvoudig: alle beveiliging wordt gerealiseerd door één enkele router client client Demilitarized zone extra beveiliging door het gebruik van een apart netwerk met de publieke servers: een stuk niemandsland tussen de bastion host en de router router INTERNET client Vanuit het internet is toegang mogelijk tot de publieke servers maar niet tot het interne netwerk, dat wordt afgeschermd door de bastion host. Voor- en nadelen van packet filtering: + goedkoop en transparant voor de gebruiker en applicaties client + geen mogelijkheden voor protocolscreening en sterke authenticatie + een beperkte logging client + zeer onderhoudsintensief: elke verandering vergt het aanpassen van (complexe) filtertabellen client + systemen met publieke services (email, DNS, web) moeten apart beveiligd worden. bastion host HTTP server DMZ externe router INTERNET Servicenetwerk met publieke services De bastion host is uitgebreid met een derde netwerk interface, die verbonden is met een apart netwerk, het servicenet met alle publieke services: email, web, anonymous-ftp, ... intern net interne netwerk interne router FTP server bastion host HTTP server Secure socket layer: SSL Techniek voor het versleutelen van het verkeer tussen browser en server en voor sterke authenticatie SSL: vormt een programmeerinterface tussen de applicatie en TCP/IP laag. SSL kan ook toegepast worden in combinatie met FTP, POP, SMTP, ... SSL-laag TCP/IP-laag Web-server benaderen via het HTTPS protocol: servicenetwerk http:// externe router applicaties HTTP, FTP INTERNET extern netwerk Voordelen: ⇒ https:// HTTPS is niets anders dan HTTP boven SSL, met poortnummer 443. versleuteling van de websessie, Faciliteiten van SSL: authenticatie van de web-server en optioneel van de client. + de publieke servers zijn beter beveiligd Belangrijkste browsers en web-servers ondersteunen SSL versie 3. + veel betere logging voor het verkeer van en naar het servicenetwerk. Transport Layer Security (TLS) is de opvolger van SSL. HTTPS/SSL • Browser benadert web-server via HTTPS: https:// • Web-server stuurt zijn certificaat naar de browser • Browser controleert of hij dit certificaat accepteert, door te kijken of het ondertekend is door een CA die hij vertrouwt. Browsers hebben een lijst van bekende CA’s ingebouwd. Als de browser de CA die het servercertificaat ondertekend heeft, niet kent, dan kan de gebruiker kiezen: ofwel de sessie afbreken ofwel doorgaan. • Optioneel (afhankelijk van de instellingen in de web-server) kan ook clientauthenticatie plaatsvinden: de browser stuurt zijn certificaat op en de web-server zal verifiëren of dit certificaat in orde is. • Browser en web-server onderhandelen over het te gebruiken encryptie-algoritme. • De client genereert een random (bijv. RC4-)session key waarmee deze sessie zal beveiligd worden. Deze session key wordt versleuteld met de public key van de server en zo naar de server gestuurd. • De sessie tussen browser en server wordt versleuteld met de session key. Beveiliging van email • Een bericht kan bij transport over het internet afgeluisterd worden. De privacy van de verzonden data waarborgen kan via encryptie: data versleutelen. • De inhoud van een bericht kan onderweg door derden veranderd worden. Om de integriteit van berichten te waarborgen kan gebruik gemaakt worden van message digests. • Het is een koud kunstje om een email-bericht te spoofen door rechtstreeks via het SMTP-protocol een mailserver aan te spreken. Om de authenticiteit van een bericht te verifiëren kan gebruik gemaakt worden van digitale handtekeningen en certificaten. Twee mogelijke oplossingen: • PGP (Pretty Good Privacy): ontstaan in de UNIX-omgeving, maar geen officiële standaard geworden; • S/MIME (Secure MIME): wel een internet standaard en ondersteund door de meeste mailprogramma’s. Secure DNS • beveiligen van DNS transacties, bijv. DNS dynamic updates alleen geauthoriseerde partijen mogen wijzigingen aanbrengen in de DNS databank • verzekeren van correcte naam-adresvertaling aan applicaties en gebruikers VB: vertaling voor www.bank.be − antwoord niet van de name-server van bank.be − maar van een andere NS, uit zijn cache − indien cache gecorrumpeerd door een hacker: terugkrijgen van onjuist IP-adres − browser maakt verbinding met dit onjuist IP-adres − hackers hebben daar een nagemaakte web-site van de bank staan (sprekend gelijkend op de echte web-site) − niets vermoedende gebruiker geeft vertrouwelijke informatie (zoals rekeningnummer) door S/MIME • een applicatieprotocol dat de vorm van versleutelde en digitaal ondertekende email-berichten vastlegt • gebruikt RSA als public-key algoritme en (naar keuze) RC2, DES en 3DES als symmetrische algoritmen • bij het maken van een bericht kan de gebruiker aangeven dat hij het bericht wenst te coderen en/of te ondertekenen • voor het coderen van een bericht is een certificaat van de ontvanger nodig. Content-Type: application/x-pcks7-mime Content-Transfer-Encoding: base64 • om een bericht te ondertekenen is een eigen certificaat nodig Content-Type: multipart/signed Content-Type: text/plain Content-Type: application/x-pcks7-signature Content-Transfer-Encoding: base64 Oplossing: DNSSEC • elke zone heeft een public key en een bijhorende private key public key van de zone wordt gepubliceerd via een KEY resource-record • alle resource-records worden digitaal ondertekend (met de private key) bij ieder gewoon resource-record hoort een bijhorende SIG resource-record • een DNS-pakket (bijv. bij een dynamic update) dat over het netwerk gaat kan digitaal ondertekend worden via shared secrets of public key cryptografie. IPsec • Geheimhouding op de netwerklaag: encryptie op IP-niveau (en dus ook alle hogere lagen); • Verificatie van de bronnen: controleren of het IP-datagram inderdaad door de host met het IP-bronadres is gegenereerd (onmogelijk maken om IP-adressen te spoofen); • transparant voor de eindgebruiker; • twee basisprotocollen: ∗ Authentication Header AH-protocol: bronverificatie, gegevensintegriteit, maar geen geheimhoudig; ∗ Encapsulation Security Payload ESP-protocol: bronverificatie, gegevensintegriteit, én geheimhoudig. Virtual Private Network secure tunnel tussen twee gateways om twee netwerken via internet te koppelen in plaats van een huurlijn. Internet LAN 1 IPSec Gateway IPSec Tunnel IPSec Gateway LAN 2