Podkast 22T40 Wireguard się Nie Nadaje?
Więcej miejsc do posłuchania:
WERSJA TEKSTOWA
Cześć. Witam Cię w dzisiejszym odcinku mojego podkastu. Dzisiejszy temat to: Do czego nie używać Wireguarda? Warto sobie zdać sprawę z tego jakie są jego największe zalety. Od tego może zacznę. Przede wszystkim kompaktowa konfiguracja. Mało rzeczy do wpisania, żeby uruchomić Wireguarda. To na pewno jest plusem.
Natomiast do czego w związku z tym to narzędzie się nie nadaje? Do scenariuszy, które nie są takie proste. Jeżeli chciałbyś podłączyć np. 500 użytkowników do swojej sieci to Wireguard nie będzie się do tego zupełnie nadawał. Wyobraź sobie, że masz skonfigurować 500 stacji końcowych, 200 telefonów. To jest nie do wykonania. Musiałbyś indywidualnie na każde urządzenie się w jakiś sposób zalogować, mieć je fizycznie dostępne i skonfigurować sobie taki scenariusz. W moim odczuciu do takiego remote access, czyli do zdalnego dostępu – ten tryb, który się nazywa Road Warrior w przypadku Wireguarda, on jest dla mnie taki… Za prosty. Jeżeli chodzi o typowe konfiguracje Site-to-Site to wydaje mi się, że Wireguard jest dobry ponieważ konfigurujesz tam z jakiego adresu się łączysz, do jakiego adresu się łączysz, jakie sieci przepuszczasz. Ta konfiguracja jest statyczna, robisz to rzadko i do tego się nadaje. Natomiast jeśli robisz to rzadko to tak na prawdę możesz równie dobrze zestawić IP-SECa i też będzie działać, też będzie dobrze tak jak do tej pory było robione.
W przypadku zdalnego dostępu brakuje nam użytkownika i hasła, czyli najczęściej jak mamy instalację użytkowników rozproszonych, to mamy jakąś domenę, do tej domeny jakoś synchronizujemy użytkowników. Ewentualnie wzbogacamy bezpieczeństwo tego połączenia przez dwukierunkowe uwierzytelnienie w oparciu o certyfikaty. Czyli wiemy kto wystawił certyfikat na urządzeniu do którego się łączymy i wiemy jaki certyfikat, jaki urząd wystawił użytkownikowi, to poświadczenie. To nam daje troszeczkę więcej możliwości weryfikacji i więcej informacji o łączącym się. Teraz spójrz na taki typowy scenariusz. Jeśli chodzi o dostęp zdalny, teraz mówimy o zdalnych użytkownikach, to najczęściej jak chcemy dać dostęp to w dzisiejszym świecie najlepsza rekomendacja jest taka, że powinniśmy dać dostęp tylko do tego, do czego użytkownik potrzebuje mieć dostęp. Ale jak my jesteśmy w stanie to określić skoro przy Wireguardzie nie jesteśmy w stanie powiedzieć z jakiego adresu IP nam się będzie łączył, przecież te adresy są zmienne jeżeli z internetu się nam łączy użytkownik z różnych miejsc. Do tego nie mamy nazwy użytkownika a nazwa użytkownika i hasło to jest element, który jest najczęściej podstawowym klockiem, pozwalającym nam zorientować się kto to jest lub w jakiej jest roli. Sprawdzamy np. nazwę użytkownika i wada jest w takiej grupie. Tu w Wireguardzie nie ma czegoś takiego. Nie ma ma w ogóle użytkownika, w związku z tym nie możemy takiej wyższej warstwy, czy skomplikowania przepisania roli, ograniczenia dostępu, przypisać.
Do czego więc się Wireguard nadaje? Jak wspomniałem do trybów Site-to-Site jest ok. Do takiego trybu, gdzie z domu masz stałe podłączenie IP i łączysz się do pracy to też się moim zdaniem nada. Natomiast tam, gdzie będziesz miał zmienne adresy IP już trochę mniej. Chyba, że założysz, iż ta instancja Wireguarda np. ta dla administratorów, jest tylko dla jednego typu użytkownika. Czyli 2,3,4 administratorów z Twojej firmy łączy się do sieci za pomocą Wireguarda – do sieci firmowej, zarządzania, jest odpowiednio połączony, do odpowiedniej sieci – np. do stacji przesiadkowej i ten typ dostępu jest tylko dla tego typu osób. To jest ok. Natomiast jeśli chodzi o chociażby rozliczalność, to tutaj ponieważ nie ma mowy o użytkowniku to nie ma też mowy o rozliczalności. Jak mamy zdalnego użytkownika, któremu się zmienia publiczny adres IP to jak mamy potem powiedzieć kto się łączył? Nawet jak mamy pięciu administratorów to nie jesteśmy w stanie jednoznacznie stwierdzić – zwłaszcza w przypadku, kiedy jest dochodzenie i kwestia tego, kto to zrobił, to jak mamy wtedy udowodnić komuś, że to był ten a nie tamten administrator.
To są takie elementy, których w moim odczuciu tu brakuje. Sporo brakuje, jeżeli chodzi o taki pełny dostęp w przypadku bardziej wymagających klientów. To jest zresztą podobna historia do tego co się dzieje w Open VPN-ie. Tam jest trochę więcej rzeczy. Myślę, że kiedyś nagram taki przykład konfiguracji, pokażę Ci jakie rzeczy ewentualnie można skonfigurować. Taką instrukcję dotyczącą serwera Open VPN już robiłem, także konfigurację klienta z serwerem. Myślę również o zrobieniu na MikroTiku takiej konfiguracji od strony serwera. Klient wtedy będzie mógł się podłączyć.
To co możemy na Open VPN zrobić w porównaniu do Wireguarda, to to, że możemy użyć użytkownika, hasła i certyfikatu jednocześnie. Więc jest tutaj większe pole do popisu a w certyfikacie najczęściej możemy też umieszczać dodatkowe informacje, np takie jak: w jakiej grupie on się znajduje lub jaką rolę pełni. Jakie informacje w poszczególnych polach sobie wymyślimy, to tam będziemy mogli je umieścić i potem jak się użytkownik łączy to możemy po tych polach weryfikować i przyznawać dostęp. W Open VPN nadal nie ma Firewalla czy takich reguł, które per użytkownik łatwo by nam mogły zróżnicować ten dostęp. To jest bardziej rzecz, którą ja widziałem tylko w komercyjnych rozwiązaniach. Kiedyś też Ci to pokażę, jeśli jesteś zainteresowany – napisz w komentarzu. Mam też taki pomysł, żeby pokazać jak takie narzędzie komercyjne, bardzo rozbudowane wygląda w kontekście dostępu zdalnego i jak te rozwiązania komercyjne w zakresie Open Source się do tego odnoszą. Jakie mamy możliwości w jakim narzędziu. Wiadomo, że za tym idzie jakaś cena. Aczkolwiek z tą ceną to też jest ciekawostka, ona coraz częściej jest w wersji subskrypcji u różnych producentów, w różnych usługach i jest liczona per użytkownik. W związku z tym to już przestaje być takie kosztowne w kontekście ceny za użytkownika. Jeżeli mówisz tutaj o dostępie administracyjnym, to ilu tych użytkowników może być, kilku? Kilkunastu? To już jest zdecydowanie niewielka grupa a jeżeli płacisz za dostęp VPN per użytkownik to już nie jest – dla firmy przynajmniej – takie kosztowne.
Gdy mówisz o firmie, gdzie masz – załóżmy – dwa tysiące użytkowników, to będzie to robiło na pewno pewną cenę takiego komercyjnego rozwiązania. Z drugiej strony, jak popatrzysz sobie na takiego Wireguarda, to jak miałbyś wykonać konfigurację do podłączenia tych dwóch tysięcy użytkowników. To jest po prostu zwyczajnie nie do wykonania. Już nie mówiąc o tym, jak tym zarządzać, jak to monitorować. Przy większej skali zaczynają się pojawiać takie pytania – jakie masz narzędzie do troubleshooting-u, czyli takiego wykrywania różnych problemów i radzenia sobie z nimi. Najlepiej w sposób automatyczny. To jest też ewidentnie tendencja, którą widać. Czyli idziemy w stronę dynamizacji, konfiguracji – najpierw sobie możemy potworzyć pewne profile, scenariusze, serwisy a potem w zależności od tego kto, jak się łączy to mu się automatycznie przypisuje. W przypadku Wireguarda w ogóle nie ma takiej warstwy i to nie jest założenie tego narzędzia, to jest też ciekawe.
Żeby właściwie zbudować sobie oczekiwania, Wireguard z założenia ma być narzędziem, które jest bardzo proste w implementacji. Twórca chwali się, że 4000 linijek kodu zamyka całą funkcjonalność Wireguarda więc założenie i nastawienie, tego twórcy jest takie, że to będzie bardzo proste narzędzie do typowych, prostych scenariuszy. Jeżeli chcesz sobie zrobić dostęp zdalny do swojego domu, nie zależy Ci na rozliczalności i niczym innym bo tylko Ty się tam łączysz także nie ma tu żadnego ryzyka, że ktoś się podłączy za Ciebie, to jest to dobre narzędzie. Jest relatywnie łatwe w konfiguracji, masz tutaj klucz prywatny i publiczny. Generalnie ta część mechanizmu jest bardzo podobna do tego co jest np. w Open VPN czy w IP SEC w oparciu o certyfikaty. Nie potrzebujesz nic więcej bo łączysz się tylko Ty. Ewentualnie jak jest to jakaś nie krytyczna instalacja albo poziom bezpieczeństwa, który jest oczekiwany, nie jest za bardzo wysoki, to ta łatwość zwycięża i w tę stronę można pójść. Warto pójść w tę stronę. Wszystko zależy od Twoich wymagań.
Natomiast jeśli mówimy już o bardziej zaawansowanych rozwiązaniach to w moim odczuciu się po prostu to narzędzie Wireguardowe się do tego nie nadaje. Więc w zależności od tego, co potrzebujesz wykorzystać. Na dziś to tyle, dziękuję Ci za uwagę. Jeśli masz jakieś pytania lub sugestie tematu, pisz w komentarzu. Jeśli tylko będę miał wiedzę to odpowiem Ci w którymś z kolejnych podcastów. Do zobaczenia.






