Saugumas

Kaip nustatyti „Linux Chroot Jails“

Kaip nustatyti „Linux Chroot Jails“
Ypač tiems, kurie skirti svarbiausioms paslaugoms, „Linux“ sistemoms reikalingos eksperto lygio žinios ir pagrindinės saugos priemonės.

Deja, net ir imantis svarbiausių saugumo priemonių, saugumo spragos vis tiek patenka į saugias sistemas. Vienas iš būdų valdyti ir apsaugoti savo sistemą yra apriboti galimą žalą įvykus atakai.

Šioje pamokoje aptarsime chroot kalėjimo procesą sistemos pažeidimams valdyti atakos atveju. Mes pažvelgsime, kaip atskirti procesus ir antrinius procesus tam tikroje aplinkoje, turint klaidingas root teises. Tai atlikus, procesas bus apribotas konkrečiu katalogu ir bus uždrausta prieiga prie kitų sistemos sričių.

Trumpas įvadas į chroot kalėjimą

„Chroot“ kalėjimas yra būdas atskirti procesus ir jų antrinį procesą nuo pagrindinės sistemos naudojant neteisingas root teises.

Kaip minėta, atskyrus konkretų procesą naudojant netikras pagrindines teises, ribojama žala kenkėjiškos atakos atveju. „Chrooted“ paslaugos yra skirtos tik jų katalogų katalogams ir rinkmenoms ir yra nepertraukiamos paleidus paslaugą iš naujo.

Kodėl verta naudoti chroot kalėjimą

Pagrindinis chroot kalėjimo tikslas yra saugumo priemonė. „Chroot“ taip pat naudinga atkuriant prarastus slaptažodžius, pritvirtinant įrenginius iš tiesioginės terpės.

Yra įvairių pranašumų ir trūkumų nustatant chroot kalėjimą. Jie apima:

Privalumai

Trūkumai

Kaip sukurti pagrindinę Chroot kalėjimą

Šiame procese sukursime pagrindinį chroot kalėjimą su 3 komandomis, apribotomis tame aplanke. Tai padės parodyti, kaip sukurti kalėjimą ir priskirti įvairias komandas.

Pradėkite nuo pagrindinio aplanko sukūrimo. Jūs galite galvoti apie šį aplanką kaip / aplanką pagrindinėje sistemoje. Aplanko pavadinimas gali būti bet koks. Mūsų atveju tai vadiname / chrootjail

sudo mkdir / chrootjail

Šį katalogą naudosime kaip netikrą šaknį su komandomis, kurias jam priskirsime. Su komandomis, kurias naudosime, mums reikės šiukšliadėžės katalogo (kuriame yra vykdomieji failai) ir kt., katalogas (kuriame yra komandų konfigūracijos failai).

Aplanke / chrootjail sukurkite šiuos du aplankus:

sudo mkdir / chrootjail / ir tt, bin

Kitas žingsnis - sukurti katalogus dinamiškai susietoms bibliotekoms komandoms, kurias norime įtraukti į kalėjimą. Šiame pavyzdyje naudosime komandas „bash“, „ls“ ir „grep“.

Naudokite komandą ldd, kad išvardytumėte šių komandų priklausomybes, kaip parodyta žemiau:

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

Jei esate ne šiukšliadėžės aplanke, turite pereiti visą komandų, kurias norite naudoti, kelią. Pvz., Ldd / bin / bash arba ldd / bin / grep

Iš aukščiau esančios ldd išvesties mums reikia katalogų lib64 ir / lib / x86_64-linux-gnu. Kalėjimo kataloge sukurkite šiuos aplankus.

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

Sukūrę dinaminius bibliotekos katalogus, galime juos išvardyti naudodami medį, kaip parodyta žemiau:

Kai progresuosime, pradėsite susidaryti aiškų vaizdą apie tai, ką reiškia chroot kalėjimas.

