Turvallisuus

Kuinka asentaa Linux Chroot Jails

Kuinka asentaa Linux Chroot Jails
Erityisesti kriittisille palveluille omistetut Linux-järjestelmät edellyttävät asiantuntijatason tietämystä työskennellessään ja ydinturvallisuustoimenpiteitä.

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

Haitat

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 / chrootjail

Kä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, lib64

Kun 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.bashrc

Kun kaikki yllä olevat vaiheet on suoritettu, voimme kirjautua vankilaympäristöön käyttämällä chroot-komentoa kuvan mukaisesti.

sudo chroot / chrootjail / bin / bash

Saat 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)

Command Line Apps to View CPU and GPU Temperature in Linux
Many Linux distributions ship with applets and widgets to view information about hardware sensors and their respective temperature values. Third party...
How to Limit CPU Usage of a Process on Linux
In your Linux lifetime, you must've seen some processes take up all the CPU cycles (90-99% CPU usage), making your computer nearly unresponsive till i...
Hakemiston Rsyncin poissulkeminen?
Rsync (tarkoittaa etäsynkronointia) on erittäin tehokas komentorivi-apuohjelma paikallisten ja etätiedostojen ja hakemistojen synkronointiin. Se on es...