2016-12-20

Har du styr på din infrastruktur? - part 2

I part 1 af "Har du styr på din infrastruktur?" bloggen, kiggede jeg lidt på bl.a. logning, backup, overvågning og management. Hvis du ikke har læst denne kan jeg anbefale at du tager et kig på denne her. I part 2 vil jeg kigge på nogle andre områder som kan være med til at gøre Jeres infrastruktur mere robust og ikke mindst mere sikker.

Patch management

En af de helt store risikoområder for en virksomhed er ikke opdateret software. Det gælder for både klienter og servere. Nogle undersøgelser påstår, at op imod 75% af sikkerhedshændelser kan tilskrives ikke opdateret software, så det er uhyre vigtigt i ens samlede forsvar, at få lavet en procedure for opdatering af software. På klient siden er det især Java og Adobe Flash som angribes oftest. Vurder evt. om det overhovedet er nødvendigt at have disse installeret på klienterne. Tidligere var Java f.eks. nødvendig ifm. netbank, men dette er oftest ikke længere nødvendigt og dermed kunne Java måske helt afinstalleres. For Adobe Flash vedkommende, så kunne en alternativ PDF viewer måske være relevant.

Risiko for at få virus/malware/trojaner på klient PC er stor, hvis ikke man afsætter resourcer til at få opgradet. Eksempel på angreb mod klient PC er Spear-phishing Attacks hvor man f.eks. via mails forsøger at få klienter til at klikke på links til ondsindede hjemmesider. En anden type angreb er Drive-by Download som inficerer klienterne hvis man får surfet ind på en ondsidet side eller evt. via reklamer på store etablerede sider. Eksempelvis var en stor dansk avis ramt af sidstnævnte, hvor der var ondsindede reklamebannere på hjemmesiden, eller Spotify som for nyligt distribuerede malware i deres reklamebaserede udgave via netop ondsindede reklamer. Fælles for de fleste af angrebene er, at de udnytter forældet software.

Sørg også for at automatisere opdatering mest muligt. Erfaringen viser, at man ikke kan forvente at brugerne selv gør dette. På serversiden anbefales det også at automatisere opdatering mest muligt, dog skal man opveje dette mod evt. risiko for driftsproblemer. Der er måske nogle services/applikationer som ikke bare kan opdateres. Under alle omstændigheder burde der udarbejdes en oversigt over hvilke services man anvender samt politik for opdatering. Man kan også overveje at anskaffe deciderede programmer som kan hjælpe med at udrulle software og opdateringer.

Principle of least priviledge

I fortsættelse af 'Patch management', så kan man med fordel kigge på rettigheder, herunder administrative adgange. Som udgangspunkt burde enhver bruger på ens infrastruktur kun have "Least priviledge" adgang. Med andre ord, så skal man kun have så mange rettigheder som ens funktion kræver. Der er f.eks. ingen grund til at alle virksomhedens brugere kan se regnskabs-, personale- og udviklingsdokumenter på netværksdrevet eller logge på de forskellige servere. Det samme gælder for brugerens egen maskine. Ofte har ens egen bruger lokale administrationsrettigheder så brugeren kan installere programmer m.m. Det betyder også, at hvis en bruger får noget malware ind, eksekveres denne som lokal administrator og dermed fuld adgang. Hvis brugeren derimod kun havde haft bruger adgang, så er det ikke sikkert at angrebet ville være lykkedes da en almindelig bruger ikke kan installere programmer eller lave ændringer på system niveau. Så anbefalingen er, at hver enkelt kun har almindelig bruger rettigheder som man bruger i ens daglige arbejde, og så have en ekstra lokal administrator bruger som udelukkende anvendes ifm. installation af programmer og systemændringer.

Unødvendige services og applikationer

Som nævnt tidligere, så var Java en åbenlys kandidat for afinstallation hvis muligt. Helt overordnet burde man kigge på hvilke services og applikationer som kører på hhv. klienter og servere. Alle de services og applikationer som ikke er nødvendige skal afinstalleres så man har en så lille angrebsflade som muligt. Det har også yderligere den fordel at der er mindre ting som skal holdes opdateret/patches.

Nu har jeg snakket en del om patchning af bl.a. servere samt afinstallation af unødvendige services. I forbindelse hermed kunne man også overveje at foretage nogle scanninger og/eller penetration tests af de services man eksponerer mod f.eks. Internettet. Selve scanningerne er med til at afklare om det kun er de services man forventer, som står åbne. Pentesten går lidt dybere og undersøger patchniveau, fejlkonfigurationer, bugs i de kørende services etc.

