Wprowadzenie

W tym wpisie zajmiemy się zarządzaniem infrastrukturą sieciową w Microsoft Azure. Dowiemy się, jakie możliwości otrzymujemy na poziomie platformy oraz w jaki sposób możemy zabezpieczyć nasze środowisko. Oprócz sporej dawki wiedzy teoretycznej, omówimy sobie również praktyczne implementacje danych usług. Jeżeli chcesz wiedzieć więcej na ten temat, to cytując piłkarskiego klasyka „Siadamy głęboko w fotelach, zapinamy pasy i startujemy”.

W tej lekcji dowiesz się:

  • Czym są wirtualne sieci
  • Czym jest peering
  • W jaki sposób stworzyć wirtualną sieć
  • Czym jest Azure Firewall
  • Czym jest Azure DNS
  • …. i wiele więcej

Wirtualne Sieci

Wirtualna sieć (VNET) w Azure pozwala na stworzenie prywatnego odpowiednika sieci, jaką możesz stworzyć w środowiskach lokalnych. Wiele zasobów Azure’a pozwala na integrację z wirtualną siecią, przykładem takich zasobów mogą być wirtualne maszyny, które dzięki VNETom, mogą bezpiecznie komunikować się z innymi serwerami czy sieciami onpremises. Wirtualne sieci na platformie Microsoftu pozwalają na logiczną izolację środowiska utrzymanego w chmurze publicznej od publicznego Internetu czy też innych sieci. Vnety pozwalają na integrację z innymi wirtualnymi sieciami czy środowiskami onpremises, w tym celu Microsoft zapewnia nam wiele narzędzi ułatwiających połączenie infrastruktury sieciowej. Możemy wykorzystać usługę VPN’u czy też ExpressRoute 'a do integracji naszej sieci chmurowej wraz z siecią lokalną czy funkcjonalność Vnet Peeringu, w celu stworzenia połączenia między dwoma sieciami w Azure. Sieci stworzone na platformie Microsoft’u bazują na tych samych pojęciach co sieci lokalne, dzięki temu jesteśmy odpowiedzialni za adresację IP w danej sieci, czy możemy konfigurować serwery DNS wykorzystywane przez sieć. Jedną z zalecanych topologii sieciowych w chmurze publicznej jest Hub-and-Spoke, którego projekt infrastruktury możemy zobaczyć poniżej.

Subnety

Każda z wirtualnych sieci w Azure może być podzielona na segmenty zwane subnetami. Subnety są kolejną warstwą logicznej izolacji, która pozwala na grupowanie naszych rozwiązań. Głównymi zaletami wykorzystywania pojęcia subnetów, jest zwiększenie poziomu bezpieczeństwa oraz ułatwienie dalszego zarządzania zasobami sieciowymi. Każdy z subnetów posiada swoją pulę adresów IP zawierających się w całej puli sieci VNET. Wewnątrz jednego vnet’u pule adresów przypisanych do subnetów nie mogą na siebie nachodzić, a ich zakres musi być zapisany w formacie CIDR. Zanim stworzymy subnety w naszej sieci, warto rozważyć następujące zagadnienia.

Wymagania serwisów – Każda z usług dostępnych na platformie Azure, ma swoje wymagania powiązane z warstwą sieciową, w związku z tym jest to jedno z zagadnień, o którym warto pamiętać projektując sieci w Azure. W Azure możemy stworzyć zasoby, które będą wymagać całego subnetu tylko pod daną usługę (Azure SQL Managed Instance) lub zasoby, które bezproblemowo mogą współdzielić sieć z innymi usługami (Wirtualne maszyny).

Virtual appliances – Możesz stworzyć usługę odpowiedzialną za route’owanie i filtrowanie ruchu sieciowego między twoimi sieciami oraz subnetami. Domyślnie to Azure odpowiada za poprowadzenie ruchu między dwoma subnetami i robi to na poziomie wirtualnej sieci. Jednakże możesz to zmienić wykorzystując usługi takie jak Azure Firewall.

