Qeydlərinizdə bir common name və bir ünvan var, və üç əmr də müştərini sildiyi görünür. Yalnız biri istədiyinizi edir, və seçim indi işləyən sessiyanı bitirmək, növbəti girişi rədd etmək, yoxsa qoşulma hüququnu tamamilə almaq lazım olduğundan asılıdır. Bir şeyə toxunmazdan əvvəl əslində hansı şəxsiyyətə sahib olduğunuzu oxuyun, çünki OpenVPN hovuzu sonradan eyni tunel ünvanını başqa sessiyaya verir.

Əslində hansı şəxsiyyətə sahibsiniz

Versiya 3 status faylı adi başlanğıc nöqtəsidir. CLIENT_LIST bölməsi common name-i, real ünvanı, bayt sayğaclarını və qoşulma vaxtını daşıyır; ROUTING TABLE bölməsi virtual ünvanı son istinad vaxt damğası ilə birlikdə common name-ə uyğunlaşdırır. common name sabit şəxsiyyətdir. Virtual ünvan bir təyinatdır, və NAT arxasındakı real ünvan serverdə heç nə dəyişmədən sessiyalar arasında dəyişə bilər.

İdarəetmə interfeysi status əmri ilə oxşar mənzərə təqdim edir və hər sessiya üçün müştəri ID-si əlavə edir. client-kill məhz bu ID-ni gözləyir, və o, tunel ünvanı deyil. Qoşulma anında hansı common name-in hansı ünvanı aldığını bilmək lazımdırsa, client-connect skriptinin mühiti hər ikisini, etibarlı xarici ünvanla birlikdə saxlayır, amma həmin skript OpenVPN istifadəçisi kimi işləyir və yazıla bilən log yolu tələb edir.

What you holdWhere it came fromWhat it can act on
Common nameCLIENT_LIST, or the auth hookkill, and credential revocation
Client IDstatus on the management socketclient-kill, that one session
Tunnel addressROUTING TABLE, client-connect environmentNothing durable, the address is recycled

İndi öldür, girişdə rədd et, birdəfəlik ləğv et

İdarəetmə interfeysindəki hər iki silmə əmri sessiya əməliyyatıdır. kill common name və ya real ünvan və port qəbul edir; client-kill müştəri ID-sini qəbul edir və həmin instansı dərhal bitirir. Heç biri blok deyil: etibarlı sertifikatı və parolu olan çıxarılmış müştəri saniyələr içində yenidən qoşulur, bu test peer-ni yenidən qurarkən yaxşıdır və noutbuk oğurlananda faydasızdır.

client-deny başqa cür qərardır. Adətən authentication və ya client-connect qarmağından verilir və sessiyanı səbəblə rədd edir, buna görə də əlaqəni kəsən deyil, girişi rədd edən siyasətə uyğundur. Sənədləşmə həmçinin xəbərdarlıq edir ki, TLS yenidən danışıqları zamanı verilən rədd yenidən danışılmış açarı etibarsız edir, mövcud sessiya isə keçid pəncərəsi bağlanana qədər işləyə bilər. Tələb müştərinin indi getməsidirsə, sənədləşdirilmiş cavab client-kill-dir.

Davamlı silmə bütün bunların altındadır. Sertifikatı ləğv edin və crl-verify-in serverin həqiqətən yenidən yüklədiyi siyahıya baxdığına əmin olun, ccd kataloqundakı müştəriyə xas konfiqurasiya faylını söndürün və ya authentication qarmağının sorğu göndərdiyi backend-də hesabı söndürün. Ləğv də ani deyil: standart reneg-sec parametrləri ilə qurulmuş sessiya yenidən danışıqlara qədər işləməyə davam edə bilər, buna görə sessiya əməliyyatı və etimadnamə əməliyyatı alternativ deyil, bir-birini tamamlayır.

İdarəetmə soketi boşdurmu?

İdarəetmə interfeysi bir anda bir müştəriyə xidmət edir. GUI və ya monitorinq demonu artıq bağlantını tutursa, skriptiniz onun yanına qoşula bilməz və müştəridən asılı olaraq təmiz şəkildə uğursuz olmaq əvəzinə mövcud olanı çıxara bilərsiniz. Parolu həmin soketdə açıq mətnlə gedir, buna görə yerli ünvanda və ya unix soketində olmalıdır, heç vaxt açıq interfeysdə olmamalıdır.

Soketi ala bilmədikdə, hələ də seçimləriniz var və hamısı daha yavaşdır. Əgər nəzarət edirsinizsə, əvvəlcə GUI sessiyasını buraxın, ya da etimadnamə qatı marşrutunu qəbul edin və növbəti yenidən danışıqları gözləyin. Etməməli olduğunuz şey bir müştərini atmaq üçün xidməti yenidən başlatmaqdır, çünki bu, bütün digər sessiyaları da bitirir və bu sessiya üçün status faylı sübutlarını məhv edir.

Canlı serverdə işlətdiyim ardıcıllıq

Qoşulun, cari vəziyyəti oxuyun, yalnız oxuduğunuz ID üzərində hərəkət edin, sonra yenidən oxuyun. Sənəddən kopyalanmış dəyərlər yanlış adamı çıxarmağın ən geniş yayılmış yoludur.

status                     # note the client ID and common name
client-kill 3              # end that session now
kill Test-Client           # alternative: by common name
status                     # confirm the session is gone

Yuxarıdakı ad və nömrə yer tutucudur, və ID-lər digər müştərilər ayrıldıqdan sonra yenidən istifadə olunur. Heç nəyi bitmiş kimi qeyd etməzdən əvvəl sətrin olmadığını təsdiqləyin və qoşulmuş müştərilərin sayının bir deyil, bir neçə dəyişdiyini yoxlayın.

Getdiyini təsdiqləyin

Common name-i, tunel ünvanını, xarici ünvanı və silinmə dəqiqəsini qeyd edin. Eyni common name bir dəqiqə sonra yenidən görünürsə, sessiya əməliyyatı işlədi və etimadnamə qatı işləmədi, bu heç vaxt qüvvəyə minməmiş əmrdən tamamilə fərqli bir təmirdir.

Sonra müştəri tərəfindən sınaqdan keçirin. Ləğv edilmiş sertifikat növbəti handshake-də uğursuz olmalıdır; əgər hələ də qoşulursa, CRL ümumiyyətlə oxunmur və bu, bildirməyə dəyər tapıntıdır. Nəyi bitirmək lazım olduğuna görə əməliyyatı seçin, ikinci status ilə təsdiqləyin və cavab sessiyadan uzun sürməlidirsə etimadnamə qatını düzəldin.

Əlaqəli məqalələr