OpenVPN username-as-common-name: CN yoxlamanız niyə boş qalır
client-connect skripti common_name ilə username-i müqayisə edərkən adı özü ilə müqayisə edə bilər. Əvəzləmə işə düşməzdən əvvəl sertifikatı hesaba bağlayın.
Siz client-connect skripti əlavə edirsiniz və o, common_name dəyərinin username dəyərindən fərqləndiyi hər bağlantını rədd edir; bu, sertifikatla hesab arasında bağ kimi görünür. username-as-common-name ilə işləyən serverdə həmin müqayisə skript işə düşənə qədər artıq mənasını itirmiş olur. Hər iki dəyər eyni sətirdir, ona görə də yoxlama tamamilə başqa bir şəxsə verilmiş sertifikat üçün keçir.
Yoxlama səhv deyil, çünki skript pis yazılıb. O, səhvdir, çünki oxuduğu dəyər həmin bağlantıda daha əvvəl əvəz edilib.
Müqayisə guya nəyi sübut edir
Sertifikat autentifikasiyası və parol autentifikasiyası ayrı sübutlardır və server hər ikisini tələb edə bilər, lakin onların eyni şəxsə aid olduğunu tələb etməyə bilər. Boşluq gerçəkdir: etibarlı cihaz sertifikatı üstəgəl istənilən etibarlı hesab, həmin cihaz sertifikatı üstəgəl adı çəkilən bir hesabdan fərqli iddiadır. common_name ilə username-i müqayisə edən skript ikisi arasındakı itkin halqanı oxuyur. Əgər common_name hələ də sertifikatın dediyi mənanı daşısaydı, belə olardı.
Bunun olub-olmaması bir server seçimindən asılıdır və həmin seçim adətən əlaqəsiz bir səbəbdən, məsələn, istifadəçi üzrə konfiqurasiya fayllarının adlandırılmasını asanlaşdırmaq üçün yandırılır.
username-as-common-name adla nə edir
username-as-common-name aktiv olduqda, istifadəçi adı və parol təsdiqləndikdən sonra OpenVPN sertifikatın ümumi adını təsdiqlənmiş istifadəçi adı ilə əvəz edir. Həmin yoxlama zamanı işləyən təsdiqləmə çəngəli hələ də sertifikatın ümumi adını alır, çünki əvəzləmə hələ baş verməyib. Bundan sonrakı hər şey, client-connect də daxil olmaqla, istifadəçi adını görür. Beləliklə, sonrakı geri çağırış eyni kimliyi iki dəfə alır və onu təqdim edilmiş sertifikatla müqayisə edə bilmir.
| Stage | What common_name holds |
|---|---|
| Username and password verification hook | The certificate common name, for example bob-device |
| After the replacement | The authenticated account, alice |
| client-connect callback | The account again, alice |
Bir nümunəvi bağlantını izləyin: bob-device üçün verilmiş sertifikat, alice kimi uğurlu kataloq girişi və seçim aktivdir. Təsdiqləmə mərhələsi hələ də iki fərqli sətir görə bilir. Bağlantı mərhələsi isə alice və alice görür.
Bu nümunə müqayisənin niyə boş olduğunu göstərir. O, bağlantının əks halda qəbul ediləcəyini göstərmir, çünki sertifikat doğrulaması və parol təsdiqləməsi hələ də öz-özlüyündə işləyir.
Bağı hər iki kimliyin hələ mövcud olduğu yerə qoyun
Qayda sertifikat kimliyini və hesabı eyni vaxtda görən mərhələdə tətbiq edilməlidir, bu da praktikada istifadəçi adı və parol təsdiqləmə çəngəli və ya orada yüklənən plagin deməkdir. Artıq parol təsdiqləməsi həyata keçirən dəstəklənən plagin, adi halda cütləşdirmə qaydası əlavə etmək üçün düzgün yerdir, çünki onu ad müqayisəsi ilə əvəz etmək parol yoxlamasını tamamilə aradan qaldırardı.
Kod yazmazdan əvvəl uyğunlaşdırmanı müəyyən edin, çünki bərabərlik nadir hallarda əsl siyasət olur. Sertifikat çox vaxt cihazı, giriş isə şəxsi müəyyən edir və bir cihaz qanuni olaraq bir neçə insana xidmət edə bilər. Münasibəti buraxılışına nəzarət etdiyiniz formada saxlayın və adın dəyişdirilməsi, yenidən buraxılma və domenlə kvalifikasiya olunmuş adlar zamanı nə olacağını qərarlaşdırın. Kataloqu başa düşmədən domen prefiksini kiçik hərflərə çevirmək və ya silmək, ayrı qalması nəzərdə tutulan iki hesabı birləşdirə bilər.
Unutmayın ki, seçim həm də hansı müştəri üzrə konfiqurasiyanın tətbiq olunduğunu dəyişir, çünki client-config-dir ümumi adla açarlanır.
Cütləşdirməni iki etibarlı etimadnamə ilə yoxlayın
Siyasətinizin icazə verdiyi cütlə başlayın və onun qoşulduğunu təsdiqləyin. Sonra həmin etibarlı sertifikatı fərqli, lakin digər cəhətdən etibarlı hesabla təqdim edin: bu cəhd uğursuz olmalıdır və səhv yazılmış parol üzündən deyil, cütləşdirmə qaydası üzündən uğursuz olmalıdır. Səhv parol parol yoxlamasının işlədiyini sübut edir və sertifikat-hesab qaydası haqqında heç nə demir.
Çatışmayan sertifikat və etibarsız sertifikat yollarını da yoxlayın və serverin müştəri üzrə parametrlər üçün hansı kimlikdən istifadə etdiyini təsdiqləyin. Müqayisəni işlək etməyin yeganə yolu username-as-common-name seçimini söndürməkdirsə, əvvəlcə bu dəyişikliyin qiymətini hesablayın, çünki bu, hər müştərinin konfiqurasiya axtarışını yenidən sertifikat adına qaytarır.