Sikkerhed

Sådan opsættes Linux Chroot-fængsler

Sådan opsættes Linux Chroot-fængsler
Især dem, der er dedikeret til kritiske tjenester, kræver Linux-systemer ekspertviden til at arbejde med og kernesikkerhedsforanstaltninger.

Desværre, selv efter at have taget vigtige sikkerhedsforanstaltninger, finder sikkerhedssårbarheder stadig vej ind i sikre systemer. En måde at administrere og beskytte dit system er ved at begrænse den mulige skade, når et angreb opstår.

I denne vejledning diskuterer vi processen med at bruge chroot-fængsel til at styre systemskader i tilfælde af et angreb. Vi ser på, hvordan man isolerer processer og underprocesser til et bestemt miljø med falske rodprivilegier. Hvis du gør dette, begrænses processen til en bestemt mappe og nægter adgang til andre systemområder.

En kort introduktion til chroot-fængsel

En chroot-fængsel er en metode til at isolere processer og deres underproces fra hovedsystemet ved hjælp af falske root-rettigheder.

Som nævnt begrænser skader i tilfælde af et ondsindet angreb isolering af en bestemt proces ved hjælp af falske rodprivilegier. Chrooted-tjenester er begrænset til mapper og filer i deres mapper og er ikke-vedvarende ved genstart af service.

Hvorfor bruge chroot fængsel

Hovedformålet med chroot-fængsel er som en sikkerhedsforanstaltning. Chroot er også nyttigt, når du gendanner mistede adgangskoder ved at montere enheder fra live medier.

Der er forskellige fordele og ulemper ved at indstille chroot-fængsel. Disse inkluderer:

Fordele

Ulemper

Sådan oprettes en grundlæggende fængsel til chroot

I denne proces opretter vi en grundlæggende chroot-fængsel med 3 kommandoer begrænset til den mappe. Dette hjælper med at illustrere, hvordan man opretter et fængsel og tildeler forskellige kommandoer.

Start med at oprette en hovedmappe. Du kan tænke på denne mappe som / mappen i hovedsystemet. Navnet på mappen kan være hvad som helst. I vores tilfælde kalder vi det / chrootjail

sudo mkdir / chrootjail

Vi bruger denne mappe som den falske rod, der indeholder de kommandoer, vi tildeler den. Med de kommandoer, vi bruger, kræver vi bin-biblioteket (indeholder kommandokørbare filer) og osv., bibliotek (indeholdende konfigurationsfiler til kommandoerne).

Inde i / chrootjail-mappen skal du oprette disse to mapper:

sudo mkdir / chrootjail / etc, bin

Det næste trin er at oprette mapper til dynamisk sammenkædede biblioteker til de kommandoer, vi vil medtage i fængslet. I dette eksempel bruger vi kommandoer bash, ls og grep.

Brug kommandoen ldd til at liste afhængighederne af disse kommandoer som vist nedenfor:

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

Hvis du ikke er inde i bin-mappen, skal du passere den fulde sti til de kommandoer, du ønsker at bruge. For eksempel ldd / bin / bash eller ldd / bin / grep

Fra ovenstående ldd-output har vi brug for bibliotekerne lib64 og / lib / x86_64-linux-gnu. Opret disse mapper inde i fængselsmappen.

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

Når vi først har oprettet de dynamiske biblioteksmapper, kan vi liste dem ved hjælp af et træ som vist nedenfor:

Efterhånden som vi skrider frem, vil du begynde at få et klart billede af, hvad en chrootfængsel betyder.

Vi skaber et miljø svarende til et normalt rodkatalog i et Linux-system. Forskellen er, at inden for dette miljø er kun specifikke kommandoer tilladt, og adgang er begrænset.

Nu hvor vi har oprettet skraldespanden. etc., lib og lib64, kan vi tilføje de krævede filer i deres respektive mapper.

Lad os starte med binærfiler.

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

Efter at have kopieret binærfilerne til de kommandoer, vi har brug for, kræver vi bibliotekerne til hver kommando. Du kan bruge kommandoen ldd til at se de filer, der skal kopieres.

Lad os starte med bash. For bash kræver vi følgende biblioteker:

/ 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

I stedet for at kopiere alle disse filer en efter en, kan vi bruge en simpel til loop til at kopiere hvert bibliotek i alle biblioteker til / chrootjail / lib / x86_64-linux-gnu

Lad os gentage denne proces for både ls og grep kommando:

For ls kommando:

For grep-kommando:

Dernæst har vi inden i lib64-biblioteket et delt bibliotek på tværs af alle binære filer. Vi kan simpelthen kopiere det ved hjælp af en simpel cp-kommando:

Lad os derefter redigere den vigtigste bash-loginfil (placeret i / etc / bash.bashrc i Debian), så vi kan tilpasse bash-prompten efter vores smag. Brug et simpelt ekko og tee-kommandoer som vist:

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

Når vi har gennemført alle ovenstående trin, kan vi logge ind i fængselsmiljøet ved hjælp af chroot-kommandoen som vist.

sudo chroot / chrootjail / bin / bash

Du får rodprivilegier med prompten svarende til dem, der er oprettet i ekko- og tee-kommandoen ovenfor.

Når du logger ind, vil du se, at du kun har adgang til de kommandoer, du inkluderede, da du oprettede fængslet. Hvis du har brug for flere kommandoer, skal du tilføje dem manuelt.

BEMÆRK: Da du har inkluderet bash shell, har du adgang til alle bash indbyggede kommandoer. Det giver dig mulighed for at forlade fængslet ved hjælp af kommandoen exit.

Konklusion

Denne vejledning dækkede, hvad chroot-fængsel er, og hvordan vi kan bruge det til at skabe et isoleret miljø fra hovedsystemet. Du kan bruge de teknikker, der er diskuteret i vejledningen, til at skabe isolerede miljøer til kritiske tjenester.

For at øve det, du har lært, skal du prøve at oprette et apache2-fængsel.

ANTYDNING: Start med at oprette en rodmappe, tilføj konfigurationsfilerne (etc / apache2), tilføj dokumentets rod (/ var / www / html), tilføj den binære (/ usr / sbin / apache2), og til sidst tilføj de nødvendige biblioteker (ldd / usr / sbin / apache2)

Mus Styr og administrer musebevægelse mellem flere skærme i Windows 10
Styr og administrer musebevægelse mellem flere skærme i Windows 10
Dual Display Mouse Manager lader dig kontrollere og konfigurere musebevægelse mellem flere skærme ved at bremse dens bevægelser nær grænsen. Windows 1...
Mus WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
WinMouse giver dig mulighed for at tilpasse og forbedre musemarkørens bevægelse på Windows-pc
Hvis du vil forbedre standardfunktionerne for din musemarkør, skal du bruge freeware WinMouse. Det tilføjer flere funktioner, der hjælper dig med at f...
Mus Museklik på venstre museknap fungerer ikke på Windows 10
Museklik på venstre museknap fungerer ikke på Windows 10
Hvis du bruger en dedikeret mus med din bærbare computer eller stationære computer, men musens venstre-klik-knap fungerer ikke på Windows 10/8/7 af en...