VPN-ийн Compose файлыг хуваалцаж байна уу? Рендерлэсэн хуулбараас нууцыг устгана уу
Хувийн түлхүүр YAML дотор, env утгад эсвэл хэн ч хараагүй шийдэгдсэн гаралтад байж болно. Таны үнэхээр хавсаргаж буй хуулбарыг шалгаарай.
Compose файлыг хуваалцах бүрд хоёр артефакт байдаг: таны бичсэн нэг, хувьсагчдыг орлуулсны дараа хэрэгсэл рендерлэдэг нөгөө. Хоёр дахь нь ихэвчлэн эхнийхээс илүү мэдрэмтгий бөгөөд хүмүүс уншилгүй асуудлын тайланд наадаг нь яг тэр юм. Зөвхөн эх файлыг шалгавал буруу баримт бичгийг шалгаж байна.
Юу устгахаа шийдэхийн өмнө хуулбар бүр юу агуулж болохыг харьцуул.
Рендерлэсэн загвар нь өөр баримт бичиг
Compose орчны хувьсагчдыг шийдэж, дарах файлуудыг нэгтгэж, уншигч гараар бичсэн утгуудаас ялгаж чадахгүй үр дүнтэй тохиргоог гаргадаг. Эх сурвалж дахь хувьсагчийн нэр гэх мэт лавлагаа гаралтад бүртгэлийн токен өөрөө болдог. Файлыг оношилгоонд хэрэгтэй болгодог бүтэц тэр хувирлыг даван туулдаг; хэзээ ч байх ёсгүй байсан бүхэн ч мөн даван туулдаг.
Хавсаргахаас өмнө файлыг өөрөө рендерлэж, тэр гаралтыг шалгаж буй артефакт гэж үзээрэй. Үүнийг рендерлэж чадахгүй бол юу нийтлэх гэж байгаагаа мэдэхгүй.
Нууцууд түлхүүрийн талбараас илүү олон газар байдаг
Тодорхой зүйлээс эхэл: хувийн түлхүүр, урьдчилан хуваалцсан түлхүүр, токен, нууц үг, нэвтрэх мэдээлэл агуулсан холболтын URL. Дараа нь файлын заасан бүх зүйлийг хар, учир нь лавлагаа бол устгал биш. Үйлчилгээнд холбосон env файл, хостод бэхэлсэн тохиргооны файл, токен зөөсөн шошго, нууц үг агуулсан командын аргумент нь YAML цэвэр харагдаж байсан ч байршуулалттай хамт явдаг. Тайвшруулах нэртэй хувьсагчид наасан түлхүүр ч түлхүүр хэвээр.
Хостын зам, үйлчилгээний нэр хоёр дахь төрлийн мэдээллийг алдагдуулдаг. Гэрийн хавтасны нэр, дотоод хостын нэр эсвэл сүлжээний хүрээ нь нэг ч нэвтрэх мэдээлэлгүйгээр хүн эсвэл байгууллагыг тодорхойлж чаддаг бөгөөд тэр контекст мөн адил шалтгаанаар устгах үнэ цэнэтэй.
Нууцын зарлал нь нууц биш
Compose нууцын объектууд зарлалыг материалаас тусгаарладаг: үйлчилгээ зам эсвэл зорилт авч, агуулга өөр газар амьдардаг. Материалыг сольж зарлалыг хадгалах нь ихэвчлэн зөв солилцоо, учир нь шалгагч нууц байгаа эсэх, хэрхэн холбогдсоныг харах ёстой. Үлдэх ёсгүй зүйл бол агуулга өөрөө.
Шошго, тайлбар ч ижил хандлагыг хүртэх ёстой. Аль сангийн зам үйлдвэрлэлийн түлхүүрийг хадгалж байгааг хэлсэн тайлбар нь түлхүүргүй байсан ч халдагчид хаана харахыг хэлдэг.
Хэлбэрийг хадгал, файл оношилгоо хийсээр байх болтугай
Сүлжээний горим, имижийн хувилбар эсвэл чадварын тохиргоог устгасан редакц нь хэн ч дибаг хийж чадахгүй файл үүсгэдэг. Мэдрэмтгий утгуудыг сольж, харилцааг хадгал: аль үйлчилгээ юу холбож, аль сүлжээнд нэгдэж, ямар төхөөрөмж хэрэгтэйг. Энэ бол уншигчийн алга болсон маршрут эсвэл боломжгүй төхөөрөмжийг тайлбарлах ашигладаг хэсэг. Энэ нь мөн хамт олны өөрийн ажиллаж буй байршуулалттай харьцуулж болох хувилбар.
docker compose -f compose.yaml config > rendered.yaml
grep -nE 'PRIVATE_KEY|PASSWORD|TOKEN|PSK|PrivateKey|passphrase' rendered.yaml
wc -l rendered.yaml
Редакцлагдсан хуулбарыг ажиллаж буй эх хувь мэт байршуулж болохгүй. Энэ бол тайлбар бөгөөд аюулгүй харагдахын тулд зассан тайлбар нь тохиргооны алдаа мэт харагдах байдлаар бүтэлгүйтнэ.
Хэрэв материал илэрсэн бол түүнийг соль
Хавсралтыг авах нь бусдын аль хэдийн хийсэн хуулбарыг авахгүй, толь, кэш нь өөрсдийнхийг хадгална. Алдагдсан бүхний хувьд гаргагчийн хүчингүй болгох, солих үйл явцыг ашиглаад дараа нь байршуулалтыг шинэчил. Дараалал чухал, учир нь эхлээд сольж дараа нь хүчингүй болгох нь хоёр хүчинтэй нэвтрэх мэдээлэл бүхий цонхыг үлдээдэг.
Дэмжлэгийн хэлхээнд яг алдаа, имижийн хувилбар, сүлжээний горим, чухал нэг нууц бус тохиргоог эхэлж хэл. Энэ хослол алга болсон төхөөрөмж эсвэл эвдэрсэн маршрутыг түлхүүрээс хамаагүй илүү олон удаа тайлбарладаг.