Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Docker är en av de mest använda containeriseringsplattformarna och är mycket älskad bland mjukvaruingenjörer. Den levereras med ett kraftfullt CLI-verktyg för att hantera Docker-behållare och andra relaterade uppgifter.

Som standard behöver du root-privilegier för att köra alla Docker-relaterade kommandon på Linux. Naturligtvis kan du ändra detta för enkelhetens skull och köra Docker-kommandon utan root-privilegier, men du bör vara medveten om säkerhetskonsekvenserna.

Vad är Docker Attack Surface?

En attackyta är antalet attackpunkter, mer som antalet fönster, som en illvillig användare kan använda för att komma in i ditt system och orsaka förödelse. Som en tumregel bör IT-system ha minimala attackytor för att minska säkerhetsrisker.

I allmänhet är Dockers attackyta väldigt minimal. Behållare körs i en säker isolerad miljö och påverkar inte värdoperativsystemet om inte annat. Dessutom kör Docker-containrar endast minimala tjänster vilket gör det säkrare.

instagram viewer

Du kan konfigurera ditt Linux-system för att styra Docker utan sudo-privilegier. Detta kan vara bekvämt i utvecklingsmiljöer men kan vara en allvarlig säkerhetsrisk i produktionssystem. Och här är anledningen till att du aldrig ska köra Docker utan sudo.

1. Möjlighet att kontrollera Docker-containrar

Utan sudo-privilegierna kan alla som har tillgång till ditt system eller din server kontrollera alla aspekter av Docker. De har tillgång till dina Docker-loggfiler och kan stoppa och ta bort behållare efter eget behag eller av misstag. Du kan också förlora viktig data, vilket är avgörande för kontinuiteten i verksamheten.

Om du använder Docker-containrar i produktionsmiljöer resulterar stillestånd i en förlust av affärer och förtroende.

2. Få kontroll över värdoperativsystemets kataloger

Docker Volumes är en kraftfull tjänst som låter dig dela och bevara containerdata genom att skriva den till en angiven mapp på värdoperativsystemet.

Ett av de största hoten som att köra Docker utan sudo är att vem som helst på ditt system kan få kontroll över värdoperativsystemets kataloger, inklusive rotkatalogen.

Allt du behöver göra är att köra en Linux Docker-avbildning, till exempel Ubuntu-avbildningen, och montera den på rotmappen med följande kommando:

docker run -ti -v /:/hostproot ubuntu bash

Och eftersom Linux Docker-behållare körs som rotanvändare betyder det i huvudsak att du har tillgång till hela rotmappen.

Ovannämnda kommando kommer att ladda ner och köra den senaste Ubuntu-avbildningen och montera den i rotkatalogen.

På Docker containerterminal, gå till /hostproot katalog med hjälp av cd-kommandot:

CD /hostproot

Lista innehållet i den här katalogen med kommandot ls visar alla filer från värdoperativsystemet som nu är tillgängliga i din behållare. Nu kan du manipulera filer, visa hemliga filer, dölja och ta bort filer, ändra behörigheter etc.

3. Installera skadlig programvara

En välgjord Docker-bild kan köras i bakgrunden och manipulera ditt system eller samla in känslig data. Ännu värre, en illvillig användare kan sprida skadlig kod på ditt nätverk via Docker-behållare.

Det finns flera praktiska användningsfall av Docker-containrar, och med varje applikation kommer en annan uppsättning säkerhetshot.

Säkra dina Docker-containrar på Linux

Docker är en kraftfull och säker plattform. Att köra Docker utan sudo ökar din attackyta och gör ditt system sårbart. I produktionsmiljöer rekommenderas starkt att du använder sudo med Docker.

Med så många användare på ett system blir det extremt svårt att tilldela behörigheter till varje användare. I sådana fall kan det hjälpa dig att upprätthålla säkerheten för ditt system genom att följa de bästa rutinerna för åtkomstkontroll.