Service endpoints – Dzięki tej funkcjonalności możesz ograniczyć dostęp do zasobu do danych subnetów czy wirtualnych sieci. Idąc dalej możesz również blokować dostęp do usługi z publicznego internetu, a ograniczyć się jedynie do prywatnej sieci.

Network security group – Do każdego subnetu możesz przypisać Network Security Group (NSG). NSG jest to zasób pozwalający na definiowanie zasad ruchu sieciowego. Dzięki takiemu przypisaniu możesz zablokować na przykład ruch z internetu do danego subnetu.

Adresy IP

W Azure możesz przypisać adresy IP do zasobów w celu komunikacji z innymi zasobami w wirtualnych sieciach, internetem czy środowiskiem onpremises. Tak jak w sieciach lokalnych, tak samo w Azure możemy stworzyć IP dwóch rodzajów: prywatne lub publiczne.

Private IP – Używane do komunikacji wewnątrz sieci VNET oraz zintegrowanych sieci. Dzięki temu możesz wykorzystywać to IP w celu komunikacji z zasobami w innych wirtualnych sieciach Azure lub środowiskiem onpremises.

Public IP – Używane do komunikacji z Internetem.

Adresy IP w Azure mogą być przypisane dynamicznie lub statycznie. Jak się domyślasz IP statyczne jest tworzone przez administratora sieci oraz nie zmienia się podczas swojego cyklu użyteczności, w przypadku adresów dynamicznych są one tworzone automatycznie przez Azure i mogą się zmieniać. Na przykład IP Adres przypisany do wirtualnej maszyny może być zwolniony podczas gdy maszyna jest nieużywana, a w momencie startu maszyny nowy IP Adres jest generowany.

Demo – Wirtualne sieci

  1. W celu stworzenia wirtualnej sieci wchodzimy na portal Azure, a następnie wyszukujemy „Virtual Networks”

2. Pojawi nam się ekran podsumowujący wirtualne sieci w naszym środowisku. Klikamy „Create”

3. Pojawi się ekran konfiguracyjny wirtualnej sieci. Na którym musimy podać takie informacje jak region, nazwa sieci czy pula adresowa

4. Przechodzimy do okienka „Review & Create”, sprawdzamy, czy wszystko jest zgodne z naszymi wymaganiami i klikamy „Create”

5. Nasza wirtualna sieć została stworzona, możemy teraz w niej tworzyć kolejne zasoby jak wirtualne maszyny.

Network Security Group

Network Security Group (NSG), pozwala na limitowanie komunikacji między zasobami wewnątrz wirtualnej sieci. Taka grupa pozwala na umieszczenie w niej zestawu zasad, które blokują lub zezwalają na ruch przychodzący oraz wychodzący. Następnie takie kolekcje zasad przypisujemy do subnetu w celu zaaplikowania ich do wszystkich zasobów znajdujących się w danym subnecie lub do konkretnego interfejsu sieciowego. Przykładowo możemy stworzyć kolekcję zasad, które zezwalają tylko na ruch po porcie 443 z konkretnych zakresów IP lub zezwalają na ruch przychodzący tylko i wyłącznie z wewnętrznej sieci.

NSG Rules

NSG Rules, są to zasady składające się na całą kolekcję wewnątrz NSG. To właśnie te zasady opisują, jaki ruch może płynąć wewnątrz sieci, a jaki zostanie zablokowany. Wytyczne te oprócz zawierania informacji takich jak nazwa zasady, port i protokół, posiadają również przypisany priorytet, który pozwala na tworzenie bardziej skomplikowanych zestawów zasad. W skład każdej zasady wchodzi:

  • Nazwa
  • Priorytet
  • Port
  • Protokół
  • Źródło ruchu
  • Destynacja ruchu
  • Akcja

