VPN server imicini kimliyini kopyalamadan klonlamaq
Surətin bir şlüzü bərpa etdiyini, yoxsa ikinci bir şlüz əlavə etdiyini müəyyən edin. Təkrar istifadə olunan konfiqurasiya, imzalama səlahiyyəti və şəbəkə vəziyyəti fərqli yollarla ötürülür.
İmic yüklənir, xidmət başlayır və müştərilər qoşulur. Elə bu anda dayanıb hansı iki tamamilə fərqli əməliyyatın yenicə baş verdiyini soruşmaq lazımdır. Ya surət əvvəllər mövcud olmuş bir məntiqi şlüzü bərpa edir, ya da donanmaya ikinci bir şlüz əlavə edir. Hər ikisi qanunidir və onların kimlik və giriş nəticələri fərqlidir. Təmiz şəkildə açılan maşın bunlardan heç birini sübut etmir.
Cavabı üç şərt həll edir və bunlar imicin daşıya biləcəyi materialın üç qutusudur. Onları imic qurulmadan əvvəl sırala, iki dəfə yerləşdirildikdən sonra yox.
Əvvəlcə hansı əməliyyatı etdiyinizi müəyyənləşdirin
Bərpa bir xidmət kimliyini saxlayır. Köhnə instans yox olur, ad və sertifikat qalır və müştərilər eyni son nöqtəyə etibar etməyə davam edir. Əlavə isə müştərilərin, jurnalların və ləğvetmənin hamısının ayırd etməli olduğu ikinci bir kimlik yaradır.
Fərq kosmetik deyil. Əgər iki canlı host eyni şlüz sertifikatını təqdim edirsə, müştəri onları bir-birindən ayıra bilmir, audit izi də ayıra bilmir və həmin sertifikatın ləğvi hər ikisini birdən silir. Bu, bəlkə də qəsdən yüksək əlçatanlıq dizaynının istədiyi şeydir və tələsik imic surətinin nəzərdə tutduğu şey nadir hallarda olur.
Beləliklə, ilk qərar imic qurma hostunu tərk etməzdən əvvəl yazılmış bir cümlədir: bu surət A şlüzünü bərpa edir, yoxsa bu surət B şlüzünə çevrilir. Bundan sonra hər şey həmin cümləyə qarşı mühasibat uçotudur. Əgər heç kim onu yaza bilmirsə, surət qurulmağa hazır deyil.
Təkrar istifadə olunan girişlər, kimlik və səlahiyyət, yerləşdirmə vəziyyəti
Təkrar istifadə qutusu asan olandır: paketlər, heç bir sirr ehtiva etməyən yoxlanılmış konfiqurasiya, xidmət şablonları, sərtləşdirmə parametrləri. İmicin həqiqətən yaxşı olduğu şey budur və onu limitsiz təkrar istehsal etmək olar.
Kimlik və səlahiyyət qutusu surətlərin səhv getdiyi yerdir. Şlüzün şəxsi açarı və sertifikatı həmin şlüzü hər müştəriyə tanıdır. Sertifikat orqanının imzalama açarı fərqli gücə malik fərqli bir obyektdir: o, kimlikləri verir. Bir vericinin etibarı o demək deyil ki, hər yeni şlüzün vermə qabiliyyəti olmalıdır və imzalama açarını imicin daxilində göndərmək bu qabiliyyəti imici oxuya bilən hər şeyə verir.
Yerləşdirmə vəziyyəti qutusu insanların unutduğu qutudur, çünki o, konfiqurasiyaya bənzəyir. Dinləmə ünvanları, ünvan hovuzları, ötürülən marşrutlar, həlledici parametrləri və yerli inteqrasiya birinci host haqqında fərziyyələri kodlaşdırır. Onları kopyalayan ikinci node başqa şlüzün artıq sahib olduğu hovuzdan ayıra bilər və ya müştəriləri yalnız orijinalın yanında mövcud olan resursa yönəldə bilər.
Yeni node nə almalıdır və kimdən
Müstəqil idarə olunan node öz etimadnamələrini təsdiqlənmiş qeydiyyat prosesi ilə almalıdır və imzalama əməliyyatı yeni hostda deyil, imzalama açarının yerləşdiyi yerdə baş verməlidir. Digər nodeləri narahat etmədən hansı kimliyin geri götürülə biləcəyini qeyd edin; cavab «hamısı» olarsa, dizaynda özünü iki kimi təqdim edən bir kimlik var.
Şəbəkə dəyərləri eyni rəftara layiqdir. Mövcud şlüzlə toqquşmayan hovuz, dinləmə ünvanı və ötürülən marşrutlar dəsti seçin və onları imicin içinə deyil, təchizat girişlərinə yazın. Giriş yoxlanıla biləndir; imic deyil.
Qanuni bir ara hal var. Dəstəklənən bərpa və ya replikasiya dizaynı hostlar arasında bir məntiqi xidmət kimliyini qəsdən saxlaya bilər, köhnə surətə nəzarətli giriş və rotasiya planı ilə. Bu, sahibi olan bir qərardır, imic rahat olduğu üçün baş verən standart deyil.
openssl x509 -in /etc/openvpn/server/server.crt -noout -subject -issuer -dates
find /etc/openvpn -name '*.key' -o -name '*.pem' | head -20
Birinci əmr node-un həqiqətən hansı kimliyi təqdim etdiyini və onu kimin imzaladığını bildirir. İkincisi başlanğıc inventarıdır, sübut deyil: şəxsi material həmin qovluqdan kənarda, tətbiq verilənlər bazasında və ya işləyən fayl sisteminin artıq göstərmədiyi snapshot qatında ola bilər.
İmicin surəti səssizcə nə daşıyır
Faylı imicin ən yeni reviziyasından silmək onu köhnə reviziyalardan, qat keşlərindən və o mövcud ikən alınmış snapshotlardan silmir. Buna görə etimadnamə daşıyan imiclərə yalnız qurulduqları anda deyil, bütün ömürləri boyu həssas obyektlər kimi yanaşmaq lazımdır.
İmicin məzmununu və təchizat girişlərini ayrı-ayrı suallar kimi yoxlayın. İmic «bu artefaktın içində nə var» sualına cavab verir, girişlər isə «bu instans ilk yüklənmədə nəyə çevriləcək» sualına. Ümumi açar gətirən bootstrap skripti olan təmiz imic birinci suala yaxşı, ikinci suala pis cavab verir.
Qanuni olaraq sirr ehtiva edən bərpa imiclərini onlara ehtiyacı olan insanlarla məhdudlaşdırın və harada saxlandıqlarını qeyd edin. Alternativ, heç bir təchizat olmadan işlədiyi üçün rahat olan imic, onu tapan hər kəsə şlüzün kimliyini verən eyni imicdir. Bu iki vəzifədən yalnız biri qurma jurnalında görünür.
İstehsaldan əvvəl qəbul yoxlamaları
Node trafik qəbul etməzdən əvvəl dörd şeyi təsdiqləyin: təqdim etdiyi kimliyi, qəbul edəcəyi müştəriləri, çatmağa icazəli olduğu resursları və verdiyi ünvanlar üçün geri dönüş yolunu.
systemctl status openvpn-server@lab --no-pager
ss -lunp 'sport = :1194'
ip -4 route show table all | grep -F '10.90.'
Sonra mənfi halı yoxlayın, qəzaları tutan elə budur: yeni node-da orijinal üçün nəzərdə tutulmuş administrator və ya müştəri girişi varmı? Kopyalanmış konfiqurasiya əlavə müştəri qeydi, miras qalmış idarəetmə marşrutu və ya birinci hostda məna kəsb edən push direktivi daşıya bilər.
Canlı sirrlər ehtiva edən imic artıq təsdiqlənmiş sərhədindən kənara çıxıbsa, etimadnamələri dəyişdirin və surətləri məhdudlaşdırın. Faylı ən son buraxılışdan silmək köhnə surətlərin hələ də saxladığı etimadnaməni təqaüdə çıxarmaqla eyni şey deyil və bu iki fakt arasındakı boşluq məhz hücumçunun ehtiyac duyduğu pəncərədir.