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

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

Эхлээд хоёр үйлдлийн алийг нь хийж байгаагаа шийд

Сэргээх нь нэг үйлчилгээний таних тэмдгийг хадгална. Хуучин instance алга болсон, нэр, гэрчилгээ үлдэж, клиентүүд мөн адил төгсгөлийн цэгт итгэсээр байна. Нэмэх нь клиентүүд, бүртгэлүүд болон хүчингүй болгох бүгд ялгах ёстой хоёр дахь таних тэмдгийг үүсгэдэг.

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

Тиймээс эхний шийдвэр нь дүрс бүтээх хостоос гарахаас өмнө бичигдсэн нэг өгүүлбэр: энэ хуулбар А гарцыг сэргээнэ, эсвэл энэ хуулбар Б гарц болно. Үүний дараах бүхэн тэр өгүүлбэртэй харьцуулсан нягтлан бодох бүртгэл юм. Хэрэв хэн ч бичиж чадахгүй бол хуулбар бүтээхэд бэлэн биш.

Дахин ашиглах оролт, таних тэмдэг ба эрх мэдэл, байрлуулалтын төлөв

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

Таних тэмдэг ба эрх мэдлийн сагс бол хуулбарууд алдаа гардаг газар. Гарцын хувийн түлхүүр, гэрчилгээ нь тэр гарцыг клиент бүрт танина. Гэрчилгээний байгууллагын гарын үсгийн түлхүүр нь өөр хүч чадалтай өөр объект: тэр нь таних тэмдэг олгодог. Олгогчид итгэх нь шинэ гарц бүрт олгох чадвар хэрэгтэй гэсэн үг биш бөгөөд гарын үсгийн түлхүүрийг дүрсний дотор илгээх нь тэр чадварыг дүрсийг уншиж чадах бүхэнд олгоно.

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

Шинэ зангилаад юу өгөх ёстой, хэнээс

Бие даан удирдуулсан зангилаа өөрийн итгэмжлэлийг зөвшөөрөгдсөн бүртгэлийн процессоор авах ёстой бөгөөд гарын үсэг зурах үйлдэл шинэ хост дээр биш, гарын үсгийн түлхүүр байгаа газарт болох ёстой. Бусад зангилааг төвөггүйгээр аль таних тэмдгийг буцааж авах боломжтойг тэмдэглэ; хариулт нь "бүгд" бол загварт хоёр мэт дүр эсгэсэн нэг таних тэмдэг байна.

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

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

openssl x509 -in /etc/openvpn/server/server.crt -noout -subject -issuer -dates
find /etc/openvpn -name '*.key' -o -name '*.pem' | head -20

Эхний команд нь зангилаа үнэхээр ямар таних тэмдэг үзүүлж байгаа, хэн гарын үсэг зурсныг хэлнэ. Хоёр дахь нь эхний бүртгэл, баталгаа биш: хувийн материал тэр хавтаснаас гадна, програмын мэдээллийн санд эсвэл ажиллаж буй файлын систем харуулахгүй болсон агшны давхаргад байж болно.

Дүрсний хуулбар чимээгүй юу зөөдөг

Дүрсний хамгийн сүүлийн хувилбараас файлыг устгах нь түүнийг хуучин хувилбар, давхаргын кэш эсвэл байсан үед авсан агшнаас зайлуулахгүй. Тиймээс итгэмжлэл агуулсан дүрсийг бүх насны туршид мэдрэмтгий объект гэж үзэх ёстой, зөвхөн бүтээх мөчид биш.

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

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

Үйлдвэрлэлийн өмнөх элсэлтийн шалгалт

Зангилаа урсгал хүлээж авахаас өмнө дөрвөн зүйлийг баталгаажуул: үзүүлж буй таних тэмдэг, хүлээн авах клиентүүд, хандах эрхтэй нөөцүүд, түгээж буй хаягуудын буцах зам.

systemctl status openvpn-server@lab --no-pager
ss -lunp 'sport = :1194'
ip -4 route show table all | grep -F '10.90.'

Дараа нь осол барьдаг сөрөг тохиолдлыг шалга: шинэ зангилаад эх хувилбарт зориулсан администратор эсвэл клиентийн хандалт байгаа юу? Хуулагдсан тохиргоо нэмэлт клиентийн бичлэг, өвлөгдсөн удирдлагын маршрут эсвэл эхний хост дээр утга учиртай байсан push зааврыг зөөж болно.

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

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