Azure sam z siebie tworzy zestaw reguł domyślnych, które zobaczysz po utworzeniu swojej własnej Network Security Group’y. Wewnątrz domyślnych zasad zobaczymy te, które limitują ruch przychodzący, ale również wychodzący.

Ruch przychodzący

Ruch wychodzący

NSG są analizowane przez system jako w pełni niezależne, co oznacza, że jeżeli chcemy pozwolić na ruch sieciowy do wirtualnej maszyny na porcie 443, to ten ruch musi być dozwolony na poziomie NSG przyłączonej do subnetu, oraz w NSG przypisanych do VM. Ruch przychodzący jest analizowany w kolejności subnet, nic. Więc najpierw są aplikowane zasady z poziomu NSG przypisanego do subnetu, a następnie te przypisane do interfejsu sieciowego. W przypadku ruchu wychodzącego kolejność ta jest odwrotna.

Application Security Groups (ASG)

Aplikacyjne grupy bezpieczeństwa pozwalają na konfigurowanie zasad ruchu sieciowego dla zestawu wirtualnych maszyn tworzących razem infrastrukturę aplikacji. Taki zestaw wirtualnych maszyn może być następnie przypisany do zasad co pozwala na zarządzanie bezpieczeństwem sieciowym dla grupy zasobów tworzących aplikację.

Application security groups

Demo – Network Security Group

  1. Aby stworzyć Network Security Group, kierujemy się do portalu, a następnie proponuję wyszukać NSG w wyszukiwarce na górnym pasku.

2. Następnie pojawi się ekran pokazujący obecnie istniejące NSG, my natomiast klikamy „Create” w celu utworzenia nowej kolekcji.

3. Ustalamy nazwę dla naszej NSG, wybieramy subskrypcję, resource grupę, a następnie klikamy „Review&Create”

4. Po utworzeniu NSG, otwieramy ją i widzimy obszar ukazujący nam podstawowe informacje oraz domyślnie stworzone zasady wewnątrz NSG.

5. Aby stworzyć dodatkową zasadę, otwieramy zakładkę „Inbound security rules” oraz klikamy „Add”

6. Pojawi nam się ekran konfiguracyjny zasady NSG. W którym musimy wypełnić wspomniane już informacje jak źródło ruchu, jego punkt docelowy, protokół, port itd. Zauważ proszę, że w źródle oraz punkcie docelowym, możemy wybrać wspomniane już Application security group.

7. Klikamy Add, zasada po paru chwilach zostanie utworzona.

8. Aby przypisać kolekcję zasad do subnetu musimy wykonać następujące kroki. Klikamy subnets w zakładkach, następnie associate i wybieramy docelowy subnet do którego NSG powinna zostać przypisana

Azure Firewall

Jedną z usług wartych rozważenia podczas projektowania oraz implementacji sieci na platformie Microsoft Azure, jest Azure Firewall. Azure Firewall jest bazującym na chmurze publicznej rozwiązaniem z zakresu bezpieczeństwa sieci. Wykorzystanie tej usługi pozwala na zabezpieczanie twoich zasobów sieciowych stworzonych w chmurze publicznej. Jest to usługa firewall jako serwis z wbudowanymi rozwiązaniami wysokiej dostępności oraz skalowalności. Dzięki niej możesz w scentralizowany sposób zarządzać politykami ruchu sieciowego pomiędzy subskrypcjami oraz wirtualnymi sieciami.

Firewall Standard overview

Jednym z zaleceń wykorzystywania Azure Firewall jest korzystanie z niego w momencie, gdy tworzymy topologię sieci bazującej na strukturze Hub-spoke. W takim wypadku sieć typu hub jest siecią, która funkcjonuje jako centralny punkt komunikacji pomiędzy środowiskami onpremises, a chmurą publiczną w danej organizacji. Z drugiej strony sieci typu spoke są sieciami połączonymi z siecią hubową i to za jej pomocą łączą się do internetu. W takiej architekturze pakiety pomiędzy siecią chmurową, a siecią onpremises są wysyłane za pomocą VPN gateway’a lub ExpressRoute’a stworzonego wewnątrz sieci typu Hub.

