Sikkerhet

Hvordan sette opp Linux Chroot-fengsler

Hvordan sette opp Linux Chroot-fengsler
Spesielt de som er dedikert til kritiske tjenester, krever Linux-systemer kunnskapsnivå for å jobbe med og kjerne sikkerhetstiltak.

Dessverre, selv etter å ha tatt viktige sikkerhetstiltak, finner sikkerhetsproblemer fremdeles veien inn i sikre systemer. En måte å administrere og beskytte systemet ditt på er å begrense skadene som er mulige når et angrep oppstår.

I denne veiledningen vil vi diskutere prosessen med å bruke chroot-fengsel for å håndtere systemskader i tilfelle et angrep. Vi vil se på hvordan man kan isolere prosesser og underprosesser til et bestemt miljø med falske rotprivilegier. Å gjøre dette vil begrense prosessen til en bestemt katalog og nekte tilgang til andre systemområder.

En kort introduksjon til chroot fengsel

Et chroot-fengsel er en metode for å isolere prosesser og deres underprosess fra hovedsystemet ved hjelp av falske rotprivilegier.

Å isolere en bestemt prosess ved hjelp av falske rotprivilegier begrenser som nevnt skader i tilfelle et ondsinnet angrep. Chrooted-tjenester er begrenset til kataloger og filer i katalogene, og er ikke vedvarende ved omstart av tjenesten.

Hvorfor bruke chroot fengsel

Hovedformålet med chroot-fengsel er som et sikkerhetstiltak. Chroot er også nyttig når du gjenoppretter tapte passord ved å montere enheter fra live media.

Det er forskjellige fordeler og ulemper ved å sette chroot-fengsel. Disse inkluderer:

Fordeler

Ulemper

Hvordan lage et grunnleggende chroot-fengsel

I denne prosessen vil vi lage et grunnleggende chroot-fengsel med 3 kommandoer begrenset til den mappen. Dette vil illustrere hvordan du oppretter et fengsel og tilordner forskjellige kommandoer.

Start med å lage en hovedmappe. Du kan tenke på denne mappen som / mappen i hovedsystemet. Navnet på mappen kan være hva som helst. I vårt tilfelle kaller vi det / chrootjail

sudo mkdir / chrootjail

Vi vil bruke denne katalogen som den falske roten som inneholder kommandoene vi vil tildele den. Med kommandoene vi bruker, krever vi bin-katalogen (inneholder kommandoen kjørbare filer) og osv., katalog (inneholder konfigurasjonsfiler for kommandoene).

Opprett disse to mappene i / chrootjail-mappen:

sudo mkdir / chrootjail / etc, bin

Neste trinn er å lage kataloger for dynamisk koblede biblioteker for kommandoene vi vil ha med i fengselet. For dette eksemplet bruker vi kommandoer bash, ls og grep.

Bruk ldd-kommandoen til å liste opp avhengighetene til disse kommandoene, som vist nedenfor:

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

Hvis du ikke er i papirkurvmappen, må du passere hele banen for kommandoene du vil bruke. For eksempel ldd / bin / bash eller ldd / bin / grep

Fra ldd-utgangen ovenfor trenger vi katalogene lib64 og / lib / x86_64-linux-gnu. Opprett disse mappene i fengselkatalogen.

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

Når vi har opprettet de dynamiske bibliotekbøkene, kan vi liste dem ved hjelp av et tre, som vist nedenfor:

Når vi utvikler oss, vil du begynne å få et klart bilde av hva en chroot-fengsel betyr.

Vi lager et miljø som ligner på en vanlig rotkatalog i et Linux-system. Forskjellen er at innenfor dette miljøet er bare spesifikke kommandoer tillatt, og tilgang er begrenset.

Nå som vi har laget søpla. etc., lib og lib64, kan vi legge til de nødvendige filene i deres respektive kataloger.

La oss starte med binærfiler.

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

Etter å ha kopiert binærfiler for kommandoene vi trenger, trenger vi bibliotekene for hver kommando. Du kan bruke kommandoen ldd til å vise filene som skal kopieres.

La oss starte med bash. For bash krever 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 å kopiere alle disse filene en etter en, kan vi bruke en enkel for loop for å kopiere hvert bibliotek i alle bibliotekene til / chrootjail / lib / x86_64-linux-gnu

La oss gjenta denne prosessen for både ls og grep kommando:

For ls kommando:

For grep-kommando:

Deretter, inne i lib64-katalogen, har vi ett delt bibliotek på tvers av alle binærfiler. Vi kan bare kopiere den ved hjelp av en enkel cp-kommando:

La oss deretter redigere den viktigste bash-påloggingsfilen (ligger i / etc / bash.bashrc i Debian) slik at vi kan tilpasse bash-meldingen etter eget ønske. Ved hjelp av et enkelt ekko- og tee-kommandoer som vist:

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

Når vi har fullført alle trinnene ovenfor, kan vi logge på fengselsmiljøet ved hjelp av chroot-kommandoen som vist.

sudo chroot / chrootjail / bin / bash

Du vil få rotprivilegier med ledeteksten som ligner på de som er opprettet i ekko- og tee-kommandoen ovenfor.

Når du har logget inn, vil du se at du bare har tilgang til kommandoene du inkluderte da du opprettet fengselet. Hvis du trenger flere kommandoer, må du legge dem til manuelt.

MERK: Siden du har inkludert bash shell, vil du ha tilgang til alle bash innebygde kommandoer. Dermed kan du gå ut av fengselet ved hjelp av kommandoen exit.

Konklusjon

Denne opplæringen dekket hva chroot fengsel er, og hvordan vi kan bruke det til å skape et isolert miljø fra hovedsystemet. Du kan bruke teknikkene som er diskutert i guiden kan for å skape isolerte miljøer for kritiske tjenester.

For å øve på det du har lært, kan du prøve å opprette et apache2-fengsel.

HINT: Start med å opprette en rotkatalog, legg til konfigurasjonsfilene (etc / apache2), legg til dokumentroten (/ var / www / html), legg til binær (/ usr / sbin / apache2) og til slutt legg til de nødvendige bibliotekene (ldd / usr / sbin / apache2)

Mus Midterste museknapp fungerer ikke i Windows 10
Midterste museknapp fungerer ikke i Windows 10
De midtre museknapp hjelper deg med å bla gjennom lange websider og skjermer med mye data. Hvis det stopper, vil du ende opp med å bruke tastaturet ti...
Mus Hvordan endre venstre og høyre museknapp på Windows 10 PC
Hvordan endre venstre og høyre museknapp på Windows 10 PC
Det er ganske vanlig at alle datamusenheter er ergonomisk designet for høyrehendte brukere. Men det er tilgjengelige musenheter som er spesielt design...
Mus Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Etterlig museklikk ved å sveve med Clickless Mouse i Windows 10
Bruk av mus eller tastatur i feil stilling for overdreven bruk kan føre til mange helseproblemer, inkludert belastning, karpaltunnelsyndrom og mer. I ...