Jak złożyć profil klienta OpenVPN z wydanych plików
Plik ovpn to konfiguracja, nie certyfikat. Złóż jeden profil klienta z wydanego CA, certyfikatu i klucza, a następnie utrwal tożsamość i katalog.
Twój operator przekazuje pakiet CA, certyfikat klienta i jego klucz, a klient nie wystartuje, dopóki nie zostaną połączone w jeden profil. Profil to konfiguracja: wskazuje te pliki, nie zawiera ich, a edycja nie zamieni go w certyfikat. Przewodnik zaczyna się na już zatwierdzonym laptopie i kończy profilem, który można uruchomić ze znanego katalogu. Nie tworzy CA, nie rejestruje nowego certyfikatu i nie dotyka serwera.
Celem jest tu klient wiersza poleceń OpenVPN 2.6 dla Linuksa, trasowany przez TUN po UDP, z uwierzytelnianiem certyfikatem.
Zbierz tylko pliki po stronie klienta
Pracuj w chronionym katalogu i zbierz zatwierdzony materiał zaufania CA, wydany certyfikat klienta oraz pasujący do niego klucz prywatny. W tym przykładzie nazwy to ca.crt, laptop-a.crt i laptop-a.key. Nazwy plików to tylko etykiety; nic nie mówią o tym, co zawiera każdy plik.
Jeśli klucz został wygenerowany podczas rejestracji, nigdy nie opuścił maszyny; od wystawcy muszą wrócić tylko podpisany certyfikat i łańcuch publiczny. Sprawdź, czy certyfikat ma rolę klienta oczekiwaną przez usługę. Sprawdź też, czy klucz należy do tego certyfikatu, a nie do wcześniejszego z poprzedniej próby. Niedopasowana para powoduje błąd TLS znacznie później, który wygląda jak problem serwera.
Zostaw prywatny klucz podpisujący CA, prywatny klucz serwera i parametry DH poza tym pakietem.
Połącz pliki w mały profil
Poniższy profil jest celowo krótki. Każdy wiersz albo wybiera punkt końcowy, albo ogranicza tożsamość, którą zaakceptuje klient, albo wskazuje jeden z trzech plików.
client
dev tun
proto udp
remote vpn.example.net 1194
nobind
remote-cert-tls server
verify-x509-name vpn-gateway name
ca ca.crt
cert laptop-a.crt
key laptop-a.key
Wiersz remote wybiera punkt końcowy sieci. remote-cert-tls server wymaga, aby druga strona przedstawiła certyfikat z rolą serwera. verify-x509-name przypina oczekiwaną nazwę, tutaj vpn-gateway jako Common Name certyfikatu serwera z domyślnym polem nazwy OpenVPN. Ta wartość nie jest wyprowadzana z nazwy hosta DNS, więc użyj schematu tożsamości podanego przez operatora.
Nie rezygnuj z tych kontroli tylko dlatego, że testowy punkt końcowy pokazuje inny certyfikat.
Ten profil bazowy zakłada brak osobnego wyzwania konta i brak klucza kanału sterowania. Jeśli usługa wymaga auth-user-pass, tls-auth lub tls-crypt, zachowaj konfigurację i otrzymany materiał, ponieważ tajny klucz kanału sterowania wygenerowany samodzielnie nie będzie zgodny z tym, który ma serwer. Zachowaj też politykę szyfrowania usługi, zamiast importować wiersze kompresji lub szyfru ze starego przykładu.
Uczyń katalog roboczy jawnym
Ścieżki względne podążają za katalogiem roboczym procesu, a nie lokalizacją pliku .ovpn.
To zaskakuje osoby, które przenoszą profil do nowego folderu i oczekują, że klucz pójdzie za nim. Dla katalogu wybranego przez administratora poniższe polecenie przechodzi na ścieżkę bezwzględną przed odczytaniem profilu i jego odwołań.
sudo openvpn --cd /etc/openvpn/client/laptop-a --config laptop-a.ovpn
Kreator importu na pulpicie lub usługa systemowa mogą spakować zależności za Ciebie i zastosować własne reguły. Mogą też użyć innego katalogu roboczego niż ten, w którym testowałeś. Sprawdź, jak Twoja metoda uruchamiania rozwiązuje ścieżki klucza, certyfikatu i CA. Przeniesienie samego pliku .ovpn nie przenosi osobnego klucza prywatnego.
Utrzymuj klucz czytelny tylko dla zamierzonego użytkownika lub tożsamości usługi.
Weryfikuj przekazanie, nie nazwy plików
Przed pierwszym autoryzowanym połączeniem sprawdź punkt końcowy, tożsamość certyfikatu, wystawcę i okno ważności. Następnie potwierdź, że odwołania do plików rozwiązują się z katalogu roboczego, którego naprawdę użyjesz. Po połączeniu przetestuj zachowanie aplikacji i DNS, które powinna zapewniać polityka trasowania. Trzy czytelne pliki nie dowodzą niczego o autoryzacji serwera ani o użytecznej ścieżce do zasobu.
Jeśli pojawi się prośba o frazę hasła, należy ona do klucza prywatnego, a nie do konta VPN.
Na koniec zinwentaryzuj pakiet jako materiał poświadczeń. Przekazanie tego samego certyfikatu i klucza drugiemu laptopowi kopiuje tożsamość, a zmiana nazwy pliku nie daje drugiej rejestracji. Na tym polega różnica między złożeniem profilu a jego wydaniem.