Hub-spoke topology in Azure

Funkcjonalności Azure Firewall

Firewall as a Service na platformie Microsoftu wnosi ze sobą szereg funkcjonalności, które pozwolą na jeszcze lepsze kontrolowanie ruchu sieciowego oraz jego filtrowanie. Do funkcjonalności tych należy wbudowany system zapewniający wysoką dostępność rozwiązania. Takie podejście pozwala na zrezygnowanie z usługi loadbalancera, aby rozprowadzać ruch pomiędzy firewallami. Z założenia Azure Firewall zrobi to sam. Kolejną z funkcjonalności, która ma bezpośredni wpływ na dostępność usługi jest jego integracja oraz łatwość w konfiguracji stref dostępności. Podczas tworzenia Firewalla, możemy zdecydować, aby został utworzony w konkretnej strefie dostępności, dzięki czemu jego dostępność będzie na wyższym poziomie. Jak już wspomniałem Azure Firewall zawiera w sobie elementy skalowalności, co pozwala mu w automatyczny sposób dostosowywać się do obecnego natężenia ruchu sieciowego. Na tym jeszcze nie koniec, Firewall jako usługa pozwala nam na zastosowanie filtrowania ruchu sieciowego na bazie FQDN’ów oraz tworzenie zasad ruchu bazującego na adresach IP. Ostatnią z głównych funkcjonalności jakie wnosi Azure Firewall jest wbudowany system filtrowania ruchu, który zaalarmuje administratora systemu w momencie, gdy zostanie wykryty ruch z podejrzanych domen czy adresów IP. Całość bazuje na informacjach zebranych z usługi Microsoft Threat Inteligence feed.

Firewall Rules

Korzystając z Azure Firewalla mamy możliwość konfiguracji trzech różnych rodzajów. Co ważne z założenia Azure Firewall blokuje cały ruch sieciowy, chyba że na niego zezwolisz. Takie podejście pozwala na w pełni świadome zarządzanie zasadami ruchu sieciowego w twojej organizacji. Do trzech rodzajów zasad należą zasady filtrowania NAT, zasady sieciowe oraz zasady aplikacyjne. Zacznijmy od tych pierwszych.

NAT Rules – Korzystając z Azure Firewall’a jesteś w stanie skonfigurować „Azure Firewall Destination Network Address Translation (DNAT)”, który pozwala na tłumaczenie oraz filtrowanie przychodzącego ruchu sieciowego do twoich subnetów. Każda z zasad stworzona na Firewallu pozwala na tłumaczenie publicznego IP oraz portu na odpowiadające prywatne IP wraz z portem.

Network Rules – Zasady sieciowe są procesowane jako pierwsze, a następnie dopiero Firewall procesuje zasady aplikacyjne. Zasady sieciowe przypominają te, które tworzyliśmy w przypadku Network Security Groups i ich działanie jest identyczne.

Application rules – Zasady aplikacyjne pozwalają na konfigurację ruchu sieciowego bazując na Fully qualified domain names (FQDN). To pozwala na zezwolenie ruchu do konkretnych aplikacji np. Windows Update.

Azure DNS

