diff --git a/mn_MN.UTF-8/books/handbook/jails/chapter.sgml b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml index 8d697a226e..d38ed8661e 100644 --- a/mn_MN.UTF-8/books/handbook/jails/chapter.sgml +++ b/mn_MN.UTF-8/books/handbook/jails/chapter.sgml @@ -1,477 +1,477 @@ Матео Риондато Хувь нэмэр болгон оруулсан Цагаанхүүгийн Ганболд Орчуулсан Jails буюу Шоронгууд шоронгууд Ерөнхий агуулга Энэ бүлэг нь &os;-ийн шоронгууд гэж юу болох, тэдгээрийг хэрхэн ашиглах талаар тайлбарлах болно. Шоронгууд буюу заримдаа chroot орчнуудын өргөжүүлсэн орлуулалт гэгддэг энэ боломж нь системийн администраторуудад зориулагдсан маш хүчтэй хэрэгсэл боловч тэдгээрийн үндсэн хэрэглээ нь илүү дэвшилтэт хэрэглэгчдэд бас үр ашигтай байдаг. Энэ бүлгийг уншсаны дараа, та дараах зүйлсийг мэдэх болно: Шорон гэж юу болох, &os;-ийн суулгалтуудад ямар зорилгоор ашиглагдаж болох талаар. Шоронг хэрхэн бүтээх, эхлүүлэх, болон зогсоох талаар. Шоронгийн гадна болон дотор талаас хийгдэж болох удирдлагын үндсүүд. Шоронгийн талаарх ашигтай мэдээллийн өөр бусад эхүүдийг дурдвал: &man.jail.8; гарын авлагын хуудас. Энэ нь jail хэрэгслийн бүрэн гүйцэд авлага юм — jail нь &os; дээр &os; шоронгуудыг эхлүүлэх, зогсоох, болон хянахад ашиглагдаж болох удирдлагын хэрэгсэл юм. Захидлын жагсаалтууд болон тэдгээрийн архивууд. &a.questions; болон бусад захидлын жагсаалтуудын архивууд нь &a.mailman.lists; дээр байрладаг бөгөөд шоронгуудын талаар маш баялаг материалуудыг агуулсан байдаг. Архивуудаас хайх юм уу эсвэл &a.questions.name; захидлын жагсаалт уруу шинэ асуултаа илгээх нь үргэлж сонирхолтой байдаг. Шоронгуудтай холбоотой ойлголтууд Шоронгуудтай холбоотой &os; системийн хэсгүүд, тэдгээрийн дотоод хэсгүүд болон &os;-ийн бусад хэсэгтэй хэрхэн харилцдаг арга замыг илүүтэй ойлгохыг хөнгөвчлөхийн тулд - энэ хэсэгт дараах ойлголтуудыг ашиглах болно: + энэ бүлэгт дараах ойлголтуудыг ашиглах болно: &man.chroot.2; (тушаал) Процесс болон түүний бүх үр удмуудын root санг өөрчилдөг &os;-ийн системийн дуудлага. &man.chroot.2; (орчин) chroot-д ажиллаж байгаа процессуудын орчин. Үүнд харагдаж байгаа файлын системийн хэсэг, байгаа хэрэглэгч болон бүлэг, сүлжээний интерфэйсүүд болон бусад IPC арга замууд гэх мэт эх үүсвэрүүд ордог. &man.jail.8; (тушаал) Шоронгийн орчин дотор процессуудыг ажиллуулах боломжийг олгох системийн удирдлагын хэрэгсэл. хост (систем, процесс, хэрэглэгч, гэх мэт.) Шоронгийн системийн хяналтын систем. Хост систем нь байгаа бүх тоног төхөөрөмжийн эх үүсвэрүүдэд хандах боломжтой байдаг бөгөөд шоронгийн орчны болон түүний гаднах процессуудыг хянаж чаддаг. Хост системийн шоронгоос ялгарах нэг чухал ялгаа нь шорон доторх супер хэрэглэгчийн процессуудад хамаарах хязгаарлалтууд хост системийн процессуудын хувьд үйлчилдэггүй явдал юм. хост хийгдсэн (систем, процесс, хэрэглэгч, гэх мэт.) &os; шоронгоор эх үүсвэрүүдэд ханддаг хандалт нь хязгаарлагддаг процесс, хэрэглэгч эсвэл бусад зүйлс. Танилцуулга Системийн удирдлага нь хэцүү, самууруулмаар ажил болохоор администраторын амьдралыг хялбар болгох үүднээс олон хүчирхэг хэрэгслүүд хийгдэж хөгжүүлэгдсэн байдаг. Эдгээр хэрэгслүүд нь системийг суулгах, тохируулах, болон арчлахад нэгэн төрлийн өргөтгөлүүдийг ихэвчлэн хангаж өгдөг. Администраторуудын хийх ёстой эдгээр ажлуудын нэг хэсэг нь системийн аюулгүй байдлыг зөв тохируулах явдал юм. Ингэснээр аюулгүй байдлын зөрчлүүдгүйгээр систем өөрийн жинхэнэ зорилгоороо үйлчлэх болно. &os; системийн аюулгүй байдлыг сайжруулахад ашиглагдаж болох хэрэгслүүдийн нэг нь jails буюу шоронгууд - юм. Шоронгуудыг &os;-4.X дээр &a.phk; анх танилцуулсан юм. Гэхдээ тэдгээрийг - хүчирхэг, уян хатан дэд систем болгохын тулд &os;-5.X дээр илүү ихээр сайжруулсан + юм. Шоронгуудыг &os; 4.X дээр &a.phk; анх танилцуулсан юм. Гэхдээ тэдгээрийг + хүчирхэг, уян хатан дэд систем болгохын тулд &os; 5.X дээр илүү ихээр сайжруулсан билээ. Тэдгээрийн ашигтай тал, ажиллагаа болон найдвартай байдлыг өргөжүүлэн тэдгээрийн хөгжүүлэлт үргэлжилсэн хэвээр болой. Шорон гэж юу вэ BSD-тэй төстэй үйлдлийн системүүд нь 4.2BSD-ийн үеэс эхлэн &man.chroot.2; боломжтой болсон билээ. &man.chroot.8; хэрэгсэл нь процессуудын олонлогийн root санг өөрчлөхөд ашиглагдаж аюулгүй орчин үүсгэн системийн бусад хэсгээс тэдгээрийг тусгаарладаг. chroot хийгдсэн орчинд үүсгэгдсэн процессууд нь өөрийн орчноос гаднах файлууд болон эх үүсвэрүүдэд хандаж чаддаггүй. Энэ шалтгаанаар chroot хийгдсэн орчинд ажиллаж байгаа үйлчилгээг эвдэх нь халдагчид бүхэл системийг эвдэх боломжийг олгох ёсгүй юм. &man.chroot.8; хэрэгсэл нь маш их уян хатан чанар эсвэл төвөгтэй, дэвшилтэт боломжуудыг шаарддаггүй хялбар ажлуудад сайн байдаг. Мөн chroot ойлголтын эхлэлээс эхлээд л chroot хийгдсэн орчноос зугтах олон арга замууд олдсон бөгөөд хэдийгээр тэдгээр нь &os; цөмийн орчин үеийн хувилбаруудад засагдсан боловч &man.chroot.2; нь үйлчилгээнүүдийг аюулгүй болгоход зориулагдсан туйлын шийдэл биш нь тодорхой байсан юм. Үүнтэй холбоотой шинэ дэд систем хийгдэх шаардлагатай болсон байна. Энэ нь шоронгууд яагаад хөгжүүлэгдсэн гол шалтгаануудын нэг юм. Шоронгууд нь уламжлалт &man.chroot.2; орчны ойлголтуудыг хэд хэдэн аргаар сайжруулдаг. Уламжлалт &man.chroot.2; орчинд процессууд нь өөрийн хандаж болох файлын системийн нэг хэсэгт хязгаарлагдаж байдаг. Системийн бусад эх үүсвэрүүд (системийн хэрэглэгчид, ажиллаж байгаа процессууд, эсвэл сүлжээний дэд систем зэрэг) нь chroot хийгдсэн процессууд болон хост системийн процессуудын хооронд хуваалцан хэрэглэгддэг. Шоронгууд нь зөвхөн файлын систем уруу хандах хандалт биш бас хэрэглэгчид, &os; цөмийн сүлжээний дэд систем болон бусад хэд хэдэн зүйлсүүдийг виртуалчлан энэ загварыг өргөтгөдөг байна. Шорон болгосон орчны хандалтыг тааруулахад зориулсан илүү бүрэн гүйцэд нарийн тааруулсан хяналтуудын олонлог байдаг нь хэсэгт тайлбарлагдсан байгаа. Шорон дөрвөн элементээр тодорхойлогддог: Сангийн дэд мод — шоронгийн орж ирдэг эхлэл цэг. Шорон дотор орсны дараа процессийг энэ дэд модноос гадна зугтахыг зөвшөөрдөггүй. Анхдагч &man.chroot.2; дизайныг зовоосон аюулгүй байдлын уламжлалт асуудлууд нь &os; шоронгуудад байдаггүй. Хостын нэр — шорон дотор ашиглагдах хостын нэр. Шоронгууд нь сүлжээний үйлчилгээнүүдийг хост хийхэд (байрлуулах) ихэвчлэн ашиглагддаг болохоор шорон бүрийн хувьд тодорхойлсон нэртэй байх нь системийн администраторт ихээхэн тус болж чадах юм. IP хаяг — энэ нь шорон бүрт өгөгдөх бөгөөд шоронгийн оршин тогтнох хугацаанд ямар ч талаараа өөрчлөгдөх ёсгүй. Шоронгийн IP хаяг нь ихэвчлэн байгаа сүлжээний интерфэйсийн alias хаяг байх боловч заавал тийм байх шаардлагагүй юм. Тушаал — шорон дотор ажиллах програм/тушаалын зам. Энэ нь шоронгийн орчны root сантай харьцангуй байх бөгөөд шоронгийн тусгай очны төрлөөс хамаараад асар өөр өөр байж болох юм. Эдгээрээс гадна шоронгууд нь өөрийн гэсэн хэрэглэгчид болон өөрийн root хэрэглэгчтэй байж болдог. Мэдээжийн хэрэг root хэрэглэгчийн хүч чадал шоронгийн орчин дотор хязгаарлагддаг бөгөөд хост системийн үүднээс авч үзвэл шоронгийн root хэрэглэгч нь бүхнийг чадагч хэрэглэгч биш юм. Мөн шоронгийн root хэрэглэгчид өөрийнх нь харгалзах &man.jail.8; орчноос гадна осолтой үйлдлүүдийг систем дээр хийлгэхийг зөвшөөрдөггүй. root хэрэглэгчийн боломжууд болон хязгаарлалтуудын талаарх дэлгэрэнгүй мэдээллийг хэсэгт доор хэлэлцэх болно. Шоронг үүсгэж хянах нь Зарим администраторууд шоронг дараах хоёр төрөлд хуваадаг: эдгээр нь жинхэнэ &os; системтэй адил төстэй бүрэн шоронгууд болон нэг програм юм уу эсвэл үйлчилгээнд зориулагдсан, магадгүй зөвшөөрлүүдтэй ажиллах үйлчилгээ шоронгууд юм. Энэ нь зөвхөн ухагдахууны хуваагдал бөгөөд шоронг бүтээх процесс үүнд хамаагүй юм. &man.jail.8; гарын авлагын хуудас шоронг бүтээх аргачлалын талаар маш тодорхой зааварласан буй: &prompt.root; setenv D /here/is/the/jail &prompt.root; mkdir -p $D &prompt.root; cd /usr/src &prompt.root; make world DESTDIR=$D &prompt.root; cd etc/ Энэ алхам нь &os; 6.0 болон түүнээс хойшхи хувиилбаруудад шаардлагагүй. &prompt.root; make distribution DESTDIR=$D &prompt.root; mount_devfs devfs $D/dev Шоронгийн байрлалыг сонгох нь хамгийн шилдэг эхлэх цэг юм. Энэ нь шорон физикээр өөрийн хостын файлын систем дотор байрлах байрлал юм. Сайн сонголт нь /usr/jail/jailname байж болох бөгөөд энд байгаа jailname нь шоронг таниулж байгаа хостын нэр юм. /usr/ файлын систем нь шоронгийн файлын системийн хувьд ихэвчлэн хангалттай зайтай байдаг. Үндсэндээ бүрэн шоронгуудын хувьд энэ шоронгийн файлын систем нь үндсэн &os; системийн андагч суулгацад байдаг бүх файлуудын хуулбар байдаг. Энэ тушаал нь шоронгийн физик байрлал болгон сонгосон сангийн дэд модыг файлын систем дээр шаардлагатай хоёртын файлууд, сангууд, гарын авлагын хуудаснууд гэх зэргүүдийг тараан байрлуулах болно. Бүгд хэвшмэл &os; загвараар хийгдэнэ — эхлээд бүгд бүтээгдэнэ/эмхэтгэгдэнэ, дараа нь хүрэх замд суулгагдана. make тушаалд зориулагдсан distribution тохируулга нь бүх шаардлагатай тохиргооны файлыг суулгана, өөрөөр хэлбэл энэ нь /usr/src/etc/ сангийн бүх суулгаж болох файлуудыг шоронгийн орчны /etc сан болох $D/etc/ руу хуулдаг. Шорон дотор &man.devfs.8; файлын системийг холбох шаардлагагүй. Нөгөө талаас авч үзвэл дурын, бараг бүх програм өөрийн зорилгоосоо хамааран хамгийн багаар бодоход ядаж ганц төхөөрөмжид хандах шаардлагатай байдаг. Шорон дотроос төхөөрөмжид хандах хандалтыг хянах нь маш чухал байдаг. Учир нь буруу тохируулгууд халдагчид шорон дотор муухай зүйлс хийх боломжийг олгож болох юм. &man.devfs.8; дээрх хяналтыг &man.devfs.8; болон &man.devfs.conf.5; гарын авлагын хуудаснуудад тайлбарласан дүрмийн олонлогуудаар удирддаг. Шорон суулгагдсаны дараа &man.jail.8; хэрэгсэл ашиглан түүнийг эхлүүлж болно. &man.jail.8; хэрэгсэл дөрвөн зайлшгүй шаардлагатай нэмэлт өгөгдлийг авдаг бөгөөд эдгээр нь хэсэгт тайлбарлагдсан байгаа болно. Өөр бусад нэмэлт өгөгдлүүдийг бас зааж өгч болох бөгөөд жишээ нь шорон хийгдсэн процессийг тухайн нэг хэрэглэгчийн итгэмжлэлүүдтэй ажиллуулж болох юм. command-н нэмэлт өгөгдөл нь шоронгийн төрлөөс хамаарна; виртуал системийн хувьд /etc/rc нь боломжийн сонголт байна. Энэ нь жинхэнэ &os; системийн эхлүүлэх дарааллыг хуулбарлах учраас тэр юм. Үйлчилгээ шоронгийн хувьд шорон дотор ажиллах үйлчилгээ эсвэл програмаас энэ нь хамаарна. Шоронгууд нь ихэвчлэн ачаалах үед эхлүүлэгддэг бөгөөд &os; rc арга зам нь үүнийг хийх хялбар аргаар хангадаг. Ачаалах үед эхлэхээр идэвхжүүлэгдсэн шоронгуудын жагсаалтыг &man.rc.conf.5; файлд нэмэх ёстой: jail_enable="YES" # Set to NO to disable starting of any jails jail_list="www" # Space separated list of names of jails Шорон бүрийг тайлбарласан &man.rc.conf.5; тохируулгуудын бүлэг jail_list-д жагсаагдсан шорон бүрийн хувьд дараахийг нэмэх ёстой: jail_www_rootdir="/usr/jail/www" # jail's root directory jail_www_hostname="www.example.org" # jail's hostname jail_www_ip="192.168.0.10" # jail's IP address jail_www_devfs_enable="YES" # mount devfs in the jail jail_www_devfs_ruleset="www_ruleset" # devfs ruleset to apply to jail &man.rc.conf.5;-д тохируулагдсан шоронгуудын анхдагч эхлүүлэлт нь шоронг бүрэн виртуал систем гэж тооцдог шоронгийн /etc/rc скриптийг ажиллуулах болно. Үйлчилгээний шоронгуудын хувьд jail_jailname_exec_start тохируулгыг зохистойгоор тохируулан шоронгийн анхдагч эхлүүлэх тушаалыг өөрчлөх ёстой. Тохируулгуудын бүрэн жагсаалтыг &man.rc.conf.5; гарын авлагын хуудаснаас үзнэ үү. Шоронд зориулагдсан оруулга rc.conf файлд байгаа тохиолдолд /etc/rc.d/jail скрипт шоронг гараар эхлүүлэх эсвэл зогсооход ашиглагдаж болох юм: &prompt.root; /etc/rc.d/jail start www &prompt.root; /etc/rc.d/jail stop www Одоогоор &man.jail.8;-г зогсоох цэвэр зам байхгүй байгаа. Цэвэр системийн зогсолтыг хийх тушаалуудыг шорон дотор ашиглах боломжгүй байдаг болохоор тэр юм. Шоронг зогсоох хамгийн шилдэг арга бол дараах тушаалыг шорон дотроос ажиллуулах эсвэл шоронгийн гадна &man.jexec.8; хэрэгслийг ашиглах явдал юм: &prompt.root; sh /etc/rc.shutdown Үүний талаар дэлгэрэнгүй мэдээллийг &man.jail.8; гарын авлагын хуудаснаас олж болно. Нарийн тааруулалт болон удирдлага Аль ч шоронд зориулж тохируулж болох хэд хэдэн тохируулгууд байдаг бөгөөд өндөр түвшний програмуудыг хийхийн тулд хост &os; системийг шоронгуудтай цуг хослуулах төрөл бүрийн аргууд бас байдаг. Энэ хэсэг нь дараах зүйлсийг үзүүлнэ: Ажиллагаа болон шоронгийн суулгалтаар хийгдсэн аюулгүй байдлын хязгаарлалтуудыг тааруулахад зориулагдсан зарим тохируулгууд. &os;-ийн портын цуглуулгад байх, шорон дээр суурилсан шийдлүүдийг хийхэд ашиглагдаж болох шорон удирдах зарим нэг өндөр түвшний програмууд. &os; дээр шорон тааруулах системийн хэрэгслүүд Шоронгийн тохиргооны нарийн сайн тааруулалтыг &man.sysctl.8; хувьсагчуудыг тохируулснаар ихэвчлэн хийдэг. Бүх хамаатай тохируулгуудыг зохион байгуулах үндэс болон sysctl-ийн тусгай дэд мод байдаг; &os; цөмийн тохируулгуудын security.jail.* шатлал юм. Энд шоронтой холбоотой гол sysctl-уудын жагсаалтыг тэдгээрийн анхдагч утгуудтайгаар харуулав. Нэрс нь өөрийгөө тайлбарласан байгаа, гэхдээ тэдгээрийн талаар илүү мэдээллийг &man.jail.8; болон &man.sysctl.8; гарын авлагын хуудаснуудаас лавлана уу. security.jail.set_hostname_allowed: 1 security.jail.socket_unixiproute_only: 1 security.jail.sysvipc_allowed: 0 security.jail.enforce_statfs: 2 security.jail.allow_raw_sockets: 0 security.jail.chflags_allowed: 0 security.jail.jailed: 0 root хэрэглэгчид анхдагчаар ноогдуулсан хязгаарлалтуудын заримыг нэмэх эсвэл хасахын тулд эдгээр хувьсагчуудыг хост системийн администратор ашиглаж болно. Зарим нэг хязгаарлалтуудыг хасаж болохгүйг тэмдэглэе. root хэрэглэгчид &man.jail.8; дотор файлын системүүдийг холбох эсвэл салгахыг зөвшөөрдөггүй. Шорон доторх root хэрэглэгч &man.devfs.8; дүрмийн олонлогуудыг дуудах эсвэл буцааж болиулах, галт ханын дүрмүүдийг тохируулах, эсвэл цөмийн securelevel хувьсагчийг тохируулах зэрэг цөм дэх өгөгдлийн өөрчлөлтүүдийг шаарддаг өөр олон бусад удирдлагын ажлуудыг хийж чадахгүй байж болох юм. &os;-ийн үндсэн систем нь идэвхтэй шоронгуудын талаарх мэдээллийг үзүүлэх болон удирдлагын тушаалуудыг ажиллуулахын тулд шоронд залгагдаж болох хялбар хэрэгслүүдийн цуглуулгыг агуулдаг. &man.jls.8; болон &man.jexec.8; нь &os;-ийн үндсэн системийн хэсэг бөгөөд дараах хялбар ажлуудыг хийж гүйцэтгэхэд ашиглагдаж болно: Идэвхтэй байгаа шоронгуудын жагсаалт болон тэдгээрийн харгалзах шорон танигч (JID), IP хаяг, хостын нэр болон замыг үзүүлнэ. Өөрийнх нь хост системээс ажиллаж байгаа шоронд залгагдаж шорон дотроос шоронгийн удирдлагын ажлуудаас тушаалыг ажиллуулна. root хэрэглэгч шоронг цэвэрхэн зогсоож унтраахыг хүсэх үед энэ нь ялангуяа ашигтай байдаг. Шорон дотор удирдлага хийхийн тулд түүн дотор бүрхүүл эхлүүлэхэд &man.jexec.8; хэрэгсэл бас ашиглагдаж болдог; жишээ нь: &prompt.root; jexec 1 tcsh &os;-ийн портын цуглуулга дахь өндөр түвшний удирдлагын хэрэгслүүд Шорон удирдлагад зориулагдсан гуравдагч талуудын олон хэрэгслүүдийн дундаас хамгийн бүрэн гүйцэд, ашигтай нь sysutils/jailutils юм. Энэ нь &man.jail.8;-ийн удирдлагад хувь нэмэр болсон жижиг програмуудын цуглуулга юм. Дэлгэрэнгүй мэдээллийн талаар түүний веб хуудсанд хандана уу.