Podkast 22T50 3 Kroki Wymiany Certyfikatu OpenVPN

Więcej miejsc do posłuchania:

Spotify

WERSJA TEKSTOWA

Cześć. Witam Cię w dzisiejszym odcinku mojego podkastu. Temat to aktualizacja certyfikatów dla serwera Open VPN. Co trzeba zrobić jeżeli wygaśnie Ci certyfikat serwera? Trzeba po prostu wygenerować nowy. Jak to zrobić? Najpierw, jak to przy certyfikatach należy wygenerować wniosek. Jeśli korzystasz z easy-rsa , czyli tego pakietu, który jest w Linuxie najpopularniejszy do używania z Open VPN’em to oczywiście w tym narzędziu możesz stworzyć sobie wniosek. Gdy go tworzysz to wypisujesz dla kogo ten certyfikat będzie wystawiony, wszystkie dane i jednocześnie wskazujesz jaki rodzaj klucza będzie używany. Jak generujesz ten wniosek, jest tworzony klucz prywatny.

Następnie kolejnym krokiem jest od strony urzędu certyfikacji podpisanie tego wniosku. Urząd czy aplikacja patrzy na ten wniosek, tworzy w odpowiedniej strukturze certyfikat. Następnie robi hash’a, czyli potwierdza, że integracja i integralność tego certyfikatu jest zachowana i podpisuje własnym kluczem prywatnym. W efekcie posiadasz certyfikat, który nie ma żadnych danych poufnych, jest podpisany kluczem prywatnym i dzięki temu jest dołączony do niego klucz publiczny. Czyli hash jest podpisany prywatnym kluczem, jest klucz publiczny, który jest związany z tym urzędem i możesz weryfikować poprawność tego dokumentu, czy tego certyfikatu sprawdzając hash’a. Wyliczasz go sobie niezależnie przez aplikację i porównujesz z tym przez klucz publiczny hash’em czy to się zgadza. Dzięki temu wiesz, że jest popisany przez właściwy urząd.

Wracając do strony administracyjnej, co daje nam, że mamy nowy certyfikat? Możesz tych certyfikatów wygenerować sobie wiele i to nic nie zmienia. Moment, który jest kluczowy, to jest wpisanie do konfiguracji nazwy pliku certyfikatu i jego umiejscowienia ewentualnie, jaki ma być używany dla danego serwera Open VPN. Możesz sobie tych certyfikatów tworzyć wiele, nawet jak masz nadal ważne certyfikaty serwera a podmienić je w dowolnym swoim momencie w pliku konfiguracyjnym serwera Open VPN. Tak ten mechanizm powinien działać. Nie używamy tego samego klucza prywatnego, który był w poprzednim certyfikacie, nie ma to żadnego znaczenia. Nie używamy go po stronie klienta. To jest tylko element, który jest używany po stronie serwera, w związku z tym wystarczy podmienić odpowiednie pliki lub stworzyć nowe i podmienić odpowiednie nazwy w pliku konfiguracyjnym a całość będzie działać.

Jeśli chodzi o sam proces używania tego certyfikatu serwera, to jest on wykorzystywany w momencie, kiedy klient nawiązuje połączenie z serwerem Open VPN, sprawdza jaki certyfikat jest wykorzystywany przez ten serwer i czy jest on ważny oraz wystawiony przez zaufany Urząd. Te dwie rzeczy są sprawdzane najczęściej, oczywiście jeszcze kilka innych rzeczy np. współdzielony klucz symetryczny, dodatkowe zabezpieczenie. Ograniczając się tylko do tego certyfikatu to jednak te dwie rzeczy najważniejsze są sprawdzane: czy certyfikat jest ważny i jaki urząd go wystawił. Ewentualnie jeśli używasz url’a do odwołań certyfikatów: czy nie ma go w liście odwołań. To są rzeczy, które są sprawdzane. Jeżeli przejdzie pozytywnie weryfikacje taki starszy czy nowo utworzony certyfikat Open VPN’a tunel zostanie nawiązany. To jest oczywiście sprawdzanie tego certyfikatu serwera, bo jest tak samo weryfikowany certyfikat klienta. Czy jest ważny, czy jest nie odwołany i czy jest przez urząd zaufany wystawiony ten certyfikat klienta i dopiero jak te dwie strony się zgadzają to zestawienie połączenia nastąpi prawidłowo.

Są jeszcze inne rozszerzenia ale nie będę może komplikował tego całego typowego schematu używania połączenia Open VPN’a. Więc jeśli masz taką sytuację, że już Ci się kończy ważność tego certyfikatu serwera, najczęściej jest tak, że domyślnie certyfikat samego urzędu jest wystawiany na 10 lat, natomiast samego serwera jest na 3 lata więc jeżeli ten okres Ci mija to porostu potrzebujesz wygenerować nowy certyfikat, umieścić w odpowiednim miejscu, zaktualizować nazwy plików albo po prostu podmienić te certyfikaty z tą samą nazwą pliku, który był wcześniej. Również ten cały schemat zadziała.

Jeżeli chodzi o certyfikat urzędu to jest trochę inny temat. Mianowicie urząd jest zupełnie nie związany z serwerem Open VPN’a. Mimo, że jak najczęściej używamy tego pakietu easy-rsa to wykonujemy po kolei te czynności. Czyli generujemy PKI, generujemy ten cały urząd i certyfikat dla niego a następnie certyfikat dla serwera a potem dla klienta. Te dwie rzeczy są nie związane, możesz używać zupełnie innego systemu CA, czyli tego urzędu certyfikacji. Nie musi to być ten pakiet, może być inny, może być Twój, oparty o rozwiązania Microsoft’u. Ostatnio usłyszałem polecenie pakietu XCA na Windowsa, do takich bardziej Labowych, testowych zastosowań więc możesz użyć urzędu jakiego chcesz. To co jest istotne z punktu widzenia serwera Open VPN to jest, że jak już masz gotowy, wydany certyfikat, to dodajesz go do odpowiedniego miejsca i umieszczasz w konfiguracji. Dodanie odpowiedniego certyfikatu urzędu, który wystawił certyfikat dla serwera i dodanie go w konfiguracji jako zaufany certyfikat i zaufany urząd.

To jest tyle co musisz zrobić, nic więcej nie trzeba tworzyć. Nie trzeba zmieniać w kontekście certyfikatu serwera żadnych konfiguracji urządzeń końcowych. Ta konieczność będzie w momencie, kiedy będziesz nowy certyfikat tego urzędu certyfikacji zmieniał. Jest to raz na 10 lat więc całkiem możliwe, że i cały system dostępowy VPN’a będziesz modyfikował. To jest osobna historia. Na tyle dzisiaj, jeśli masz jakieś pytania to pisz w komentarzu. Za dzisiaj Ci dziękuję i do usłyszenia już za tydzień.


Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *