Valitettavasti turvatoimien haavoittuvuudet löytävätkin tärkeiden turvatoimenpiteiden jälkeen tiensä turvallisiin järjestelmiin. Yksi tapa hallita ja suojata järjestelmää on rajoittamalla mahdollisia vahinkoja hyökkäyksen tapahtuessa.
Tässä opetusohjelmassa keskustelemme prosessista, jolla chroot vankilaa käytetään järjestelmävahinkojen hallintaan hyökkäyksen yhteydessä. Tarkastelemme, kuinka prosessit ja aliprosessit voidaan eristää tiettyyn ympäristöön väärillä juurioikeuksilla. Tämän tekeminen rajoittaa prosessin tiettyyn hakemistoon ja estää pääsyn muille järjestelmäalueille.
Lyhyt esittely chroot-vankilaan
Chroot-vankila on menetelmä prosessien ja niiden aliprosessin eristämiseksi pääjärjestelmästä väärien juurioikeuksien avulla.
Kuten jo mainittiin, tietyn prosessin eristäminen väärennettyjen juurioikeuksien avulla rajoittaa vahingon määrää vahingollisen hyökkäyksen tapauksessa. Chrooted-palvelut rajoittuvat hakemistoihin ja niiden hakemistoihin sisältyviin tiedostoihin, eivätkä ne ole jatkuvia palvelun uudelleenkäynnistyksen yhteydessä.
Miksi kannattaa käyttää chroot-vankilaa
Chroot-vankilan päätarkoitus on turvatoimenpide. Chroot on hyödyllinen myös palautettaessa kadonneita salasanoja asentamalla laitteita elävältä medialta.
Chroot-vankilan asettamisessa on useita etuja ja haittoja. Nämä sisältävät:
Edut
- Rajoittaa pääsyä: Tietoturvariskien sattuessa ainoat vahingoittuneet hakemistot ovat chroot-vankilassa olevia.
- Komentorajoitukset: Käyttäjät tai prosessit rajoittuvat vankilassa sallittuihin komentoihin.
Haitat
- Asennus voi olla haastavaa.
- Se vaatii paljon työtä - Jos tarvitset ylimääräisen komennon kuin oletuksena sallitut, sinun on sisällytettävä se manuaalisesti.
Kuinka luoda perus Chroot-vankila
Tässä prosessissa luomme chroot-vankilan, jossa on 3 komentoa, jotka on rajoitettu kyseiseen kansioon. Tämä auttaa havainnollistamaan vankilan luomista ja erilaisten komentojen määrittämistä.
Aloita luomalla pääkansio. Voit ajatella tätä kansiota pääkansiossa olevana / kansiona. Kansion nimi voi olla mikä tahansa. Meidän tapauksessamme kutsumme sitä / chrootjailiksi
sudo mkdir / chrootjailKäytämme tätä hakemistoa väärennösjuurena, joka sisältää sille osoitettavat komennot. Käyttämissämme komennoissa vaaditaan bin-hakemisto (sisältää komentotiedostot) ja jne., hakemisto (sisältää komentojen määritystiedostot).
Luo nämä kaksi kansiota / chrootjail -kansioon:
sudo mkdir / chrootjail / jne., bin
Seuraava vaihe on luoda hakemistot dynaamisesti linkitetyille kirjastoille komennoille, jotka haluamme sisällyttää vankilaan. Tässä esimerkissä käytämme bash-, ls- ja grep-komentoja.
Käytä ldd-komentoa luetellaksesi näiden komentojen riippuvuudet alla olevan kuvan mukaisesti:
sudo ldd / bin / bash / bin / ls / bin / grep
Jos et ole roskakorikansiossa, sinun on annettava täydellinen polku komennoille, joita haluat käyttää. Esimerkiksi ldd / bin / bash tai ldd / bin / grep
Yllä olevasta ldd-lähdöstä tarvitaan lib64- ja / lib / x86_64-linux-gnu -hakemistot. Luo nämä kansiot vankilahakemiston sisällä.
sudo mkdir -p / chrootjail lib / x86_64-linux-gnu, lib64Kun olemme luoneet dynaamiset kirjastohakemistot, voimme luetteloida ne puun avulla, kuten alla on esitetty:
Kun etenemme, alat saada selkeä kuva siitä, mitä chroot-vankila tarkoittaa.
Luomme ympäristön, joka on samanlainen kuin Linux-järjestelmän tavallinen juurihakemisto. Erona on, että tässä ympäristössä sallitaan vain tietyt komennot, ja pääsy on rajoitettua.
Nyt kun olemme luoneet roskakorin. jne., lib ja lib64, voimme lisätä vaaditut tiedostot vastaaviin hakemistoihinsa.
Aloitetaan binääreistä.
sudo cp / bin / bash / chrootjail / bin && sudo cp / bin / ls / chrootjail / bin && sudo cp / bin / grep / chrootjail / bin
Kopioimalla tarvittavien komentojen binäärit tarvitsemme kirjastot jokaiselle komennolle. Voit käyttää kopioitavia tiedostoja ldd-komennolla.
Aloitetaan bashilla. Bashille vaaditaan seuraavat kirjastot:
/ lib / x86_64-linux-gnu / libtinfo.niin.6/ lib / x86_64-linux-gnu / libdl.niin.2
/ lib / x86_64-linux-gnu / libc.niin.6
/ lib64 / ld-linux-x86-64.niin.2
Sen sijaan, että kopioisimme kaikki nämä tiedostot yksitellen, voimme käyttää yksinkertaista silmukkaa -toimintoa kaikkien kirjastojen kaikkien kirjastojen kopioimiseksi kansioon / chrootjail / lib / x86_64-linux-gnu
Toistetaan tämä prosessi sekä ls- että grep-komennoille:
Ls-komennolle:
Grep-komento:
Seuraavaksi lib64-hakemistossa on yksi jaettu kirjasto kaikissa binääreissä. Voimme yksinkertaisesti kopioida sen yksinkertaisella cp-komennolla:
Seuraavaksi muokkaamme pääkäyttäjän bash-kirjautumistiedostoa (sijaitsee / etc / bash.bashrc Debianissa), jotta voimme säätää bash-kehotetta mieltymystemme mukaan. Yksinkertaisten kaiku- ja tee-komentojen käyttäminen kuvan osoittamalla tavalla:
sudo echo 'PS1 = "CHROOTJAIL #"' | sudo tee / chrootjail / etc / bash.bashrcKun kaikki yllä olevat vaiheet on suoritettu, voimme kirjautua vankilaympäristöön käyttämällä chroot-komentoa kuvan mukaisesti.
sudo chroot / chrootjail / bin / bashSaat pääkäyttöoikeudet kehotteella, joka on samanlainen kuin yllä olevassa kaiku- ja tee-komennossa luodut.
Kun kirjaudut sisään, huomaat, että sinulla on pääsy vain komentoihin, jotka sisällytit vankilaan. Jos tarvitset lisää komentoja, sinun on lisättävä ne manuaalisesti.
MERKINTÄ: Koska olet sisällyttänyt bash-kuoren, sinulla on pääsy kaikkiin bashin sisäänrakennettuihin komentoihin. Tämän avulla voit poistua vankilasta exit -komennolla.
Johtopäätös
Tämä opetusohjelma käsitteli mitä chroot vankila on ja kuinka voimme käyttää sitä luoda eristetty ympäristö pääjärjestelmästä. Voit luoda oppaassa käsitellyillä tekniikoilla erillisiä ympäristöjä kriittisille palveluille.
Yritä luoda apache2-vankila harjoitellaksesi oppimaasi.
VIHJE: Aloita luomalla juurihakemisto, lisää määritystiedostot (etc / apache2), asiakirjan juuret (/ var / www / html), binaariset tiedostot (/ usr / sbin / apache2) ja lopuksi vaaditut kirjastot (ldd / usr / sbin / apache2)