Segmentering af net

For at højne sikkerheden på ens net, så anbefales det at man segmenterer det i mindre dele. Som minimum deles nettet op i et LAN (Local Area Network - internt miljø) og en DMZ (Demilitarized Zone), hvis man tilbyder services til mindre sikre zoner så som Internettet. Altså, hvis man f.eks. har en web-/ftp-/mail-server, så skal denne stå i en DMZ som er adskilt fra LAN. Grunden hertil er, at hvis en af de ekstern vendte servere bliver kompromitterede, så er der ikke direkte adgang til LAN.

Man kan dog med fordel også segmentere yderligere. Det kunne være i forskellige DMZ zoner, men også segmentering af LAN. Der er f.eks. ingen grund til at både klienter og servere står på samme LAN segment. Igen, så er det primært af sikkerheds hensyn, men også pga. stabilitet og performance. Hvis en klient rammes af en virus, så er der ingen grund til denne spreder sig til serverne hvis det kan undgås. Det giver også god mening at klienter ikke nødvendigvis kan tilgå alle serverne på alle porte direkte. Det kan være de kun skal have adgang til en frontend server, men ikke den bagved liggende database server. Selve segmenteringen foretages normalt ved hjælp af en firewall hvor der kun åbnes for det absolut nødvendige.

Ud over en eller flere DMZ og LAN zoner, så kunne man med fordel også lave f.eks. et management segment. Dermed kan man lukke adgang til f.eks. servere, routere, firewalls m.m. ned til kun dette management net. Igen, så er formålet at minimere risiko for at uauthoriserede får adgang til kritiske ressourcer. Når administratorerne skal tilgå de forskellige ressourcer gøres dette via jumphosts som står på management nettet. Derud over kunne man også placere evt. SNMP, management, configurations-backup, overvågning m.m. på management nettet.

Det samme gør sig gældende for f.eks. wifi og gæste-net. Som udgangspunkt skal disse ikke forbindes direkte til LAN. Man kunne med fordel overveje kun at give disse net Internet adgang. Dermed kan gæster nå deres eget firma, modtage mails m.m. men ingen interne ressourcer. Hvis en egen ansat skal kunne nå interne ressourcer gøres dette via klient VPN. Sidstnævnte kan måske være en gene i dagligdagen at man skal starte en VPN session op når man befinder sig på wifi, men i så fald kunne man overveje en certifikatbaseret 802.1x løsning. Dette vil i givet fald betyde at interne klienter med gyldigt certifikat automatisk kommer på internt net, mens gæster uden gyldigt certifikat bliver placeret på et gæste net. Dette kunne implementeres både på kablet samt wifi net. Det skal dog siges at det kan være en større opgave at implemetere en 802.1x løsningen alt efter eksisterende infrastruktur.

Når vi nu taler om segmentering af net, så er det også vigtigt at nævne begrebet IoT (Internet of Things). IoT er "det nye sort", men medfører desværre en stor sikkerhedsrisiko. Efterhånden bliver alt fra køleskabe, radiatorer, lyspærer til medicinflasker koblet på Internettet. Det kan selvfølgelig være smart at man kan styre alle ens enheder via Internettet/telefonen, men desværre har det vist sig at producenterne ofte ikke tænker på sikkerhed når produkterne udvikles. Det kunne være dårlig implementation af kode, hardcoded admin passwords (seneste eksempel er Sony overvågnignskameraer), dårlig eller endda ingen mulighed for firmware opgradering, ingen mulighed for at begrænse adgang til enhederne osv. Brugerne selv har måske heller ikke den nødvendige ekspertise til at holde alle IoT devices up-to-date. Dette har medført at utallige IoT devices ryger i de forkerte hænder, hvor de anvendes som zombies i et botnet eller som springbræt til resten af virksomhedens/hjemmets netværk. Søg selv på nettet efter "iot botnet", "iot ddos" eller "mirai" for at læse mere om dette, men nogle af de største DoS/DDoS angreb nogensinde skyldes IoT botnets. Denne udvikling vil desværre nok bare blive forværret over de næste år. Derfor er det vigtigt at IoT devices placeres på et lukket segmet, så der ikke er mulighed for at bruge evt. kompromitterede enheder til at angribe resten af netværket. Desuden burde man overveje om i hvad omfang dette segment har behov for Internet adgang, og begrænse dette til det nødvendige.

Two factor

