Chmura w praktyce – część 1 – VPN

Na wstępnie chciałbym zaznaczyć, że żaden z moich wpisów nie jest wpisem sponsorowanym. Mam zamiar pokazywać tutaj różne produkty, ich wady i zalety. Nie będę ukrywał, że najczęściej będą to produkty, które sam wdrażam klientom – ale to chyba dobrze, bo na ich temat mam większą wiedzę. Mnogość rozwiązań w każdym temacie zmusza do skupienia się na czymś bo inaczej nie będę w stanie nic konkretnego pokazać. Przygodę z chmurą publiczną chciałbym zatem rozpocząć od rozwiązania Microsoftu – Azure. Dlaczego? Bo sam ją teraz testuje. W miarę wolnego czasu chętnie skupię się na innych rozwiązaniach, mogę też pokusić się o porównanie. W tym momencie jednak moim celem jest pokazanie na przykładzie tego, w jaki sposób usługi chmurowe mogą przyczynić się do usprawnienia pracy i zwiększenia bezpieczeństwa danych w placówce medycznej. Zaczynajmy zatem swoją przygodę z chmurą!

We wpisie „Co to jest chmura i czy może nam się przydać?” opowiedziałem (nic odkrywczego) o rodzajach chmury i sposobach jej wykorzystania. Zakładajmy zatem szybko konto i logujmy się do swojej chmury aby zobaczyć jak to wygląda w praktyce. Microsoft daje nam 170 euro i 30 dni na zabawę. Po tym czasie możemy korzystać z zasobów darmowych przez kolejny rok. W szczególnych przypadkach z pomocą resselera (np. mnie) można bez problemu testową usługę przedłużyć. Albo założyć nowe konto testowe 😉 Z minusów – w celach aktywacyjnych trzeba podać dane swojej karty kredytowej. Też się krzywiłem ale spokojnie, nic bez naszej wiedzy z konta nie ma prawa zostać zabrane i tak się nie stanie.

Pierwsze logowanie

Żeby zalogować się do usługi musimy  mieć swoje konto w MS. Wejdźmy najpierw na stronę https://azure.microsoft.com/pl-pl/free/ (tutaj można przeczytać więcej info o możliwościach testów) a następnie „Rozpocznij bezpłatnie”. Zostaniemy przekierowani na stronę logowania MS i jeżeli mamy konto wystarczy się zalogować. Jeżeli nie – musimy przejść do rejestracji nowego konta.

Możemy wybrać dwie metody weryfikacji konta – albo telefonicznie albo mailowo. Na wybrane medium przyjdzie nam hasło, które będziemy musieli wpisać potwierdzając, że to nasze. Później jeszcze tylko captcha (przepisanie tekstu z obrazka) i wypełnienie formularzy z danymi:

Na tym etapie musimy podać numer telefonu a następnie wybrać rodzaj weryfikacji (sms lub telefon):

Później zostają już (tylko) dane karty:

zatwierdzenie umowy licencyjnej i jesteśmy w domu.

Następnie po przekierowaniu, lub po wejściu na stronę https://portal.azure.com jesteśmy po raz pierwszy w swoich zasobach chmurowych. Oczom naszym ukaże się dashboard:

Proponuję poklikać tutaj z 10 minut i wiele rzeczy stanie się jasne. Możliwości dopasowania do swoich potrzeb są ogromne – zarówno pod kątem wyglądu jak i elementów wyświetlanych. W miarę dodawania nowych usług nasza strona główna będzie ewoluowała – musimy się po prostu tego nauczyć. Praca tutaj jest w miarę intuicyjna i przyjemna. Jak czegoś nie wiemy – Google wie wszystko a MS dokumentację ma.

Jak widzicie przeklikanie wszystkich usług graniczy z cudem. Tyle tego jest a do tego cały czas dodawane są kolejne. Warto też zaznaczyć, że w Azure nie są dostepne usługi Office365 – czyli popularnego pakietu do tworzenia i zarządzania dokumentami w chmurze. To odrębny i wbrew pozorom również bardzo rozbudowany temat.

