säkerhet

Så här ställer du in Linux Chroot-fängelser

Så här ställer du in Linux Chroot-fängelser
Speciellt de som är dedikerade till kritiska tjänster, Linux-system kräver kunskaper på expertnivå för att arbeta med och grundläggande säkerhetsåtgärder.

Tyvärr, även efter att ha tagit viktiga säkerhetsåtgärder, hittar säkerhetsproblem fortfarande in i säkra system. Ett sätt att hantera och skydda ditt system är att begränsa skadan som är möjlig när en attack inträffar.

I denna handledning diskuterar vi processen med att använda chroot-fängelse för att hantera systemskador vid en attack. Vi kommer att titta på hur man isolerar processer och delprocesser till en viss miljö med falska root-privilegier. Genom att göra detta begränsas processen till en viss katalog och nekas åtkomst till andra systemområden.

En kort introduktion till chroot-fängelse

Ett chroot-fängelse är en metod för att isolera processer och deras underprocess från huvudsystemet med falska root-privilegier.

Som nämnts begränsar skadorna vid en skadlig attack att isolera en viss process med falska rotprivilegier. Chrooted-tjänster är begränsade till kataloger och filer i sina kataloger och är inte beständiga vid omstart av tjänsten.

Varför använda chroot-fängelse

Huvudsyftet med chroot-fängelse är som en säkerhetsåtgärd. Chroot är också användbart när du återställer förlorade lösenord genom att montera enheter från live media.

Det finns olika fördelar och nackdelar med att sätta chroot-fängelse. Dessa inkluderar:

Fördelar

Nackdelar

Hur man skapar ett grundläggande fängelse för chroot

I den här processen skapar vi ett grundläggande chroot-fängelse med tre kommandon begränsade till den mappen. Detta hjälper till att illustrera hur man skapar ett fängelse och tilldelar olika kommandon.

Börja med att skapa en huvudmapp. Du kan tänka på den här mappen som / mappen i huvudsystemet. Mappens namn kan vara vad som helst. I vårt fall kallar vi det / chrootjail

sudo mkdir / chrootjail

Vi kommer att använda den här katalogen som den falska roten som innehåller de kommandon vi kommer att tilldela den. Med de kommandon som vi använder kommer vi att kräva bin-katalogen (innehåller kommandokörbara filer) och osv., katalog (som innehåller konfigurationsfiler för kommandona).

Skapa dessa två mappar i mappen / chrootjail:

sudo mkdir / chrootjail / etc, bin

Nästa steg är att skapa kataloger för dynamiskt länkade bibliotek för de kommandon vi vill inkludera i fängelset. I det här exemplet använder vi kommandon bash, ls och grep.

Använd kommandot ldd för att lista beroenden för dessa kommandon, som visas nedan:

sudo ldd / bin / bash / bin / ls / bin / grep

Om du inte befinner dig i bin-mappen måste du skicka hela sökvägen för de kommandon du vill använda. Till exempel ldd / bin / bash eller ldd / bin / grep

Från ldd-utdata ovan behöver vi katalogerna lib64 och / lib / x86_64-linux-gnu. Skapa dessa mappar i fängelsekatalogen.

sudo mkdir -p / chrootjail lib / x86_64-linux-gnu, lib64

När vi väl har skapat de dynamiska bibliotekskatalogerna kan vi lista dem med ett träd, som visas nedan:

När vi går framåt kommer du att få en tydlig bild av vad ett chrootfängelse betyder.

Vi skapar en miljö som liknar en vanlig rotkatalog för ett Linux-system. Skillnaden är att inom denna miljö är endast specifika kommandon tillåtna och åtkomst är begränsad.

Nu när vi har skapat papperskorgen. etc., lib och lib64 kan vi lägga till de filer som krävs i deras respektive kataloger.

Låt oss börja med binärfilerna.

sudo cp / bin / bash / chrootjail / bin && sudo cp / bin / ls / chrootjail / bin && sudo cp / bin / grep / chrootjail / bin

Efter att ha kopierat binärfilerna för de kommandon vi behöver behöver vi biblioteken för varje kommando. Du kan använda kommandot ldd för att visa filerna som ska kopieras.

Låt oss börja med bash. För bash kräver vi följande bibliotek:

/ lib / x86_64-linux-gnu / libtinfo.så.6
/ lib / x86_64-linux-gnu / libdl.så.2
/ lib / x86_64-linux-gnu / libc.så.6
/ lib64 / ld-linux-x86-64.så.2

Istället för att kopiera alla dessa filer en efter en, kan vi använda en enkel för loop för att kopiera varje bibliotek i alla bibliotek till / chrootjail / lib / x86_64-linux-gnu

Låt oss upprepa denna process för både ls och grep-kommandot:

För ls kommando:

För grep-kommando:

Därefter har vi ett delat bibliotek i alla binära filer i katalogen lib64. Vi kan helt enkelt kopiera det med ett enkelt cp-kommando:

Låt oss sedan redigera bash-inloggningsfilen (finns i / etc / bash.bashrc i Debian) så att vi kan justera bash-prompten efter eget tycke. Med ett enkelt eko- och tee-kommando som visas:

sudo echo 'PS1 = "CHROOTJAIL #"' | sudo tee / chrootjail / etc / bash.bashrc

När vi har slutfört alla stegen ovan kan vi logga in i fängelsemiljön med chroot-kommandot som visas.

sudo chroot / chrootjail / bin / bash

Du får rootprivilegier med prompten som liknar dem som skapats i eko- och tee-kommandot ovan.

När du har loggat in ser du att du bara har tillgång till de kommandon du inkluderade när du skapade fängelset. Om du behöver fler kommandon måste du lägga till dem manuellt.

NOTERA: Eftersom du har inkluderat bash-skalet kommer du att ha tillgång till alla inbyggda bash-kommandon. På så sätt kan du lämna fängelset med kommandot exit.

Slutsats

Denna handledning behandlade vad chroot-fängelse är och hur vi kan använda det för att skapa en isolerad miljö från huvudsystemet. Du kan använda de tekniker som diskuteras i guiden för att skapa isolerade miljöer för kritiska tjänster.

För att öva på vad du har lärt dig, försök skapa ett apache2-fängelse.

LEDTRÅD: Börja med att skapa en rotkatalog, lägg till konfigurationsfilerna (etc / apache2), lägg till dokumentroten (/ var / www / html), lägg till den binära (/ usr / sbin / apache2) och slutligen lägg till önskade bibliotek (ldd / usr / sbin / apache2)

Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...
Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...
Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...