Når brugerne logger på hjemme fra eller ude hos kunder, så anbefales det at anvende en klient VPN løsning. Dette anbefales så man har bedre styr over hvem der logger på ens ressourcer samt at trafikken er krypteret. Dette er især vigtigt hvis man logger på usikre netværk som f.eks. på hoteller, lufthavne, caféer etc, som ofte udnyttes af folk med onde hensigter for at lave "Man In The Middle" attacks.

I "gamle" dage anvendte man ofte IPSec for at kryptere klient VPN trafikken. Efterhånden er man dog gået over til SSL som kryptering. Sidstnævnte har den fordel, at hvis man er ude hos f.eks. kunder, så er det ikke sikkert der er åben for IPSec trafik i kundens firewall, hvorimod SSL kryptering som også anvendes til HTTPS trafik,  normalt altid står åbent.


For at øge sikkerheden i klient VPN løsningen, så anbefales det at anvende two-factor-authentication. Så ud over at have et gyldigt brugernavn og password, så skal man også indtaste en ekstra kode. Denne generes f.eks. via en applikation på brugerens telefon eller en hardware token. Det betyder, at selv om ens brugernavn og password skulle være opsnappet, så kan de stadig ikke misbruges til at logge på virksomhedens netværk, da man også skal bruge koden fra telefonen. Det skal også nævnes, at selv for en mindre virksomhed med et begrænset IT budget, så er der ingen grund til ikke at implementere two-factor-authentication. Der findes gratis versioner af softwaren som håndterer selve two-factor delen, så det er kun selve serveren hvorpå softwaren skal køre man skal anskaffe (og det behøver ikke at være en stor server, jeg har set det køre på en Raspberry Pi eller en Intel NUC). En anden fordel er at samme telefon applikation også kan anvendes på sider som f.eks. Facebook, LastPass, Gmail etc.

Next-Generation Firewalls (NGFW)

Historisk set, så var en firewall en enhed som styrede adgang til virksomhedens ressourcer på baggrund af IP adresser og porte. For de tekniske, så fungerer disse firewalls til og med lag 4 i OSI modellen. Tiden er dog ved at løbe ud for de traditionelle port-baserede firewalls og i stedet blive afløst af de mere avancerede Next-Generation Firewalls som fungerer op til lag 7 i OSI modellen. Nogle af funktionerne for en Next-Generation Firewall er:

 - application awareness
 - web filtering og IP reputation
 - antivirus og malware inspection
 - sandboxing
 - DLP
 - IDS og IPS
 - identity awarenes
 - SSL inspection
 - m.fl.

Det vil nok gå for vidt i denne blog at gå i dybden med alle disse fancy begreber, men jeg vil da lige kort omtale nogle af dem. Et eksempel kunne være application awareness. I en traditionel firewall kunne man måske tillade at virksomhedens medarbejdere måtte gå på Internettet via HTTP (80/tcp) og HTTPS (443/tcp). Mulighederne for yderligere styring og inspection var begrænsede. En NGFW giver mulighed for at kigge ned i selve web trafikken og styre hvad der er tilladt og hvad ikke er, baseret på virksomhedens policy. Et eksempel kunne være at man gerne vil tillade medarbejderne adgang til Facebook, men ikke ønsker de skal kunne anvende Facebook-chat og -spil. Et andet eksempel er IP reputation og web filtering. Her vil firewallen begrænse medarbejdernes adgang til sider som er kendt for at sprede malware og virus - altså adgangen begrænses automatisk baseret på sidernes "omdømme". Man kunne også tænke sig at man ønsker at begrænse medarbejdernes adgang til sider baseret på kategori, som f.eks. pornografi, fildeling eller gambling. Andre NGFW features som kan nævnes er automatisk antivirus inspection af filer som medarbejderne downloader, begrænsing af hvilke typer filer som medarbejdere kan sende ud af virksomheden (beskyttelse af virksomhedens data), intrusion detection og protection m.m.

Det er dog ikke kun "lutter lagkage" med NGFWs. Det kan vise sig at ens eksisterende firewall ikke kan opgraderes til en NGFW og dermed skal der indkøbes en ny. Nogle af ovenstående features er licens baseret, så det kan være nødvendigt med en løbende licens udgift. Nogle af funktionerne er også ret CPU intensive, som f.eks. SSL inspection. Så det vil ofte ikke være muligt at slå alle funktioner til og samtidig forvente at få en masse data igennem. Der skal altså lidt planlægning til for at få mest ud af investeringen, men når det er sagt, så giver en NGFW nogle muligheder for at beskytte virksomheden bedre end det tidligere var muligt. Mulighederne for rapportering og indsigt i virksomhedens data er også væsentligt forbedret.