Tworzenie VPN Point-to-Site do chmury

Długo zastanawiałem się od czego zacząć. Zdecydowałem, że zacznę od końca. Utworzymy sobie (jeden z wielu możliwych do utworzenia) szyfrowany kanał komunikacji pojedynczej stacji roboczej (czy serwera, to bez znaczenia) do naszej instancji chmurowej a konkretniej – do jednej z nowo utworzonych sieci wirtualnych. W tej sieci na dalszym etapie będziemy mogli tworzyć sobie maszyny wirtualne czy inne usługi do których będziemy chcieli mieć dostęp z poziomu komputerów w placówce. Jeżeli chodzi o pytania dotyczące bezpieczeństwa (bezpieczeństwo to raz a RODO dwa :)) to już  odpowiadam. Połączenia w tym modelu są szyfrowane na dwa sposoby:

  • Secure Socket Tunelling Protocol (SSTP) – używany głównie w systemach Windows protokół przenoszący ramki PPP (te, które odpowiadają za komunikację w modelu Point-to-Point i w naszym przypadku za Point-to-Site) poprzez bezpieczny kanał szyfrowania Transport Layer Security (TLS) i jego poprzednika – Secure Socket Layer (SSL)
  • Internet Key Exchange version 2 (IKEv2) – protokół transmisji danych poprzez protokół IpSec.

Opis działania tych protokołów jest tutaj zbędny. Proponuję po prostu przyjąć, że połączenie to jest bezpieczne na nasze potrzeby. W przypadkach szczególnych trzeba sytuację analizować i dopasowywać do szczególnych potrzeb a tutaj pole do popisu jest.

Aktualnie możliwe jest połączenie z następujących systemów operacyjnych:

  • Windows 7 (32-bit and 64-bit)
  • Windows Server 2008 R2 (64-bit only)
  • Windows 8 (32-bit and 64-bit)
  • Windows 8.1 (32-bit and 64-bit)
  • Windows Server 2012 (64-bit only)
  • Windows Server 2012 R2 (64-bit only)
  • Windows Server 2016 (64-bit only)
  • Windows 10
  • OSX version 10.11 for Mac (El Capitan)
  • macOS version 10.12 for Mac (Sierra) .

Samych usług VPN Microsoft ma co najmniej kilka. Prawie każdą z konfiguracji możemy zrobić na różne sposoby (np. wyklikując lub korzystając z linii komend PowerShella). Więcej o tych sposobach a także o możliwościach konkretnych modeli a także o tym jak dany model połączenia skonfigurować można przeczytać tutaj: https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-plan-design . Jeżeli chodzi natomiast o pełną konfigurację tego co przestawiłem poniżej to wersję oficjalną na której bardzo mocno bazowałem znajdziecie pod tym adresem .

Dodawanie sieci wirtualnej i bramy dla VPN

Wejdźmy na Marketplace i wpiszmy „Virtual Network”. Zaznaczmy żądaną opcję , „deployment model” wybierzmy „Resource Manager”.

Wypełnijmy pola formularza w następujący sposób (subscription mamy do wyboru tylko Free Trial):

Czyli tworzymy wirtualną sieć o nazwie VNet1 (192.168.0.0 – 192.168.255.255) z podsiecią FrontEnd dla naszej infrastruktury (192.168.1.0 – 192.168.1.255). Następnie musimy stworzyć w naszej sieci wirtualnej  podsieć dla bramy domyślnej – klikjijmy na +Gateway subnet dla naszej podsieci. w ustawieniach sieci:

i podajmy jakąś wolną podsieć z zakresu naszej sieci. Niech to będzie 192.168.200.0/24:

Teraz stwórzmy wirtualną bramę dla swojej usługi. W znanym już menu +New wpiszmy „Virtual network gateway”. Uzupełnijmy pola wybierając i wpisując następujące ustawienia (subscription to oczywiście Free Trial):

