Гэрчилгээнүүд зөв хавтас дотор уншигдах горим, root эзэмшилтэй байж болох ч үйлчилгээ файлыг нээж чадахгүй гэж мэдээлсээр байж болно. SELinux системд энэ хослол эрхэд биш, тодорхой нэг механизмд заадаг. Шошго файлтай хамт зөөгдсөн, учир нь дахин нэрлэх нь шинэ объект үүсгэдэггүй. inode нь хуучин замд байсан аюулгүй байдлын контекстийг хадгалсан бөгөөд шинэ замын бодлого өөрийн контекстийг оноох боломж хэзээ ч олдсонгүй.

Дахин нэрлэх нь шошготой үнэхээр юу хийдэг вэ

Файл өөрийн SELinux контекстийг inode-д хавсаргасан атрибутын өгөгдөл хэлбэрээр агуулдаг. Нэг файлын систем дотор дахин нэрлэх нь хавтасны бичлэгийг өөрчилдөг ба өөр юу ч биш, энэ нь хурдан бөгөөд атомын шинжтэй, контекст зөөлтөөс амьд үлдэх шалтгаан нь энэ юм. Ямар ч бодлого асуухгүй, ямар ч өгөгдмөл хэрэгжихгүй, ямар ч анхааруулга хэвлэгдэхгүй.

Хуулах нь өөрөөр ажилладаг. Хуулбар нь очих хавтас дотор шинэ inode үүсгэдэг ба бодлого тухайн хавтасны төрлөөс контекст оноодог тул хуулсан гэрчилгээ ихэвчлэн зөв шошго авдаг бол зөөсөн нь буруу хэвээр үлддэг. Яг энэ нэг ялгаа нь ийм төрлийн тасалбаруудын ихэнх төөрөгдлийг тайлбарладаг.

Файлын системүүдийн хоорондох зөөлт нь хуулах семантик руу буцдаг тул ижил команд хоёр машин дээр /etc өөрийн эзэлхүүн дээр байгаа эсэхээс хамаарч өөрөөр ажиллаж болно. Хэрэгсэл найдваргүй гэж дүгнэхээс өмнө үүнийг шалгаарай. Mount хүснэгт рүү нэг харвал та ямар төрлийн зөөлт хийснээ мэдэх болно.

Одоогийн шошгыг хүлээгдэж буйтай харьцуулан уншина уу

Зөвхөн унших гурван команд юу ч өөрчлөхгүйгээр асуултад хариулна. Эхнийх нь файлд одоо юу байгааг харуулна, хоёр дахь нь тухайн яг замд бодлого юу хүлээж байгааг мэдээлнэ, гурав дахь нь хавтасны доорх шошго нь өөр бүх файлыг жагсаана.

ls -lZ /etc/openvpn/client/office-ca.crt
matchpathcon /etc/openvpn/client/office-ca.crt
restorecon -Rn -v /etc/openvpn/client

Итгэх ёстой зүйл бол хуурай гүйцэтгэл, учир нь энэ нь бодлогоос хазайсан контекст бүхий файл бүрийг нэрлэж, системийг хөндөхгүй орхидог. Хэрэв гэрчилгээ тэр жагсаалтад гарч ирвэл та зам ямар утгатай, файл юу гэж мэдэгдэж байгаа хоорондын зөрүүг олсон байна. Хэрэв гарахгүй бол шошго аль хэдийн бодлогын хүссэн зүйл болсон бөгөөд таны цаг өөр газар хамаарна.

Дараа нь ялгааг бодит татгалзалтай холбоно уу. Зөрүү нь буруу шошгын нотолгоо бөгөөд үйлчилгээ үүнээс болж бүтэлгүйтсэн гэсэн баталгаа биш, харин бүртгэлд тохирох татгалзалгүйгээр хэрэглэсэн засвар нь нэмэлт алхмуудтай таамаг юм.

Онцгой тохиолдол зохиохын оронд зураглалыг сэргээгээрэй

Стандарт байршилд бодлого замыг аль хэдийн зурагласан тул restorecon үүнийг хэрэглэж, ажил дуусна. Хамрах хүрээг та засаж буй хавтаст байлгаарай; бүхэл файлын системийг дахин шошголох нь удаан, саад учруулдаг бөгөөд анхны алдааг маш том өөрчлөлтийн доор булдаг.

