Drošība

Kā iestatīt Linux Chroot cietumus

Kā iestatīt Linux Chroot cietumus
Linux sistēmām, īpaši tām, kas veltītas kritiskiem pakalpojumiem, ir nepieciešamas eksperta līmeņa zināšanas, lai strādātu, un galvenajiem drošības pasākumiem.

Diemžēl pat pēc būtisku drošības pasākumu veikšanas drošības ievainojamības joprojām nonāk drošās sistēmās. Viens no veidiem, kā pārvaldīt un aizsargāt sistēmu, ir ierobežot iespējamos zaudējumus pēc uzbrukuma.

Šajā apmācībā mēs apspriedīsim chroot cietuma izmantošanu, lai pārvaldītu sistēmas bojājumus uzbrukuma gadījumā. Mēs izskatīsim, kā izolēt procesus un apakšprocesus noteiktā vidē ar nepatiesām root tiesībām. Šādi rīkojoties, process tiks ierobežots līdz noteiktam direktorijam un tiks liegta piekļuve citām sistēmas zonām.

Īss ievads ieslodzījuma vietā

Chroot cietums ir metode procesu un to apakšprocesa izolēšanai no galvenās sistēmas, izmantojot viltus root tiesības.

Kā jau minēts, konkrēta procesa izolēšana, izmantojot viltotas root tiesības, ierobežo zaudējumus ļaunprātīga uzbrukuma gadījumā. Pakārtotie pakalpojumi attiecas tikai uz direktorijiem un failiem to direktorijos, un pēc pakalpojuma restartēšanas tie nav pastāvīgi.

Kāpēc izmantot chroot cietumu

Chroot cietuma galvenais mērķis ir drošības līdzeklis. Chroot ir noderīgi arī tad, kad atgūstat zaudētās paroles, uzstādot ierīces no tiešraides multivides.

Chroot cietuma noteikšanai ir dažādas priekšrocības un trūkumi. Tie ietver:

Priekšrocības

Trūkumi

Kā izveidot pamata Chroot cietumu

Šajā procesā mēs izveidosim pamata chroot cietumu ar 3 komandām, kas ierobežotas šai mapei. Tas palīdzēs ilustrēt, kā izveidot cietumu un piešķirt dažādas komandas.

Vispirms izveidojiet galveno mapi. Jūs varat domāt par šo mapi kā / mapi galvenajā sistēmā. Mapes nosaukums var būt jebkas. Mūsu gadījumā mēs to saucam par chrootjail

sudo mkdir / chrootjail

Mēs izmantosim šo direktoriju kā viltus sakni, kas satur komandas, kuras tam piešķirsim. Ar komandām, kuras mēs izmantosim, mums būs nepieciešams bin katalogs (satur komandu izpildāmos failus) un utt., direktorijs (satur komandu konfigurācijas failus).

Mapē / chrootjail iekšpusē izveidojiet šīs divas mapes:

sudo mkdir / chrootjail / utt., bin

Nākamais solis ir direktoriju izveidošana dinamiski saistītām bibliotēkām komandām, kuras vēlamies iekļaut cietumā. Šajā piemērā mēs izmantosim komandas bash, ls un grep.

Izmantojiet komandu ldd, lai uzskaitītu šo komandu atkarības, kā parādīts zemāk:

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

Ja neatrodaties atkritumu mapes iekšpusē, jums jāiziet pilns to komandu ceļš, kuras vēlaties izmantot. Piemēram, ldd / bin / bash vai ldd / bin / grep

No iepriekš minētās ldd izejas mums ir nepieciešami direktoriji lib64 un / lib / x86_64-linux-gnu. Ieslodzījuma direktorijā izveidojiet šīs mapes.

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

Kad būsim izveidojuši dinamiskos bibliotēkas direktorijus, tos varēsim uzskaitīt, izmantojot koku, kā parādīts zemāk:

Kad mēs progresēsim, jūs sāksit gūt skaidru priekšstatu par to, ko nozīmē ieslodzījuma vieta.

Mēs veidojam vidi, kas līdzīga parastai Linux sistēmas saknes direktorijai. Atšķirība ir tāda, ka šajā vidē ir atļautas tikai īpašas komandas un piekļuve ir ierobežota.

Tagad, kad esam izveidojuši atkritumu tvertni. utt., lib un lib64, mēs varam pievienot nepieciešamos failus viņu attiecīgajos direktorijos.

Sāksim ar binārajiem failiem.

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

Pēc vajadzīgo komandu bināro failu nokopēšanas mums katrai komandai ir nepieciešamas bibliotēkas. Lai skatītu kopējamos failus, varat izmantot komandu ldd.

Sāksim ar bash. Attiecībā uz bash mums ir nepieciešamas šādas bibliotēkas:

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

Tā vietā, lai kopētu visus šos failus pa vienam, mēs varam izmantot vienkāršo cilpu, lai kopētu katru bibliotēku visās bibliotēkās uz / chrootjail / lib / x86_64-linux-gnu

Atkārtosim šo procesu gan komandai ls, gan grep:

Komandai ls:

Grep komandai:

Tālāk, lib64 direktorijā, mums ir viena koplietojama bibliotēka visos bināros failos. Mēs to varam vienkārši nokopēt, izmantojot vienkāršu cp komandu:

Pēc tam rediģēsim galveno bash pieteikšanās failu (atrodas / etc / bash.bashrc Debian), lai mēs varētu pielāgot bash uzvedni pēc savas gaumes. Izmantojot vienkāršas atbalss un tee komandas, kā parādīts:

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

Pēc visu iepriekš minēto darbību veikšanas mēs varam pieteikties cietuma vidē, izmantojot chroot komandu, kā parādīts.

sudo chroot / chrootjail / bin / bash

Jūs saņemsiet root privilēģijas ar uzvedni, kas ir līdzīga tām, kas izveidotas iepriekš atbalss un tee komandā.

Pēc pieteikšanās jūs redzēsiet, ka jums ir piekļuve tikai komandām, kuras iekļāvāt, izveidojot cietumu. Ja jums ir nepieciešamas vairāk komandu, tās jāpievieno manuāli.

PIEZĪME: Tā kā esat iekļāvis bash apvalku, jums būs piekļuve visām bash iebūvētajām komandām. Tas ļauj iziet no cietuma, izmantojot izejas komandu.

Secinājums

Šajā apmācībā tika apskatīts, kas ir chroot cietums un kā mēs to varam izmantot, lai izveidotu izolētu vidi no galvenās sistēmas. Varat izmantot rokasgrāmatā aplūkotos paņēmienus, lai izveidotu izolētu vidi kritiskiem pakalpojumiem.

Lai praktizētu apgūto, mēģiniet izveidot apache2 cietumu.

PADOMS: Vispirms izveidojiet saknes direktoriju, pievienojiet konfigurācijas failus (etc / apache2), pievienojiet dokumenta sakni (/ var / www / html), pievienojiet bināro (/ usr / sbin / apache2) un visbeidzot pievienojiet nepieciešamās bibliotēkas (ldd / usr / sbin / apache2)

5 labākās arkādes spēles Linux
Mūsdienās datori ir nopietnas mašīnas, kuras izmanto spēlēšanai. Ja jūs nevarat iegūt jauno augsto rezultātu, jūs zināt, ko es domāju. Šajā ierakstā j...
Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...