openvpn3 session-start kredensial faylınıza məhəl qoymur
3.x müştərisi kredensialları sessiya başlayanda alır və saxlanmış faylı oxumur. Sorğudan və ya avtomatik yükləmə yolundan istifadə edin və hər birinin nə saxladığını bilin.
2.x müştərisi ilə qoşulun və profil işləyir; eyni faylı 3.x müştərisinə verin və o, parol sorğusunda dayanır. --auth-user-pass creds.txt seçimini openvpn3 session-start komandasına verin və nəticə eynidir, çünki yeni müştəridə faylı oxuyan mərhələ yoxdur. İmtina qəsdəndir: kredensiallar sessiyaya aiddir və sessiyanı terminalınızdakı proses deyil, xidmət yaradır. İnteraktiv sorğu ilə avtomatik yükləmə köməkçisi arasında seçim edin və hər birinin nə saxladığını bilin.
Saxlanılan faylın niyə yeri yoxdur
Yeni dizaynda konfiqurasiya idarəetməsi və sessiya idarəetməsi sistem şinindən danışan ayrı xidmətlərdir. Məhz bu ayrılıq adi istifadəçiyə imtiyazlı daemonun onun adından qorunan parol faylını oxumasına ehtiyac qalmadan sessiya başlatmağa imkan verir. Fayla əsaslanan kredensialların bu modeldə yeri yoxdur, çünki onları oxuyacaq heç bir daemon tərəfində başlanğıc yoxdur. İmtina arxitekturanın nəticəsidir, çatışmayan funksiya deyil.
Köhnə nümunəni adlandırmağa dəyər ki, onu unutmaq asan olsun: profil kredensial faylına istinad edir və daemon onu tunel başlayanda oxuyur. Yeni modeldə kredensiallar sessiyaya aiddir və həmin sessiya başlayanda təqdim olunur. openvpn3 session-start --config work.ovpn onları soruşur, --auth-user-pass creds.txt isə rədd edilir, çünki o yolda heç nə faylı açmazdı. Tapdığınız hər 2.x resepti artıq mövcud olmayan mərhələni güman edir.
Konfiqurasiya və sayt-yerli parametrlər də ayrılmışdır və bu, ikinci sürprizi izah edir. Profil tam görünə bilər, halbuki onun yaratdığı bağlantıda marşrutlaşdırma və həlledici konfiqurasiyası yoxdur. Bu hissələr idxal edilmiş fayldan ayrı olaraq sayt-yerli parametrlər kimi tətbiq edilir.
Sorğu yolu və onun qoyub getdiyi sessiya
Parolu sessiya başlayanda təqdim etmək nəzərdə tutulan iş axınıdır. Müştəri bir dəfə soruşur, kredensialları sessiya arxa ucuna verir və davam edir:
openvpn3 session-start --config work.ovpn
openvpn3 sessions-list
Bu yolla diskə heç nə yazılmır. Sessiya terminal bağlandıqdan sonra da işləməyə davam edir və bu, prosesin öz qabığı ilə birlikdə öləcəyini gözləyənləri təəccübləndirir. Sessiya idarəetməsini xidmətə köçürməyin mənası da budur. Sessiya onu istəyən terminaldan daha uzun yaşayır və açıq şəkildə dayandırılmalıdır.
Qarşısında insan olan iş stansiyası üçün bu həm də ən təhlükəsiz seçimdir, çünki qorunmalı və ya unudulmalı saxlanılan sirr yoxdur. Yalnız yazacaq heç kimin olmadığı yerlərdə yararsızdır.
Klaviaturada insan olmadan avtomatlaşdırma
Maşın insansız qoşulmalı olduqda layihə openvpn3-autoload təqdim edir. O, profillər qovluğunu və hər profil üçün uyğun deskriptoru oxuyur, deskriptor isə kredensialları açıq mətnlə verir. Köməkçi ayrı binardır, adətən /usr/sbin/openvpn3-autoload ünvanındadır, session-start üzərində bayraq deyil. Onu qurmaq qovluğu yaratmaq, profili deskriptorun gözlədiyi adla kopyalamaq və deskriptoru yazmaq deməkdir.
İstifadəçi üzrə quraşdırma belə görünür və sessiyaya sahib olacaq hesabla işə salınır. Qovluq rejimi digər yerli istifadəçiləri kənarda saxlayır:
mkdir -m700 -p ~/.openvpn3/autoload
cp work.ovpn ~/.openvpn3/autoload/client.conf
$EDITOR ~/.openvpn3/autoload/client.autoload
Deskriptor kredensialları adlandırır və avtomatik başlanğıc istəyir. Parol dəyərini versiya nəzarətindən kənarda saxlayın:
{
"autostart": true,
"user-auth": {
"autologin": true,
"username": "svc-vpn",
"password": "change-this-value"
}
}
Sonra köməkçini bir dəfə çağırın və sessiyanın göründüyünü təsdiqləyin. İkinci əmr yoxlamadır, başqa quraşdırma addımı deyil:
/usr/sbin/openvpn3-autoload --directory ~/.openvpn3/autoload
openvpn3 sessions-list
Yükləmə zamanı openvpn3-autoload.service adlı paketlənmiş vahid istifadəçi üzrə olanı deyil, sistem üzrə /etc/openvpn3/autoload qovluğunu istifadə edir. Həmin yer root sahibliyi və daha sərt rejim tələb edir, deskriptor isə parolu hələ də açıq mətnlə saxlayır. Güzəşt açıqdır: parol artıq diskdədir, ona görə həmin qovluğa sirr kimi yanaşın, onu hostdan kənar ehtiyat nüsxələrdən çıxarın və insan varsa, interaktiv yolu seçin.
Parol nasazlıqlarına bənzəyən şin nasazlıqları
Kredensiallara aid edilən bəzi nasazlıqlar heç də belə deyil. Xidmətin aktivləşdirmə yolunu göstərən icazə xətası iki şeydən birini bildirir: arxa uc işləmir, ya da çağıranın onu aktivləşdirmək icazəsi yoxdur. Heç bir profil düzəlişi bunların heç birini dəyişməyəcək. Konfiqurasiyaya toxunmazdan əvvəl xidmətin vəziyyətini və təqdim edilən şin siyasətini yoxlayın.
Aşağıdakı əmrlər ikisini ayırır. Birincisi arxa ucun işləyib-işləmədiyini bildirir; ikincisi son şin xətalarını göstərir:
systemctl status openvpn3-service-client
journalctl -b -u openvpn3-service-client --no-pager | tail -20
Digər tez-tez yanlış oxunan hal bir anda görünüb yox olan sessiyadır. Bu nümunə adətən sayt-yerli parametrlərin heç vaxt tətbiq edilmədiyini göstərir, yəni tunel onu faydalı edən marşrut və həlledici dəyişiklikləri olmadan qalxıb. Sonuncu sətri deyil, ardıcıllığı oxuyun: sessiyanın yaradılıb-yaradılmadığı, qoşulmuş vəziyyətə çatıb-çatmadığı və sağ qalıb-qalmadığı üç ayrı faktdır.
Köhnə müştəri hələ də istifadədə olduqda
2.x müştərisi hələ də kredensial faylını qəbul edir və açarlıq onun sorğusuna sirr diskə heç vaxt çatmadan cavab verə bilər. Sarğı qeydi həll edir, yəni fayl parolu deyil, axtarışı adlandırır. Bu quruluş kilidi açılmış açarlıqdan asılıdır; giriş sessiyası olmayan konteyner və ya hər kəs daxil olmadan başlayan vahid bunu təmin edə bilməz. Sonra axtarış aləti yaza bilmədiyi kolleksiya barədə məlumat verir, yəni xəta açarlıq nasazlığı olduğu halda kredensial nasazlığı kimi görünür.
Bunlardan hər hansı birini qurmazdan əvvəl profildəki keepalive parametrinin yenidən başlatma ehtiyacını tamamilə aradan qaldırıb-qaldırmadığını yoxlayın. Ayaqda qalan sessiya avtomatlaşdırmağa çalışdığınız sorğuya heç vaxt çatmır.