Fysisk sikkerhed og Social Engineering

Nu har jeg indtil videre fokuseret på soft- og hardware, men når man taler om at have styr på virksomhedens infrastruktur, så kan man ikke nøjes med dette. Helt basale ting som fysisk sikkerhed og uddannelse af medarbejderne er helt essentielle når man taler sikkerhed. En stor del af sikkerhedsincidents i en virksomhed kan nemlig tilskrives medarbejdernes manglende uddannelse eller årvågenhed. De fleste virksomheder har rimelig styr på alarmer, adgangskort læser etc., men hvad hvis kode til alarm aflures og adgangskort kopieres? Koden kan aflæses hvis man ikke dækker for keypads og et adgangskort kan kopieres blot ved at gå forbi det med en scanner. Prøv f.eks. at læg mærke til hvor mange folk der har deres virksomheds adgangskort hængende frit fremme når de er ude at handle. Med rette udstyr kan denne kopieres ved at "bumpe" ind i det løst hængende kort.


Hvad med tailgating? Spørger dine medarbejdere om hvem vedkommende med de mange pakker er og hvad vedkommendes ærinde er, eller er de flinke og blot holder døren? Sørger de for at gæster altid er under opsyn? Det at mennesker per natur forsøger at være venlige og hjælpsomme, udnyttes ofte af hackere (den korrekte betegnelse er cracker, men hacker er nok den betegnelse de flest mennesker bruger) til at skaffe sig adgang til områder og systemer. Blot 1-2 minutter er nok til at installere malware/trojaner på ubeskyttede maskiner. Disse behøver ikke nødvendigvis at stå åbne (du husker vel selv altid at låse din maskine når du forlader den, ikke?) for at kunne installere uønsket software. Det er muligt at tilkoble f.eks. en Raspberry Pi eller USB drive med speciel software til computerens USB port og denne vil, selv om computeren er låst, stadigvæk installere malwaren. Medarbejdere skal også informeres om at man f.eks. ikke må sætte fremmede USB nøgler i ens udstyr. Hackere udnytter også med stor succes, at mennesker per definition er nysgerrige. For nyligt blev der lavet et forsøg, hvor 297 USB nøgler blev smidt rundt omkring på et Universitetsområde. USB nøglen indeholdt noget "malware" som blot "ringede hjem" hvis den blev sat i en maskine. Af de 297 USB nøgler som blev "tabt", blev 45% sat i maskiner.

Som nævnt, så udnyttes netop menneskers svagheder, for at trænge ind i netværk og virksomheder, enten fysisk eller virtuelt. Dette kaldes også for Social Engineering. Medarbejderne skal altså opdrages til at være mere mistænksomme. Ikke åbne vedhæftede filer fra ukendte afsendere, passe på med at åbne vedhæftede filer fra kendte afsendere, aldrig udlevere brugernavn og password via mails/telefon opkald, hvis man går på sikre sider skal man være sikker på at adressen er korrekt osv. er de gængse regler. Generelt brug den sunde fornuft og sørg for at have gode procedurer i virksomheden. Sørg også for at uddanne medarbejderne i virksomhedens procedurer og best-practices og sørg for at holde det opdateret Husk på, at mange af en virksomheds sikkerhedsbrud kan tilskrives medarbejderne, om det så er i god eller ond tro.

Denne video er faktisk ret interessant og viser et eksempel på hvor let social engineering kan være: https://www.youtube.com/watch?v=lc7scxvKQOo



Dette var lidt om sikring af ens infrastruktur. Listen er langt fra udtømmende og kun behandlet på et overordnet niveau. Jeg vil ikke afvise jeg kunne bliver inspireret til at skrive lidt mere en anden gang. Forhåbentligt kunne disse indlæg dog være med til at give lidt inspiration til hvor netop Jeres virksomhed kunne forbedre sikkerheden. Jeg ved godt at alle disse råd ikke kan implementeres fra én dag til en anden, men så må man tage dem lidt ad gangen. Husk dog på, at sikkerhed ikke er statisk og løbende skal evalueres og tilpasses.

Skulle denne blog give anledning til nogen spørgsmål, er I selvfølgelig velkommen til at kontakte os/mig.

God Jul og Godt Nytår :o)

Ingen kommentarer:

Send en kommentar