8.4Säkerhetsstrategier
När man beslutar om en säkerhetsstrategi för en organisation är det viktigt att alla inblandade får säga sin mening för att de skall känna sig tillfreds med säkerhetssystemet. På så sätt minskar risken att någon inom organisationen skapar genvägar för sitt personliga arbete. Genvägar som kan utgöra säkerhetsrisker. Till exempel sätter någon upp en modemförbindelse till systemdelar som annars varit skyddade av en brandvägg. Även externa faktorer påverkar valet av säkerhetsstrategi (vad kräver eventuella samarbetspartners och Riksrevisionsverket m.fl. ).
Man ska heller inte heller förlita sig på att man kan skydda sig mot att en inkräktare tar sig in i systemet. Om han väl lyckas ta sig in ska man se till att han kan göra så lite skada som möjligt, t.ex. genom att man väljer behörigheter på lämpligt sätt. I UNIX finns ett program som heter Cops (fritt tillgängligt på Internet) som kan hjälpa systemadministratören med detta arbete. En viktig princip är att aldrig ge användarna större behörigheter än vad de absolut behöver. Det är t.ex. helt förkastligt att ge varje enskild användare systemets root-lösenord bara för att de skall kunna stänga och starta om utskriftssystemet om det skulle hänga sig. Eller att låta ett program köras som root bara för det ska kunna skriva i någon viss skrivskyddad fil.
Under inkräktarens väg att nå viktiga systemfunktioner ska han ha svårt att låta bli att röja sin existens. Till exempel genom att man beräknar checksummor på filstorlekar så att det syns om han t.ex. skulle lägga in en extra användare eller göra någon annan oönskad filförändring. Detta kan på UNIX system ske med ett program som heter Tripwire (fritt tillgängligt på Internet).
Man kan även göra s.k. wrapper program. Detta är skal runt program som kan utföra känsliga operationer i systemet. Innan den verkliga funktionen utförs träder skalet in och kan t.ex. logga vem som försökte utföra den. Det är vanligt att man använder dessa s.k. wrappers runt TCP/IP funktioner som t.ex. ftp, Telnet m.fl. Förutom att logga händelser kan man förhindra åtkomst på vissa tider av dygnet (t.ex. icke arbetstid). Det är även möjligt att på detta sätt modifiera mekanismer för start av vissa Internettjänster efter vem som begär tjänsten.
Man bör även utarbeta system för att övervaka svarstider. Förutom att dessa är bra att ha för att förutsäga när man behöver utvidga systemet, kan sådan statistik också ge fingervisningar om huruvida någon obehörig använder systemet.
Även om man loggar vad som sker kan man tänka sig att en skicklig inkräktare kan förstöra loggfilerna och därigenom förhindra att hans identitet röjs. För att förhindra detta kan det ibland, t.ex. om man misstänker ett pågående angrepp, vara lämpligt att skriva ut loggen på en skrivare.
Det är också viktigt att man själv försöker bryta sig in i systemet någon gång emellanåt för att se att det inte uppstått några säkerhetsluckor. Ett lämpligt program för att kontrollera säkerheten i UNIX system är Satan som liksom Tripwire och Cops kan hämtas fritt på Internet.
Rent allmänt är det viktigt att man inte enbart har ett skalförsvar utan även försvar på djupet. Man bör även se till att systemets användare inte har för enkla lösenord. Ett bra sätt att skapa lösenord som är enkla att komma ihåg men svåra att knäcka, är att välja en mening och ta första bokstaven i varje ord. Man bör även se till att lösenorden innehåller några siffror eller icke alfabetiska tecken. Ibland kan man använda dem 'onomatopoetiskt' för att kunna memorera dem enkelt. T.ex. memorera ordet båten men skriv bå10.
De flesta system lagrar lösenorden i krypterad form. Dessa krypterade lösenord skall naturligtvis inte vara tillgängliga för allmänheten. För att förhindra att någon stjäl ett lösenord och därigenom olovandes skaffar sig tillträde till systemet, bör man kontrollera att man inte genom att kryptera en känd ordlista bakvägen kan lista ut vad lösenorden är.
I UNIX-världen finns ett program, Crack (fritt tillgängligt på Internet), som gör just detta. Det är all idé för systemadministratörer att köra detta program på sina egna lösenordsfiler med jämna mellanrum. Om något lösenord skulle knäckas bör kontot omedelbart spärras och ägaren underrättas så att han kan byta lösenord.
Man bör också tänka på att byta lösenord med jämna mellanrum, systemet bör konfigureras så att det anmodar användarna att göra detta. Man bör även byta lösenord om man gjort en inloggning över en osäker, dvs. icke krypterad kanal, detta gäller speciellt lösenorden för systemadministratörerna.
Det enklaste sättet att få ett säkert system är att skapa ett allmänt säkerhetsmedvetande, och en förståelse för vad som är värt att skydda i den egna organisationen. Detta säkerhetstänkande bör genomsyra hela verksamheten och inte bara datoranvändningen. Det kan röra sig om enkla saker som att instruera medarbetarna att då de passerar en kodlåsförsedd dörr tillsammans med en tillfällig gäst slå några extra siffror och avsluta med den riktiga, för att det skall bli svårare att memorera koden. Eller en så enkel sak som att låsa sin kontorsdörr när man ej är där, för att inte tala om att aldrig lämna en dator i inloggat skick obevakad.
Det finns två vägar att gå då man bygger upp sin säkerhetsstrategi
- Allt förbjudet - utom det som uttryckligen är tillåtet, se figur 31,
Figur 37 Man försöker här avgöra den minsta mängd information som varje användare behöver för sitt arbete och begränsar hans möjliga informationsåtkomst till denna. Risken att man definierar denna minimala mängd alltför snävt är uppenbar, och att man på så sätt gör systemet onödigt svårarbetat.
Allt tillåtet - utom det som uttryckligen är förbjudet, se figur 38,
Figur 38 Här försöker man i stället låta användarna dela information så mycket som möjligt. Och gör bara begränsningar om det är absolut nödvändigt. Denna typ av strategier är lämpliga t.ex. för universitet och forskningsinstitutioner där verksamheten i sig är mer eller mindre publik
8.4.1Att detektera ett angrepp
Hur man detekterar angrepp beror naturligtvis på vilken typ av system man använder. Vanligtvis sker det genom följande metoder.
-
Övervakning för att detektera oväntade förändringar i systemets prestanda. Ofta det första tecknet som man märker. Kan t.ex. bero på att någon försöker utnyttja datorn för att knäcka lösenord.
-
Övervakning av diverse loggfiler över hur systemet utnyttjas, t.ex. varifrån ftp eller http anslutningar kommer. Om man ser anslutningar som normalt inte skall kunna ansluta bör man bli misstänksam. Än mera misstänksam bör man bli om dessa anslutningar varar under längre tid än normalt. (Exempel på logfiler som kan vara aktuella i ett UNIX system är messages, lastlog, ftp och http loggar. Beträffande filen messages bör man även kontrollera syslogd.conf så att en inkräktare ej ändrat vad eller hur loggning sker)
-
Övervakning av vem som använder systemet vid visa tidpunkter. Om någon som normalt inte arbetar vid en viss tid plötsligt och regelbundet är inloggad under denna kan man misstänka att någon olovandes utnyttjar hans användaridentitet.
-
Genom den oordning i systemet som inkräktaren ställer till. Detta kan låta drastiskt men om röran inskränker sig till brandväggsmaskinen och man har strikt övervakning (t.ex. genom ovannämnda Tripwire på en UNIX-maskin) över denna så att man hinner stoppa ett angrepp innan det når in i vitala delar av systemet. Detta är en bra metod.
-
Leta efter saknade logfiler, eller poster i logfiler som borde funnits där. Om delar av loggfiler är korrupta eller saknas kan man misstänka att någon försökt sopa igen spåren efter sin framfart.
-
Leta efter processer som inte borde köra.
-
Se om program för att övervaka systemet har modifierats. T.ex. genom att beräkna MD5 (Schneier, 1996) checksummor på programmen och jämföra dessa med checksummor som man vet är korrekta. (Glöm inte att kolla checksumman på MD5 programmet)
-
Kontrollera att behörigheter på viktiga filer inte förändrats på otillbörligt sätt. (Till exempel fått setuid-behörighet på ett UNIX-system)
Det finns ett flertal system för att automatisera och förenkla dessa övervakningsuppgifter.
8.4.2Åtgärder vid säkerhetsincident
1 Grips inte av panik.
En systemadministratör i paniktillstånd är en säkerhetsrisk i sig.
2 Dokumentera allt du gör och allt som händer i systemet.
När man upptäckt en attack är det första steget att besluta om lämplig motåtgärd. Vilken denna blir beror på om angriparen lyckats ta sig in i systemet, om så är fallet är tillståndet akut oavsett om inkräktaren är aktiv eller inte.
Misstänker man ett pågående inbrottsförsök bör man handla omedelbart även om det inte är samma paniksituation. Anses situationen allvarlig bör man bryta förbindelsen innan inkräktaren lyckats ta sig in i systemet. Utifrån informationsanalys bör man så långt det går spåra angriparen. Även om man inte kan komma så långt att man vid en rättegång kan få en fällande dom kan man ofta få inkräktarens Internetleverantör att sluta leverera Internettjänster till missdådaren.
8.4.3Hur håller man sig informerad?
Det kan kan lätt bli ett heltidsjobb för systemadministratören att via Internet hålla sig uppdaterad på de senaste metoderna att utnyttja svagheter i systemen för att bryta sig in. Det finns dock ett par organisationer listade nedan vars bulletiner och rekommendationer man bör studera noga. De flesta av dessa är helt UNIX-orienterade. Anledning till detta är dock troligen inte att UNIX skulle vara så mycket osäkrare än t.ex. Windows NT utan snarare att det tar fyra fem år innan man känner ett system så väl att man kan uttala sig om huruvida det är säkert eller inte. Med tanke på att Windows NT inte funnits så länge finns följaktligen inga oberoende säkerhetsexperter att tillfråga. Man är utlämnad till Microsofts egna experter.
bugtraq
E-postlista som detaljerat behandlar svagheter hos diverse UNIX system. Trafiken har ganska hög volym. För att prenumerera på listan skicka ett e-post innehållande "subscribe bugtraq" till listserv@netspace.org
CERT
Computer Emergency Response Team grundades 1989 av USA:s försvarsdepartement för att skydda Internets infrastruktur. Arbetet bedrivs vid Carnegie-Mellon University i Pittsburg av ett dussintal anställda som tar emot och analyserar rapporter från Internetanvändare och utifrån dessa sammanställer och ger ut varningar och rekommendationer om hur man höjer säkerheten. Deras råd görs tillgängliga via nyhetsgruppen comp.security.announce. CERT har även en ftp-server där såväl varje säkerhetsbulletin CERT givit ut som säkerhetsrelaterad programvara kan hämtas. Adressen är ftp://info.cert.org. CERT kan nås via e-post på adressen cert@cert.org. CERT rekommenderar att man krypterar sina brev. De stödjer kryptering enligt DES, PGP och PEM.
CIAC
Computer Incident Advisory Capability group. Det amerikanska energidepartementets datasäkerhetsorganisation. Håller ftp och http server med säkerhetsrelaterade dokument och program. Adresser: ftp://ciac.llnl.gov/pub/ciac/ , http://ciac.llnl.gov/, mailto:ciac@llnl.gov
COAST
Computer Operations, Audit and Security Technology. Ett projekt vid Purdue University, USA, för att höja nätverkssäkerheten. Har förutom en intressant ftp/webbplats ett nyhetsbrev om nätsäkerhetsfrågor. Adresser: ftp://coast.cs.purdue.edu, http://www.cs.purdue.edu/coast/coast.html, mailto:coast-reqest@cs.purdue.edu
News groups
När det gäller allmänna säkerhetsfrågor kan man följa någon av grupperna;
comp.sercurity.annonce, comp.security.misc, alt.security samt comp.security.unix den sistnämnda behandlar som namnet antyder säkerhet i UNIX-nät men kan vara läsvärd för den som sysslar med TCP/IP-baserade nät i största allmänhet.
När det gäller kryptografi finns följande intressanta grupper:
sci.crypt.comp security.pgp, comp.security.ripem, comp.protocols.kerberos
För frågor rörande brandväggar kan man vända sig till comp.security.firewalls
|