Säker design och drift av Linux-miljöer


2018-12-19
Idag är det vanligt att företag använder Linux-datorer i sin IT-miljö. Kanske på webbservrar, Internet of Things-utrustning, fristående små en-funktionsdatorer eller på skrivbordet hos utvecklare. Detta är ställen där de stora möjligheterna att konfigurera systemen som Linux medför passar extra bra. Men vet driftsorganisationen om att de finns och ställer ledningen tydliga krav på driften av dessa enheter?

Det är inte helt ovanligt att ledningen tror att deras IT-miljö består av skrivbordsdator, som endast kör Windows. Driften av dem är dessutom outsourcad till ett lokalt IT-företag och kontraktet nämner bara Windows. De Linux-maskiner som finns tas om hand av en intresserad anställd eller sköts enskilt av de som använder dem.

Ett sådant arrangemang kan ge flexibel funktionalitet i ett kort tidsperspektiv, men är alltför beroende av individuella insatser för att kunna bidra till en stabil IT-miljö. För att tillgodose företagets behov även i framtiden behöver Linux-användningen formaliseras och sammanföras med den övriga IT-driften. Inte minst på grund av de säkerhetskrav som formellt eller informellt finns.

En svag länk räcker
För en fristående dator som sätts upp för en enda funktion, t.ex. att övervaka en verktygsmaskin eller visa en statusbildskärm, är det lätt att känna att det inte behövs någon hantering. Den ska ju bara göra en sak och inte hantera någon känslig information, så varför bry sig? Ett sådant system är dock väldigt åtråvärt för en angripare och många gånger det enklaste sättet att angripa de interna system som faktiskt hanterar känslig information. ”Fristående” system är därför precis lika viktiga att skydda som skrivbordsdatorer där företagshemliga dokument hanteras.

Konsten att hitta en balans
Att sköta en blandad IT-miljö behöver inte vara svårare än för en homogen, men det kräver bättre översikt och planering. Det går inte att bara använda de nyaste och häftigaste teknologierna, utan man måste begränsa sig till de som har bra stöd för hela IT-miljön, alternativt hitta bryggor som man kan sätta mellan olika delmiljöer.

Två av de mest fundamentala delsystemen i IT-miljön som påverkas av att den är heterogen är användarhantering och datalagring.

Användarhantering
De vanligaste valen för centraliserad användarhantering är idag Active Directory för Windows och LDAP med Kerberos för Linux. Dessa är inkompatibla, men bygger på samma teknik i grund och botten. På grund av denna gemensamma grund finns det en möjlighet att köra antingen ett system (Samba) som hanterar både Linux och Windows eller ett annat system (FreeIPA) som är en brygga däremellan. Vilken lösning som väljs är lika mycket en organisatorisk som teknisk fråga. Hanteras driften av Windows- och Linux-datorer i olika organisationer kanske det är bättre att även systemen är separata, medan en miljö som byggs från grunden med en gemensam organisation kanske vore bättre hanterad av ett gemensamt system.

Datalagring
Datalagring är ett svårare problem. Det finns risk för att den minsta gemensamma nämnaren ger oacceptabla brister i prestanda eller funktionalitet. De flesta datalagringssystem har möjligheten att använda flera protokoll samtidigt, t.ex. SMB till Windows och NFS till Linux, men då tillkommer administration och procedurer för att se till att dessa är konfigurerade identiskt och inte t.ex. behandlar åtkomstkontroll olika.

Systemövervakning, logghantering och konfigurationshantering
För andra delsystem i IT-miljön är valet enklare, antingen i.o.m. att det finns funktioner som klarar av att hantera alla datorplattformar eller för att det inte går att dela någonting. Systemövervakning och logghantering är exempel på den första kategorin, där t.ex. Zabbix, Nagios, Logstash och Splunk kan hantera både Windows och Linux. Ofta är verktygen i denna kategori sådana att de som kommer från Windows-sidan endast stödjer Windows, medan de från Linux-sidan stödjer båda. Konfigurationshantering är exempel på den andra kategorin, t.ex. att hantera Windows genom Active Directory och Linux genom Salt, Puppet eller liknande och sköta sammankopplingen genom att se till att de olika driftgrupperna läser samma policy.

En stabil plattform
Många IT-driftorganisationer har vant sig vid Microsofts Patch-tisdag, där uppdateringar släpps samlat en gång i månaden. Att då börja sköta en Linux-miljö där uppdateringar släpps flera gånger om dagen kan verka överväldigande. Det behöver dock inte vara svårare, bara annorlunda.

Användarna vill antagligen inte ha alla uppdateringar hela tiden, eftersom det skulle störa det dagliga arbetet. För att skapa en stabil plattform finns så kallade "enterprise" eller "long term support"-distributioner, som upprätthåller en bas för plattformen under flera år och bara uppdaterar när det behövs av säkerhetsskäl. Exempel på sådana är Red Hat Enterprise Linux, CentOS, SUSE Linux Enterprise Server, Debian Stable och Ubuntu Long Term Support.

Dessa distributioner har som policy att det skall vara riskfritt att installera alla uppdateringar. För den som har krav på lokal testning brukar det även gå bra att låsa system på en viss nivå och bara släppa in uppdateringar efter att de testats av IT-driftorganisationen.

Obehöriga enheter
När företaget har policy och driftmiljö på plats för hela sin flotta av IT-system är det även viktigt att se till att inga obehöriga enheter tillkommer. Åtkomstkontroll till nätverket kombinerat med övervakning av vilka enheter som finns kan effektivt förhindra närvaron av system som driftsorganisationen inte känner till. Tänk dock på att många av de okända datorer som ansluts kan vara av privat karaktär, t.ex. en anställd som i all välmening anser sig behöva verktyg som inte finns hos arbetsgivaren för att kunna göra sitt jobb mer effektivt.

Om de interna regelverken för IT-miljön känns omoderna eller bristfälliga, så finns det alltid kreativa anställda som lägger tid på att kringgå uppsatta säkerhetsfunktioner och använder ”alternativa” metoder istället. Det är inte så det ska behöva fungera i en organisation som vill ha kontroll på sin IT-miljö. Se därför till att ha regelverk som hanterar en heterogen IT-miljö.

Om ni har frågor eller funderingar på denna artikel, så är ni välkomna att höra av er!

- Karl-Johan, DinGard AB