Mes kuriame aplinką, panašią į įprastą „Linux“ sistemos šakninį katalogą. Skirtumas yra tas, kad šioje aplinkoje leidžiamos tik konkrečios komandos, o prieiga yra ribota.

Dabar, kai sukūrėme šiukšliadėžę. ir pan., lib ir lib64, reikiamus failus galime įtraukti į atitinkamus katalogus.

Pradėkime nuo dvejetainių failų.

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

Nukopijavę mums reikalingų komandų dvejetainius failus, kiekvienai komandai reikalingos bibliotekos. Norėdami peržiūrėti kopijuojamus failus, galite naudoti komandą „ldd“.

Pradėkime nuo bash. „Bash“ reikalingos šios bibliotekos:

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

Užuot kopijavę visus šiuos failus po vieną, galime naudoti „loop for“, kad nukopijuotume kiekvieną biblioteką visose bibliotekose į / chrootjail / lib / x86_64-linux-gnu

Pakartokime šį procesą tiek komandai ls, tiek grep:

Komandai „ls“:

Grep komandai:

Toliau, lib64 kataloge, turime vieną bendrą biblioteką visuose dvejetainiuose failuose. Mes galime jį tiesiog nukopijuoti naudodami paprastą cp komandą:

Tada redaguokime pagrindinį „bash“ prisijungimo failą (esantį / etc / bash.„bashrc“ Debian'e), kad galėtume patobulinti „bash“ raginimą pagal savo skonį. Naudojant paprastas echo ir tee komandas, kaip parodyta:

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

Atlikę visus aukščiau nurodytus veiksmus, galime prisijungti prie kalėjimo aplinkos naudodami komandą chroot, kaip parodyta.

sudo chroot / chrootjail / bin / bash

Jūs gausite root teises naudodami raginimą, panašų į tą, kuris sukurtas aukščiau esančioje komandoje echo ir tee.

Prisijungę pamatysite, kad turite prieigą tik prie komandų, kurias įtraukėte kurdami kalėjimą. Jei jums reikia daugiau komandų, turite jas pridėti rankiniu būdu.

PASTABA: Kadangi įtraukėte „bash“ apvalkalą, turėsite prieigą prie visų „bash“ integruotų komandų. Tai leidžia išeiti iš kalėjimo naudojant komandą exit.

Išvada

Šioje pamokoje buvo aptarta, kas yra chroot kalėjimas ir kaip mes galime jį naudoti kurdami izoliuotą aplinką iš pagrindinės sistemos. Norėdami sukurti izoliuotą kritinių paslaugų aplinką, galite naudoti vadove aprašytus metodus.

Norėdami praktikuoti tai, ko išmokote, pabandykite sukurti apache2 kalėjimą.

PATARIMAS: Pradėkite kurdami šakninį katalogą, pridėkite konfigūracijos failus (etc / apache2), pridėkite dokumento šaknį (/ var / www / html), pridėkite dvejetainį failą (/ usr / sbin / apache2) ir galiausiai pridėkite reikalingas bibliotekas (ldd / usr / sbin / apache2)

Kaip naudoti „GameConqueror Cheat Engine“ sistemoje „Linux“
Straipsnyje pateikiamas „GameConqueror“ apgaulės variklio naudojimo „Linux“ vadove. Daugelis žaidėjų, žaidžiančių sistemoje „Windows“, dažnai naudoja ...
Geriausi „Linux“ žaidimų konsolių emuliatoriai
Šiame straipsnyje bus išvardyta populiari žaidimų konsolių emuliavimo programinė įranga, skirta „Linux“. „Emuliacija“ yra programinės įrangos suderina...
Geriausi „Linux“ žaidimų distristai 2021 m
„Linux“ operacinė sistema nuėjo ilgą kelią nuo originalios, paprastos, serverio išvaizdos. Ši OS pastaraisiais metais nepaprastai patobulėjo ir dabar ...