Grupy zabezpieczeń sieci i grupy zabezpieczeń aplikacji
Filtruj ruch przychodzący i wychodzący za pomocą reguł NSG oraz logicznie grupuj maszyny wirtualne przy użyciu grup zabezpieczeń aplikacji, aby uprościć zarządzanie regułami.
Grupy zabezpieczeń sieci i grupy zabezpieczeń aplikacji to bezpłatna lekcja Azure Fundamentals na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Azure Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Azure Fundamentals zawiera 4 lekcji w sumie.
Czym jest Network Security Group?
Network Security Group (NSG) działa jak wirtualna zapora dla zasobów Azure. Zawiera listę reguł zabezpieczeń, które zezwalają na ruch sieciowy przychodzący i wychodzący lub go blokują na podstawie źródłowego adresu IP, docelowego adresu IP, numeru portu i protokołu. NSG można skojarzyć z podsieciami (wpływając na wszystkie zasoby w podsieci) lub z pojedynczymi interfejsami sieciowymi (wpływając na jedną maszynę wirtualną). Gdy istnieją zarówno NSG podsieci, jak i NSG interfejsu sieciowego, Azure ocenia obie — w przypadku ruchu przychodzącego najpierw stosowane jest NSG podsieci, a w przypadku ruchu wychodzącego najpierw stosowane jest NSG interfejsu sieciowego.
# Create an NSG
az network nsg create \
--resource-group myRG \
--name myNSGStruktura reguły NSG
Każda reguła NSG ma następujące właściwości: Priority — liczba z zakresu od 100 do 4096; niższe wartości są oceniane jako pierwsze. Source/Destination — adres IP, zakres CIDR, znacznik usługi lub application security group. Source/Destination Port — konkretne numery portów lub zakresy (np. 80, 443, 3389 lub 1024-65535). Protocol — TCP, UDP, ICMP lub Any. Action — Allow lub Deny. Reguły są oceniane według priorytetu; wygrywa pierwsza pasująca reguła. Jeśli żadna reguła nie pasuje, stosowane są reguły domyślne: blokowanie całego ruchu przychodzącego i zezwalanie na cały ruch wychodzący.
# Allow HTTPS inbound from the internet
az network nsg rule create \
--resource-group myRG \
--nsg-name myNSG \
--name AllowHTTPS \
--priority 110 \
--direction Inbound \
--source-address-prefixes Internet \
--destination-port-ranges 443 \
--protocol Tcp \
--access AllowDomyślne reguły NSG
Każda NSG zawiera trzy domyślne reguły przychodzące i trzy domyślne reguły wychodzące z priorytetami 65000–65500, których nie można usunąć. Domyślne reguły przychodzące: AllowVnetInBound (zezwala na ruch z VNet), AllowAzureLoadBalancerInBound (zezwala na sondy kondycji Azure), DenyAllInBound (blokuje wszystko inne). Domyślne reguły wychodzące: AllowVnetOutBound, AllowInternetOutBound, DenyAllOutBound. Można zastąpić ustawienia domyślne, dodając reguły z niższymi wartościami priorytetu (100–64999), które zadziałają przed regułami domyślnymi.
Znaczniki usług w regułach NSG
Znaczniki usług to wstępnie zdefiniowane grupy zakresów adresów IP usług Azure, które pozwalają tworzyć zwięzłe reguły NSG bez określania długich list adresów IP zmieniających się z czasem. Typowe znaczniki usług to: Internet — wszystkie adresy IP spoza VNet. VirtualNetwork — wszystkie adresy IP w VNet. AzureLoadBalancer — adres IP infrastrukturalnego modułu równoważenia obciążenia Azure. Storage — adresy IP usługi Azure Storage dla wybranego regionu. AzureActiveDirectory — punkty końcowe Entra ID. Firma Microsoft automatycznie aktualizuje te znaczniki, dzięki czemu reguły NSG pozostają poprawne nawet po zmianie adresów IP usług.
# Allow outbound to Azure Storage using a service tag
az network nsg rule create \
--resource-group myRG \
--nsg-name myNSG \
--name AllowStorageOutbound \
--priority 120 \
--direction Outbound \
--destination-address-prefixes Storage \
--destination-port-ranges 443 \
--protocol Tcp \
--access AllowSkojarzenie NSG z podsieciami
Skojarzenie NSG z podsiecią powoduje zastosowanie jej reguł do wszystkich zasobów w tej podsieci, co jest najbardziej efektywnym sposobem egzekwowania zasad sieciowych na dużą skalę. Na przykład skojarzenie NSG „DenyRDP” z podsiecią warstwy danych uniemożliwia dostęp do dowolnej maszyny wirtualnej w tej podsieci za pośrednictwem protokołu RDP (port 3389) z zewnątrz — niezależnie od tego, na jaki ruch zezwalają NSG na poziomie interfejsu sieciowego. NSG na poziomie podsieci stanowi pierwszą linię obrony, zanim ruch dotrze do poszczególnych maszyn wirtualnych, zmniejszając powierzchnię ataku na granicy sieci.
# Associate NSG with a subnet
az network vnet subnet update \
--resource-group myRG \
--vnet-name myVNet \
--name web-tier \
--network-security-group myNSGCzym są Application Security Groups?
Application Security Groups (ASG) umożliwiają grupowanie interfejsów sieciowych maszyn wirtualnych Azure według roli aplikacji, a nie adresu IP. Można na przykład utworzyć grupy ASG o nazwach webServers, appServers i dbServers, a następnie przypisać interfejs sieciowy każdej maszyny wirtualnej do odpowiedniej grupy ASG. W regułach NSG można wtedy zapisać: „Zezwalaj na ruch z webServers do appServers na porcie 8080” — bez określania adresów IP. Po dodaniu lub usunięciu maszyn wirtualnych wystarczy zaktualizować ich członkostwo w grupach ASG, a wszystkie reguły NSG zostaną automatycznie prawidłowo zastosowane bez zmiany reguł.
# Create an Application Security Group
az network asg create \
--resource-group myRG \
--name webServers
# Associate a VM's NIC with the ASG
az network nic ip-config update \
--resource-group myRG \
--nic-name myWebVMNic \
--name ipconfig1 \
--application-security-groups webServersReguły NSG korzystające z ASG
Po zdefiniowaniu grup ASG i przypisaniu do nich maszyn wirtualnych można tworzyć reguły NSG odwołujące się do grup ASG jako źródła lub miejsca docelowego. Takie podejście jest znacznie łatwiejsze w utrzymaniu niż reguły oparte na adresach IP, ponieważ: nie wymaga zarządzania adresami IP — nie trzeba znać adresów IP maszyn wirtualnych, ponieważ mapowanie jest obsługiwane przez członkostwo w grupach ASG. Umożliwia dynamiczne skalowanie — nowe maszyny wirtualne automatycznie dziedziczą właściwe reguły po dodaniu ich do odpowiedniej grupy ASG. Zapewnia jasność znaczeniową — reguły są czytelne („webServers → appServers na porcie 8080”), zamiast przedstawiać nieprzejrzyste zakresy IP. ASG są szczególnie przydatne w dynamicznych środowiskach, w których maszyny wirtualne są często dodawane lub zastępowane.
# NSG rule using ASG as source and destination
az network nsg rule create \
--resource-group myRG \
--nsg-name myNSG \
--name WebToApp \
--priority 200 \
--direction Inbound \
--source-asgs webServers \
--destination-asgs appServers \
--destination-port-ranges 8080 \
--protocol Tcp \
--access AllowDzienniki przepływu NSG w rozwiązywaniu problemów
Dzienniki przepływu NSG rejestrują informacje o całym ruchu IP przechodzącym przez NSG, w tym źródłowy i docelowy adres IP, port, protokół, informację o tym, czy ruch został dozwolony lub zablokowany, oraz liczbę przesłanych bajtów. Dzienniki przepływu są zapisywane na koncie usługi Azure Storage w formacie JSON i można je wizualizować w narzędziu Traffic Analytics usługi Azure Network Watcher. Dzienniki przepływu są niezwykle przydatne podczas diagnozowania problemów z łącznością („dlaczego ten ruch jest blokowany?”), analiz bezpieczeństwa oraz raportowania zgodności wymagającego dowodów dotyczących wzorców ruchu.
Typowe błędy dotyczące NSG, których należy unikać
Trzy typowe błędy dotyczące NSG powodujące problemy z łącznością: nieuwzględnianie kolejności oceny — jeśli istnieje reguła Deny z priorytetem 100, a reguła Allow ma priorytet 200, ruch zostanie zablokowany, ponieważ pierwszeństwo mają niższe wartości priorytetu. Blokowanie sond kondycji Azure — sondy kondycji Load Balancer pochodzą z adresu IP 168.63.129.16; blokowanie tego źródła powoduje, że zaplecza modułu równoważenia obciążenia są uznawane za niezdrowe i przestają odbierać ruch. Nakładające się NSG podsieci i interfejsu sieciowego — ruch musi przejść obie oceny NSG; reguła zezwalająca na ruch w NSG podsieci nie wystarczy, jeśli NSG interfejsu sieciowego go blokuje.
NSG a Azure Firewall
NSG i Azure Firewall uzupełniają się, ale pełnią różne funkcje: NSG — zdecentralizowane, przypisywane do podsieci i interfejsów sieciowych, filtrowanie na warstwie 3/4 (adres IP i port), domyślnie bez rejestrowania ruchu, bezpłatne w każdym VNet. Azure Firewall — scentralizowana usługa zarządzana w sieci hub VNet, filtrowanie na warstwach 3/4 ORAZ 7 (FQDN, URL, IDPS), pełne rejestrowanie za pomocą Azure Monitor, koszt około 1000 USD miesięcznie lub więcej. NSG należy stosować do podstawowej ochrony obwodowej i izolacji warstw. Azure Firewall warto stosować, gdy potrzebne jest scentralizowane, możliwe do audytu egzekwowanie zasad dostępu do wychodzącego internetu z filtrowaniem FQDN, analizą zagrożeń lub inspekcją TLS.
Efektywne reguły zabezpieczeń
Gdy NSG jest skojarzone zarówno z podsiecią, jak i z interfejsem sieciowym, można stracić orientację, które reguły są faktycznie stosowane. Azure udostępnia w portalu widok Effective Security Rules dla interfejsu sieciowego dowolnej maszyny wirtualnej, pokazujący łączny wynik wszystkich reguł NSG z poziomu podsieci i interfejsu sieciowego. Jest to ostateczna lista elementów, które dla danej maszyny wirtualnej są faktycznie dozwolone lub blokowane. Narzędzie IP flow verify usługi Azure Network Watcher idzie o krok dalej — należy podać źródłowy i docelowy adres IP oraz port, a narzędzie natychmiast poinformuje, czy ruch byłby dozwolony lub zablokowany oraz która konkretna reguła o tym decyduje.
Szybki test
Sprawdź swoją znajomość zagadnień Microsoft Azure Fundamentals (AZ-900) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji poznali Państwo: NSG zawierają reguły zezwalające lub blokujące, oceniane według priorytetu i filtrujące ruch dla podsieci lub pojedynczych interfejsów sieciowych, znaczniki usług upraszczają reguły, reprezentując dynamiczne grupy zakresów adresów IP usług Azure, a także Application Security Groups umożliwiają grupowanie maszyn wirtualnych według ról, dzięki czemu reguły NSG nie wymagają ręcznej konserwacji i skalują się wraz ze środowiskiem. Następnie omówimy VNet Peering i Service Endpoints służące do łączenia zasobów między VNet oraz z usługami Azure.
Często zadawane pytania
Czy lekcja „Grupy zabezpieczeń sieci i grupy zabezpieczeń aplikacji” jest bezpłatna?
Tak — pełny tekst „Grupy zabezpieczeń sieci i grupy zabezpieczeń aplikacji” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Azure Fundamentals, przejdź na CoddyKit PRO. Kurs Azure Fundamentals zawiera 4 lekcji w sumie.
Co nauczysz się w „Grupy zabezpieczeń sieci i grupy zabezpieczeń aplikacji”?
Filtruj ruch przychodzący i wychodzący za pomocą reguł NSG oraz logicznie grupuj maszyny wirtualne przy użyciu grup zabezpieczeń aplikacji, aby uprościć zarządzanie regułami. Ćwiczysz Azure Fundamentals z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Azure Fundamentals?
Nie wymagamy żadnego doświadczenia. Azure Fundamentals w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Grupy zabezpieczeń sieci i grupy zabezpieczeń aplikacji”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Azure Fundamentals?
Tak. Każda lekcja Azure Fundamentals zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Sieci wirtualne i podsieci
- Grupy zabezpieczeń sieci i grupy zabezpieczeń aplikacji
- Równorzędne połączenia sieci VNet i punkty końcowe usług
- Podstawy Azure DNS i Load Balancer