W tym miejscu musimy się chociaż na chwilę zatrzymać. Jeżeli chodzi o Gateway type  to jak się domyślamy rodzaje bram. Te rodzaje różnią się od siebie (w skrócie) gwarantowanym transferem oraz ilościom kanałów, które można utworzyć a co za tym idzie ceną. Więcej informacji na temat cen i sposobów rozliczania dostępne jest tutaj . Jeżeli chodzi o standardowe wykorzystanie naszego VPNa – do połączeń dla użytkowników wybieramy po prostu VPN i odpowiedni typ i SKU (który mówi o cenie, transferze oraz ilości tuneli). W przypadku gdybyśmy potrzebowali większego transferu – na przykład chcąc robić migrację większej ilości danych przez narzędzie, lub jakieś mechanizmy backupu itp. ExpressRoute pozwala korzystać z bardziej zaawansowanych protokołów WAN niż zwykły Internet (np. MPLS) i osiągać transery do 10 Gbps. To już kwestia indywidualnych potrzeb, w każdym razie warto zapamiętać, że w przypadku gdy ktoś nie ma pewności czy wybrać chmurę ze względu  na potrzebę zapewniania stabilności i szybkości transferu to nie ma się o co martwić. Zawsze zrobi się tak, jak będzie trzeba . Więcej info o samym ExpressRoute znajdziecie tutaj .

Idąc dalej w konfiguracji wybierzmy naszą wirtualną sieć oraz kliknijmy w Create public IP adress i tam wybierzmy ustawienia Basic:

Następnie dajemy Create i rozpoczyna się proces tworzenia naszej bramy VPN.

Certyfikaty

Już sporo za nami – mamy utworzoną podsieć dla naszego środowiska z którym będziemy chcieli się łączyć, utworzyliśmy dla niego bramę domyślną. Teraz musimy zająć się certyfikatami. To zadanie musimy wykonać w dwóch etapach – po pierwsze wygenerować nasz główny certyfikat, który będzie miał za zadanie pilnować od strony platformy Azure naszych połączeń a następnie wygenerować certyfikat/certyfikaty dla klientów.

Zadania te możemy wykonać na dwa sposoby. Albo na jakimkolwiek PC z systemem operacyjnym Windows 10 (w przypadku gdy takowego nie mamy możemy na tą potrzebę utworzyć sobie na naszym koncie wirtualną maszynę na naszym Azure – ja tak zrobiłem) lub skorzystać z narzędzia MakeCert.

Jeżeli chodzi o bezpieczeństwo to nasze certyfikaty są oparte o algorytm hashujący sha256 a klucze zaszyfrowane są w schemacie Base64. Certyfikaty zapisane są w standardzie X.509 .

Procedura generowania została krok po kroku opisana tutaj i nie ma sensu jej powielać. W przypadku gdyby ktoś miał jakieś konkretne pytania zapraszam do ich zadawania. Jeżeli przejdziecie krok po kroku procedurę wszystko się uda.

Dokończenie konfiguracji na bramie domyślnej

Mając certyfikat główny możemy do dodać do konfiguracji naszej bramy.  W tym celu przechodzimy do jej konfiguracji – do zakładki Point-to-site Configuration:

Tam po pierwsze wpisujemy adres puli prywatnej dla bramy (adresy z tej puli będą dostawać komputery klientów i z tej sieci będzie routing do naszej sieci wirtualnej):

Następnie wybierzmy typy tuneli (opisane wcześniej) oraz nasz authentication type:

i kopiując nasz wygenerowany wcześniej root cert ze zwykłego notatnika:

nadajmy mu nazwę Rootcert1 i wklejmy go do konfiguracji bramy:

Instalacja certyfikatów u klientów

Teraz wystarczy wygenerowane wcześniej certyfikaty zainstalować u klientów. Dla Windows i Mac procedura opisana jest tutaj . Jest to dodawanie certyfikatów standardowe dla wszystkich usług i pewnie nie raz tak robiliśmy. Generowanie certyfikatów (jakby ktoś przeoczył) dostępne jest tutaj w sekcji na samym dole – Export a client certificate .

Pobieranie, konfiguracja i test klienta VPN