Өөрийн хавтасны хувьд дараалал чухал бөгөөд үүнийг эргүүлэх нь юу ч өөрчлөхгүйгээр амжилт мэдээлдэг команд үүсгэдэг. Зураглал бодлогод, дахин шошгололт төгсгөлд, хуурай гүйцэтгэл хоёулангийн өмнө хамаарна. Тэр сүүлийн хэсгийг алгасах нь хэзээ ч буруу байгаагүй зам дахин шошгологдох арга юм.

semanage fcontext -a -t openvpn_etc_t '/etc/openvpn/custom(/.*)?'
restorecon -Rv /etc/openvpn/custom

restorecon зураглалыг хэрэглэдэг; тэр үүнийг зохиож чадахгүй. Хэрэв ямар ч дүрэм замыг дүрслэхгүй бол сэргээх зүйл байхгүй, тиймээс байнгын зураглал дахин шошгололтын өмнө байх ёстой. Аль тохиргоо тэр зураглалыг эзэмшиж байгааг бичээрэй, эс тэгвээс дараагийн зөөлт, багц шинэчлэл эсвэл дахин шошгололт гэмтлийг дахин үүсгэж, дараагийн хүн тэгээс эхэлнэ.

Яагаад chcon шийдэл биш вэ

chcon контекстийг шууд файл дээр бичдэг. Энэ нь даруй хүчин төгөлдөр болж, боломжтой хамгийн бага тэсвэртэй сонголт юм, учир нь файлын системийг дахин шошголох нь бодлогыг дахин хэрэглэж, асуулгүйгээр гар аргаар хийсэн өөрчлөлтийг хаядаг. Файл зассан мэт харагдана, засварт хэн ч бичээгүй хугацаа дуусах огноо бий. Үүний оронд танд зам дүрсэлсэн дүрэм хэрэгтэй, ингэснээр тэнд ирсэн файл бүр автоматаар ижил хандлагыг авна.

Бүр дор нь, энэ буруу сургамж өгдөг: үндсэн зураглал одоо ч алга, тиймээс гэмтэл долоо хоногийн дараа тод өдөөгч, тэр тойрч гарах арга тухай дурсамжгүйгээр буцаж ирдэг. chcon-г зөвхөн таамаглалыг бататгах түр зуурын туршилт болгон ашиглаж, дараа нь дараагийн дахин шошгололтыг даван туулах зураглалаар сольж, орлуулалт үнэхээр байрандаа байгаа эсэхийг шалгаарай.

Шошго зөв байхад хандалт одоо ч бүтэлгүйтэх үед

Эх хавтаснуудаас эхэл. Нэвтрэх зөвшөөрөл замын бүрэлдэхүүн хэсэг бүр дээр шалгагддаг тул үйлчилгээ нэвтэрч чадахгүй хавтас доторх зөв шошголсон гэрчилгээ ч уншигдахгүй хэвээр байна. SELinux болон энгийн зөвшөөрөл хоёулаа алхам бүрийг зөвшөөрөх ёстой бөгөөд нэгийг засах нь нөгөөг засахгүй.

Дараа нь процессын таних тэмдэг болон үйлчилгээний өөрийн элсэн хайрцгийг шалга. Хязгаарлагдмал элсэн хайрцагтай нэгж нь бодлого дуртайяа зөвшөөрөх файлд хандахыг татгалзаж болох бөгөөд бүртгэлийн мөрөөс хоёр шалтгаан ижил харагдана. Үнэхээр аль процесс асууж байгааг баталгаажуул, таны гэж бодож буй процесс биш.

dontaudit дүрмүүд татгалзлын мэдээллийг дарах боломжтой гэдгийг санаарай, тиймээс хоосон аудитын бүртгэл нь нотолгоо биш, сул нотолгоо юм. Бодлого зөв харагдаж байтал хандалт бүтэлгүйтвэл өргөн зөвшөөрлийн модуль үүсгэхийн өмнө шалгаж, шинж тэмдгийг арилгахын тулд SELinux-ийг унтрааж болохгүй. Хоёр богино зам хоёулаа ажиллаж байгаа мэт харагдах систем, хэн ч дүрсэлж чадахгүй аюулгүй байдлын байр суурийг өгдөг. Богино шалгалт хоёулаасаа дээр.

Холбоотой нийтлэлүүд