Sigurnost

Kako postaviti Linux Chroot zatvor

Kako postaviti Linux Chroot zatvor
Pogotovo oni posvećeni kritičnim uslugama, Linux sustavi zahtijevaju znanje na stručnoj razini za rad i osnovne sigurnosne mjere.

Nažalost, čak i nakon poduzimanja ključnih sigurnosnih mjera, sigurnosne ranjivosti i dalje pronalaze svoj put do sigurnih sustava. Jedan od načina upravljanja i zaštite vašeg sustava je ograničavanje moguće štete nakon napada.

U ovom uputstvu razgovarat ćemo o procesu korištenja chroot zatvora za upravljanje oštećenjima sustava u slučaju napada. Pogledat ćemo kako izolirati procese i potprocese u određeno okruženje s lažnim root privilegijama. To će ograničiti postupak na određeni direktorij i zabraniti pristup drugim područjima sustava.

Kratki uvod u chroot zatvor

Chroot zatvor je metoda izoliranja procesa i njihovog potprocesa iz glavnog sustava pomoću privilegija lažnih korijena.

Kao što je spomenuto, izoliranje određenog postupka korištenjem lažnih privilegija korijena ograničava štetu u slučaju zlonamjernog napada. Chrootirane usluge ograničene su na direktorije i datoteke unutar njihovih direktorija i nisu trajne nakon ponovnog pokretanja usluge.

Zašto koristiti chroot zatvor

Glavna svrha chroot zatvora je sigurnosna mjera. Chroot je također koristan kada oporavlja izgubljene lozinke postavljanjem uređaja s živih medija.

Postoje razne prednosti i nedostaci postavljanja Chroot zatvora. To uključuje:

Prednosti

Mane

Kako stvoriti osnovni zatvor za Chroot

U ovom ćemo procesu stvoriti osnovni chroot zatvor s 3 naredbe ograničene na tu mapu. To će vam pomoći ilustrirati kako stvoriti zatvor i dodijeliti razne naredbe.

Započnite stvaranjem glavne mape. O ovoj mapi možete razmišljati kao o / mapi u glavnom sustavu. Naziv mape može biti bilo koji. U našem slučaju to nazivamo / chrootjail

sudo mkdir / chrootjail

Koristit ćemo ovaj direktorij kao lažni korijen koji sadrži naredbe koje ćemo mu dodijeliti. Uz naredbe koje ćemo koristiti trebat će nam bin direktorij (sadrži izvršne datoteke naredbi) i, itd., direktorij (sadrži konfiguracijske datoteke za naredbe).

Unutar mape / chrootjail stvorite ove dvije mape:

sudo mkdir / chrootjail / itd, bin

Sljedeći je korak stvaranje direktorija za dinamički povezane knjižnice za naredbe koje želimo uključiti u zatvor. Za ovaj primjer koristit ćemo naredbe bash, ls i grep.

Upotrijebite ldd naredbu za popis ovisnosti ovih naredbi, kao što je prikazano dolje:

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

Ako niste unutar mape bin, morate proći puni put za naredbe koje želite koristiti. Na primjer, ldd / bin / bash ili ldd / bin / grep

Iz gornjeg izlaza ldd trebaju nam direktoriji lib64 i / lib / x86_64-linux-gnu. Stvorite ove mape unutar zatvorskog direktorija.

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

Nakon što kreiramo dinamičke direktorije knjižnica, možemo ih navesti pomoću stabla, kao što je prikazano dolje:

Kako napredujemo, počet ćete dobivati ​​jasnu sliku o tome što znači chroot zatvor.

Stvaramo okruženje slično normalnom korijenskom direktoriju Linux sustava. Razlika je u tome što su unutar ovog okruženja dopuštene samo određene naredbe i pristup je ograničen.

Sad kad smo stvorili kantu za smeće. itd., lib i lib64, možemo dodati potrebne datoteke unutar njihovih odgovarajućih direktorija.

Krenimo od binarnih datoteka.

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

Nakon kopiranja binarnih datoteka za naredbe koje su nam potrebne, potrebne su nam knjižnice za svaku naredbu. Pomoću naredbe ldd možete pregledati datoteke za kopiranje.

Krenimo od basha. Za bash su nam potrebne sljedeće knjižnice:

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

Umjesto da kopiramo sve ove datoteke jednu po jednu, možemo koristiti jednostavnu petlju for da bismo kopirali svaku knjižnicu u svim knjižnicama u / chrootjail / lib / x86_64-linux-gnu

Ponovimo ovaj postupak i za naredbu ls i grep:

Za naredbu ls:

Za naredbu grep:

Dalje, unutar direktorija lib64 imamo jednu zajedničku knjižnicu u svim binarnim datotekama. Jednostavno ga možemo kopirati pomoću jednostavne cp naredbe:

Dalje, uredimo glavnu datoteku za prijavu na bash (koja se nalazi u / etc / bash.bashrc u Debianu), tako da možemo prilagoditi bash odziv po svom ukusu. Korištenje jednostavnih naredbi eha i tee kao što je prikazano:

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

Nakon što dovršimo sve gornje korake, možemo se prijaviti u okruženje zatvora pomoću naredbe chroot kako je prikazano.

sudo chroot / chrootjail / bin / bash

Dobit ćete root privilegije s upitom sličnim onima stvorenim u gornjoj naredbi echo and tee.

Jednom kada se prijavite, vidjet ćete da imate pristup samo naredbama koje ste uključili kad ste stvarali zatvor. Ako vam je potrebno više naredbi, morate ih dodati ručno.

BILJEŠKA: Budući da ste uključili bash ljusku, imat ćete pristup svim bash ugrađenim naredbama. To vam omogućuje da izađete iz zatvora pomoću naredbe exit.

Zaključak

Ovaj je vodič objasnio što je chroot zatvor i kako ga možemo koristiti za stvaranje izoliranog okruženja od glavnog sustava. Tehnike o kojima se raspravlja u vodiču možete koristiti za stvaranje izoliranih okruženja za ključne usluge.

Da biste vježbali ono što ste naučili, pokušajte stvoriti zatvor apache2.

SAVJET: Počnite stvaranjem korijenskog direktorija, dodajte konfiguracijske datoteke (etc / apache2), dodajte korijen dokumenta (/ var / www / html), dodajte binarni (/ usr / sbin / apache2) i na kraju dodajte potrebne knjižnice (ldd / usr / sbin / apache2)

Kako promijeniti pokazivač miša i veličinu, boju i shemu pokazivača na sustavu Windows 10
Pokazivač i pokazivač miša u sustavu Windows 10 vrlo su važni aspekti operativnog sustava. To se može reći i za druge operativne sustave, tako da u is...
Besplatni i otvoreni kodni pokretački programi za razvoj Linux igara
Ovaj će članak pokriti popis besplatnih i open source pokretačkih igara koje se mogu koristiti za razvoj 2D i 3D igara na Linuxu. Brojni su takvi moto...
Vodič za Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider dvanaesti je dodatak seriji Tomb Raider - franšizi u akcijsko-avanturističkoj igri koju je stvorio Eidos Montreal. I kritiča...