Sprowadza się to do ściągnięcia instalki z konfiguracji bramy (Download VPN Client na górze konfiguracji). Szczegóły opisane są tutaj (wrzucam ponieważ dla iOS wygląda to troszkę inaczej niż dla Windows gdzie wystarczy ściągnąć oprogramowanie,m zainstalować i mając zainstalowany już na kliencie certyfikat po prostu się podłączyć. Ale to też jest do zrobienia.

Finalnie (w Windowsie) odpalamy naszego klienta:

i połączenie zostanie utworzone:

Na tego potwierdzenia załączam screen ze swojego połączenia z jak widać przypisanym poprawnie adresem IP z puli:

Koszty

Wcześniej wspomniałem coś o kosztach i metodach rozliczeń tej usługi. Generalnie w celu estymacji jakichkolwiek cen w Azure i zapoznania się z metodami rozliczania polecam kalkulator znajdujący się pod tym linkiem: https://azure.microsoft.com/pl-pl/pricing/calculator/ . Będę go tutaj jeszcze używał.

Dla naszej usługi sprawa kosztów przedstawia się następująco:

Microsoft Azure Estimate
Twoje szacowanie
Service type Custom name Region Description SKU Estimated Cost
VPN Gateway West Europe Typ Bramy VPN Gateway, warstwa Podstawowa sieć VPN, godz. korzystania z bramy: 160, 50 GB, typ bramy VPN Gateway na wyjściu: VPN €8,16
Virtual Network Transfer danych z regionu Europa Zachodnia do regionu Europa Zachodnia: 50 GB €0,84
Support Free level Support €0,00
Monthly Total €9,00
Annual Total €108,03

 

 

 

 

Założyłem 50 GB miesięcznego transferu wychodzącego i tyle samo przychodzącego przy 160 godzinach w miesiącu działania bramy. To 38 zł przy transferze Basic (tutaj jeszcze raz pełny cennik) – 128 połączeń, transfer 100 Mb/s. Czy to dużo czy mało? Nie mnie odpowiadać na to pytanie. To kwestia indywidualnych potrzeb – w przypadku VPN potrzeb związanych z poziomem zapewnienia bezpieczeństwa, ilości połączeń, czasu dostępności połączenia (co także przekłada się na bezpieczeństwo), transferu miesięcznego a także szybkości. Jedno jest pewne. Możliwości dopasowania każdej z usług w tym modelu, także kosztowego dopasowania, są tak ogromne, że moim zdaniem każdy znajdzie optymalny dla siebie sposób.

Podumowanie

Uff udało się. Trochę tego było, prawda? Ale udało nam się skonfigurować naszą bazową usługę dla chmury. Jest to do przeklikania, trzeba tylko poznać strukturę i zależności. Jak widać bezpieczeństwo jest tutaj priorytetem. Aby jeszcze troszkę dołożyć odnośnie naszego słynnego RODO to istnieje możliwość uruchomienia swojej infrastruktury chmurowej w dwóch lokalizacjach w Niemczech. Jest to o tyle istotne, że lokalizacje te posiadają certyfikat ISO/IEC 27018:2014 charakteryzujący się spełnianiem podwyższonych norm z zakresu ochrony danych osobowych. Więcej można przeczytać tutaj. W innym przypadku zawsze można skorzystać z Holandii czy Irlandii. W każdym razie MS w zakresie bezpieczeństwa danych i wymogów RODO udostępnił (i stale rozwija) platformę na której możemy zobaczyć bardzo rozbudowaną dokumentację potwierdzającą zgodność z normami przetwarzania danych. Można tam także zobaczyć przykłady wdrożeń a także (narazie tylko dla o365 ale już wkrótce dla Azure) platformę, dzięki której sami będziemy mogli przeprowadzić audyt swojej chmury pod kątem konkretnych zapisów z RODO. Wszystko dostępne jest tutaj ale to biorąc pod uwagę, że jest oddzielnym i bardzo złożonym tematem czeka w kolejce na liście postów do napisania na blogu.

Zachęcam do testów!

P.S. Jak ktoś chciałby konto testowe bez podawania danych karty zapraszam 😉


Source: itwmedycynie