Korzystając z usługi Azure DNS, jesteś w stanie utrzymywać wpisy dns odnoszące się do twojej domeny wewnątrz Azure’a. Podczas początkowej konfiguracji konta Microsoft Azure, powstaje instancja Azure AD, która zawiera również początkową nazwę domenową. Ta nazwa jest w pełni routowalna z poziomu internetu. Początkowa nazwa powinna być używana do momentu, gdy w środowisku nie zostaną dodane dodatkowe nazwy domen. Ważną cechą początkowej domeny jest fakt, że nie może zostać ani zmieniona, ani usunięta. Jednakże jak już wspomniałem możliwe jest dodanie dodatkowych w pełni routowalnych domen w celu, korzystania z nich w środowisku Azure. Takie rozwiązanie polepsza doświadczenie użytkownika w korzystaniu z platformy oraz jej integracji. Po dodaniu dodatkowej domeny może przykładowo logować się z domeną, która jest dla niego dobrze znana zamiast korzystać z tworu Azure’owego. Aby dodać dodatkową domenę, trzeba ją pierw zweryfikować. Co oznacza, że musimy udowodnić Microsoft’owi, że faktycznie jesteśmy właścicielem tej domeny. Początkowo jak dodajemy domenę to pokazuje nam się ona w portalu, ale jest w statusie „unverified” i dopóki nie zostanie zweryfikowana, to nie może być używana przez jakikolwiek zasób Azure’a. Potwierdzenie własności domeny odbywa się za pomocą weryfikacji konkretnych wpisów DNS. Do naszej domeny możemy dodać wpisy DNS rodzaju MX lub TXT, w celu jej weryfikacji. Azure sprawdzi wartości tych wpisów i zmieni status domeny z „unverified” na „verified”, w tym momencie domena stanie się w pełni funkcjonalna.

Contoso page with DNS entry information

Azure DNS Zone

Azure DNS zapewnia stabilną oraz bezpieczną usługę DNS, za pomocą której możesz zarządzać oraz rozwiązywać nazwy domeny w wirtualnej sieci bez konieczności korzystania z dodatkowych rozwiązań DNS. Przechodzimy w tym momencie do pojęcia DNS Zone’y, którą możemy stworzyć w środowisku chmury publicznej. DNS Zone’a odpowiada za utrzymywanie oraz zarządzanie wpisami DNS dla naszej domeny. A więc aby korzystać z Azure DNS dla naszej domeny, musimy stworzyć DNS Zone dla niej, gdzie każdy wpis domenowy zostanie do niej przypisany. Azure DNS pozwala nam nie tylko na zarządzanie wpisami domenowymi dla wirtualnych sieci, ale również na delegowanie całej domeny do Azure DNS. Aby to zrobić potrzebujesz informacji na temat nazw serwerów „NS names” dla twojej domeny. W momencie gdy te nazwy zostaną wygenerowane, to musisz je przypisać do domeny nadrzędnej. Każdy z dostawców domen ma swoje własnęe narzędzie do zarządzania wpisami dns, gdzie będziesz mógł podmienić wpisy NS na Azure’owe.

Private DNS Zones

Korzystając z prywatnych obszarów DNS w Azure, możesz korzystać z własnych domen oraz nazw zamiast bazować na nazwach dostarczonych przez Microsoft. Takie rozwiązanie pozwala na dostosowanie środowiska wewnętrznego do potrzeb firmy. Prywatne DNS Zone’y pozwalają chociażby na tłumaczenie nazw wirtualnych maszyn wewnątrz wirtualnej sieci lub pomiędzy nimi.

DNS overview

Korzystanie z Private DNS, pozwala na korzystanie z pewnych zalet, które wnosi ze sobą ta usługa. Przede wszystkim eliminuje potrzebę korzystania z dodatkowych rozwiązań z obszaru DNS oraz zarządzania ich skalowalnością oraz bezpieczeństwem. Jest to możliwe dzięki temu, że Azure DNS wspiera wszystkie popularne rodzaje wpisów DNS, takie jak A, AAAA, CNAME, MX, PTR, SOA, SRV czy TXT. Dodatkowo dzięki integracji z platformą Microsofu pewne z rekordów są tworzone automatycznie podczas tworzenia wirtualnych maszyn w Azure. Kończąc temat prywatnych stref DNS warto zaznaczyć, że rozwiązanie Microsoftu pozwala na tworzenie wpisów, które współpracują jednocześnie z prywatnymi sieciami jak i internetem, a odpowiedź z DNS’a będzie zależna od tego skąd przyszło zapytanie.

