Podkast 21T40 Unieważnianie Certyfikatów OpenVPN [Konfiguracja]
Więcej miejsc do posłuchania:
WERSJA TEKSTOWA:
Cześć, witam Cię w dzisiejszym odcinku mojego podcastu – temat – odwołanie certyfikatów dla połączeń VPN. Zacznijmy od tego, dlaczego lepiej stosować certyfikaty w dostępie VPN-owym a nie inne metody typu użytkownik i hasło. Najważniejszą zaletą wykorzystywania certyfikatów jest to, że możemy tych certyfikatów zrobić tyle, ile potrzebujemy dla każdego urządzenia, które ma być podłączone do naszej sieci. Często jest tak, że chcemy w tym dostępie VPN-owym dać dostęp zarówno dla telefonu jak i dla laptopa i być może jakiegoś jeszcze innego urządzenia.
Jeżeli wystawiamy certyfikaty, to mamy możliwość bardziej elastycznej polityki dla różnego typu urządzeń. Co więcej możemy identyfikować jednoznacznie każde z tych urządzeń, czyli możemy powiedzieć, że to jest laptop użytkownika Kowalski, że to jest telefon użytkownika Kowalski lub inny i dzięki temu mamy dużo większą granularność kontroli nad tym co ma do nas dostęp. Kolejny bardzo istotny element jest taki, że jeżeli zautomatyzujemy proces wysyłania tych certyfikatów i usuniemy użytkownika końcowego jako element taki, który jest potrzebny do konfiguracji tego dostępu VPN-owego to jest dla nas łatwiej. Administracyjnie mamy mniej problemów, bo najczęściej kłopotem jest właśnie użytkownik końcowy, który ma różną wiedzę, różne umiejętności, a jeżeli to jest często jeszcze struktura rozproszona po całej Polsce, po całej Europie czy po całym świecie, to problem się potęguje. W związku z tym certyfikaty wydają się najlepszym sposobem dostępu VPN-owego, ale jednocześnie wymagają trochę więcej infrastruktury i trochę więcej wiedzy jak ta infrastruktura ma działać.
Więc jeżeli chodzi o koncepcję, do której Cię zachęcam, czyli koncepcję robienia dostępu VPN-owego w oparciu o certyfikaty, to trzeba mieć własny urząd CA. W ramach tego urzędu, odwoływanie, o którym będziemy dziś mówić, można konfigurować generując listy CRL. Ja pokazuję w poniedziałkowym odcinku jak robię to w oparciu o Open VPN i jego urząd certyfikacji. Jeżeli natomiast używasz innego firmowego urzędu certyfikacji, to oczywiście nie ma przeszkód, żeby dowolne certyfikaty, wygenerowane przez dowolny urząd używać w takim dostępie. Jedyne co jest później potrzebne, to urząd pośredni, dla takiego np OpenVPN-a, lub dla terminatora tych VPN-ów odpowiedni certyfikat, który jest w łańcuchu zaufanych urzędów certyfikacji. Tak czy inaczej potrzebujesz CA lub dodatkowo pośredniego CA.
Jeżeli masz gotowy proces do wygenerowania w procesie np tzw. onboardingu, tj. pracownik przynosi nowe urządzenie, załóżmy, że jest ono firmowe. Pierwszy raz wyciąga je z pudełka, np nowy telefon. W jaki sposób powinien być on zaopatrzony w certyfikat? Jeżeli używasz jakiegoś narzędzia do zarządzania, a zapewne w takim przypadku będziesz używał – do zarządzania tymi Endpointami , czyli tymi telefonami, np Microsoft Intune, to takie narzędzie potrafi, zarządzając urządzeniami końcowymi wygenerować certyfikat, wysłać i zainstalować go na telefonie.
Jeżeli natomiast zarządzasz komputerami w domenie, to z GPO jesteś w stanie wygenerować taki certyfikat i wysłać go na stację końcową w ramach polityki grupowej. To z kolei oznacza, że możesz się tym i certyfikatami posługiwać. Jeżeli chciałbyś zrobić dostęp VPN-owy – abstrahując od tego, jakiego narzędzia użyjesz – ja akurat pokazywałem w moim przykładzie OpenVPN-a, jako darmowe narzędzie, ale każde nowoczesne narzędzie, które udostępnia VPN-a, powinno mieć możliwość realizacji VPN-a w oparciu o certyfikaty. Więc niezależnie od tego, jakiego narzędzia użyjesz, możesz i powinieneś użyć list odwołań dla tych certyfikatów. Jak się to robi w konkretnym narzędziu, to zależy oczywiście od narzędzia. Ja, w przypadku OpenVPN-a pokazuję, jak wygenerować taki CRL. Jest to tak samo proste jak generowanie certyfikatu, czyli po prostu z parametrem odwołania generuje się dany skrypt i w efekcie otrzymujemy dodanie do listy certyfikatów odwołanych nr seryjny danego certyfikatu.
Jeśli teraz skonfigurujemy nasz serwer VPN-owy tak, aby sprawdzał tą listę odwołań – to dla każdego połączenia, które będzie realizowane, będzie sprawdzane, czy nr seryjny tego certyfikatu jest na liście odwołań, jeżeli będzie, to oczywiście połączenie zostanie odrzucone, o to dokładnie nam chodzi. Podsumowując, użytkownik końcowy, nie ma wpływu na naszą listę odwołań, nie ma do niej dostępu i możliwości jakiejkolwiek modyfikacji, natomiast my, jak najbardziej mamy taką możliwość.
Jeszcze jedna ważna rzecz, jeśli chodzi o certyfikaty, to, że one też mają z założenia jakąś swoją datę i to też, jest bardzo ważne, bo podwyższa poziom bezpieczeństwa, dlatego, że każdy certyfikat powinien kiedyś sam z siebie wygasnąć. Oznacza to, że nawet jeżeli zapomnimy i jakiś nasz proces, nie uwzględnia odwołań tych certyfikatów, czy w jakiś sposób ich usuwania, to zawsze ten czas upływu ważności tych certyfikatów jest istotny. Tak samo jest istotny czas ważności urzędu pośredniego lub głównego, który wystawia dany certyfikat. Jeżeli dowolna z tych dat ulegnie przedawnieniu, to w tym momencie dany certyfikat, jest nieważny. Oczywiście najczęściej posługujemy się, tym najkrótszym okresem, czyli datą ważności certyfikatu końcowego, ale tutaj też trzeba pamiętać o tym, że jeżeli wygaśnie Ci urząd pośredni lub główny. Oczywiście im ważniejszy ten urząd, tym ma on dłuższy okres ważności tego certyfikatu. Powinien on wygenerować nowy certyfikat i wtedy wszystkie kolejne certyfikaty, powinny być regenerowane.
Jak widzisz, trzeba pamiętać o kilku rzeczach, używając tego schematu certyfikatów, ale jest to bez wątpienia dużo wyższy poziom bezpieczeństwa. Możesz tych samych certyfikatów używać w dostępie VPN-owym, w dostępie 802.1x do sieci bezprzewodowej czy przewodowej – jak sobie to zaplanujesz. Ważne, że jak już masz ten certyfikat na urządzeniu końcowym, to możesz się nim łatwo posługiwać. Firmy, w których ja pracowałem i działało to dobrze, zawsze ten proces generowania, wysyłania regeneracji certyfikatów był automatyczny. To bardzo istotny czynnik, by z sukcesem wdrożyć sobie taki proces związany z certyfikatami, żeby to wszystko działo się automatycznie. Jeśli teraz korzystasz klasycznie, np dostęp VPN-owy w oparciu o użytkownika i hasło, to oczekujesz, że użytkownik będzie wpisywał login i hasło – przynajmniej raz do zapamiętania w tej aplikacji. Jest to element, który przy dużej skali, jakiś niewielki procent użytkowników stanowi kłopot, dzwonią oni wtedy na infolinię, trzeba im pomagać i rozwiązywać w jakiś sposób te problemy. Więc jest to też element, który pomaga – używając certyfikatów – ominąć typowe problemy, związane z końcowym użytkownikiem.
Jeżeli masz ochotę zobaczyć, jak się to konfiguruje, to zapraszam Cię w poniedziałek. Jeśli masz jakieś pytania to pisz w komentarzu, jeśli nie to tyle na dziś. Do usłyszenia już za tydzień.