Demo – Azure DNS

  1. W celu stworzenia Azure DNS Zone wybieramy się do portalu i poszukujemy serwisu za pomocą paska wyszukiwania.

2. Na ekranie pokazującym wszystkie strefy DNS w naszym środowisku klikamy „Create”

3. Wypełniamy podstawowe dane na temat naszej strefy i klikamy „Create”

4. Przechodzimy do ekranu podsumowującego nasz nowy zasób, gdzie znajdziemy informację na temat chociażby NS names, które są potrzebne, aby wydelegować zarządzanie DNS’ami domeny do Azure. My jednak zajmiemy się tworzeniem nowych wpisów, w tym celu klikamy „Record set”

5. Wypełniamy dane na temat naszego wpisu typu „A” i klikamy „Ok”

6. Teraz możemy przetestować czy tłumaczenie nazw działa poprawnie, w tym celu otwórzmy Azure Cloud Shell.

7. Następnie pytamy nasz serwer DNS o wartość wpisu A. Jak widzicie, mój wpis test.maciejpoborca.internal.com ma wartość 10.0.0.10

Praca domowa – Lab

https://github.com/MicrosoftLearning/AZ-104-MicrosoftAzureAdministrator/blob/master/Instructions/Labs/LAB_04-Implement_Virtual_Networking.md

Dodatkowe materiały do nauki

Podstawowe informacje o sieciach komputerowych – Learn | Microsoft Docs

Projektowanie schematu adresowania IP na potrzeby wdrożenia platformy Azure – Learn | Microsoft Docs

Implementowanie Windows IP i routingu maszyn wirtualnych IaaS serwera – Learn | Microsoft Docs

Zabezpieczanie i izolowanie dostępu do zasobów platformy Azure przy użyciu sieciowych grup zabezpieczeń i punktów końcowych usługi – Learn | Microsoft Docs

Wprowadzenie do Azure Firewall – Learn | Microsoft Docs

Wprowadzenie do Azure Firewall Manager – Learn | Microsoft Docs

Implementowanie systemu DNS Windows maszyn wirtualnych IaaS serwera – Learn | Microsoft Docs

Hostowanie domeny w usłudze Azure DNS – Learn | Microsoft Docs

Bezpieczny Windows DNS serwera – Learn | Microsoft Docs

Spis treści:

Wpis 00 – Wprowadzenie https://maciejpoborca.pl/2022/01/03/az-104-kurs-wprowadzenie/
Wpis 01 – Zarządzanie Tożsamością https://maciejpoborca.pl/2022/01/08/azure-az-104-kurs-zarzadzanie-tozsamoscia/
Wpis 02 – Zarządzanie oraz zgodność https://maciejpoborca.pl/2022/01/17/azure-az-104-kurs-zarzadzanie-oraz-zgodnosc/
Wpis 03 – Zarządzanie usługami Azure’a [Azure] AZ-104 Kurs: Zarządzanie usługami Azure’a • Maciej Poborca.
Wpis 04 – Administracja infrastrukturą sieciową [Azure] AZ-104 Kurs: Administracja infrastrukturą sieciową • Maciej Poborca.
Wpis 05 – Administracja połączeniem między lokacjami (Początek czerwca)
Wpis 06 – Administracja ruchem sieciowym (Początek lipca)
Wpis 07 – Administracja magazynami Azure (Początek sierpnia)
Wpis 08 – Administracja Wirtualnymi Maszynami na portalu Azure (Początek września)
Wpis 09 – Administracja usług bezserwerowych (Początek października)
Wpis 10 – Administracja usług ochrony danych (Początek listopada)
Wpis 11 – Administracja rozwiązań monitorujących (Początek grudnia)
Wpis przygotowujący do egzaminu (Koniec roku)

One Reply to “[Azure] AZ-104 Kurs: Administracja infrastrukturą sieciową”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.