Rozwiązywanie problemów z sieciowymi grupami zabezpieczeń

Ukończone

Prezentacja wiedzy na temat danych konfiguracji sieciowej grupy zabezpieczeń, w tym portów, tagów usługi i numerów priorytetów

Sieciowe grupy zabezpieczeń

Sieciowa grupa zabezpieczeń platformy Azure filtruje ruch sieciowy do i z zasobów w sieci wirtualnej platformy Azure. Sieciowa grupa zabezpieczeń składa się z reguł zabezpieczeń, które zezwalają na ruch sieciowy przychodzący i wychodzący lub zezwalają na ruch przychodzący i wychodzący, do i z kilku typów zasobów platformy Azure. Dla każdej reguły można określić źródło i obiekt docelowy, port i protokół.

W tej lekcji poznasz następujące zagadnienia:

  • Właściwości reguły sieciowej grupy zabezpieczeń i domyślne reguły zabezpieczeń, które są stosowane.

  • Właściwości reguły, które można zmodyfikować w celu utworzenia rozszerzonej reguły zabezpieczeń.

Reguły zabezpieczeń

Sieciowa grupa zabezpieczeń może zawierać reguły od zera lub tyle, ile jest to wymagane, w ramach limitów subskrypcji platformy Azure. Każda reguła określa następujące właściwości:

Właściwości Wyjaśnienie
Nazwisko Unikatowa nazwa w obrębie sieciowej grupy zabezpieczeń.
Priorytet Reguły o niższych liczbach są przetwarzane przed wyższymi liczbami, ponieważ niższe liczby mają wyższy priorytet. Liczba może należeć do zakresu od 100 do 4096.
Obiekt źródłowy lub docelowy Jeśli określisz adres zasobu platformy Azure, musisz określić prywatny adres IP, zakres, tag usługi lub grupę zabezpieczeń aplikacji przypisaną do zasobu.
Protokół TCP, UDP, ICMP, ESP, AH lub Dowolny.
Kierunek Określa, czy reguła ma zastosowanie do ruchu przychodzącego, czy wychodzącego.
Zakres portów Określenie zakresów umożliwia utworzenie mniejszej liczby reguł zabezpieczeń. Można określić pojedynczy port lub zakres portów. Na przykład 80 lub 10000–10005.
Akcja Zezwolenie lub zablokowanie.

Istnieją ograniczenia dotyczące liczby reguł zabezpieczeń, które można utworzyć w grupie zabezpieczeń sieci. Aby uzyskać szczegółowe informacje, zobacz Limity platformy Azure.

Domyślne reguły zabezpieczeń

Platforma Azure tworzy następujące reguły domyślne w każdej sieciowej grupie zabezpieczeń:

Przychodzący

AllowVNetInBound

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
65000 Sieć wirtualna 0-65535 Sieć wirtualna 0-65535 Dowolne Zezwalaj

AllowAzureLoadBalancerInBound

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
65001 AzureLoadBalancer (równoważnik obciążenia) 0-65535 0.0.0.0/0 0-65535 Dowolne Zezwalaj

DenyAllInbound

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
65500 0.0.0.0/0 0-65535 0.0.0.0/0 0-65535 Dowolne Zezwalaj

Wychodzący

AllowVnetOutBound

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
65000 Sieć wirtualna 0-65535 Sieć wirtualna 0-65535 Dowolne Zezwalaj

Zezwól na wychodzący ruch internetowy

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
65001 0.0.0.0/0 0-65535 Internet 0-65535 Dowolne Zezwalaj

DenyAllOutBound

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
65001 0.0.0.0/0 0-65535 0.0.0.0/0 0-65535 Dowolne Zezwalaj

W kolumnach Źródło i Miejsce docelowe, VirtualNetwork, AzureLoadBalancer i Internet są tagami usług, a nie adresami IP. W kolumnie protokołu Dowolny obejmuje TCP, UDP i ICMP. Podczas tworzenia reguły można określić protokół TCP, UDP, ICMP lub dowolny. 0.0.0.0/0 w kolumnach Źródło i Miejsce docelowe reprezentuje wszystkie adresy. Klienci, tacy jak witryna Azure Portal, interfejs wiersza polecenia platformy Azure lub program PowerShell, mogą używać ***** lub dowolnych dla tego wyrażenia.

Nie można usunąć reguł domyślnych, ale można je przesłonić, tworząc reguły o wyższych priorytetach.

Rozszerzone reguły zabezpieczeń

Dzięki rozszerzonym regułom zabezpieczeń można połączyć wiele portów i wiele jawnych adresów IP i zakresów w jedną regułę zabezpieczeń. Innymi słowy rozszerzone reguły zabezpieczeń upraszczają definicję zabezpieczeń dla sieci wirtualnych. Dzięki temu można podzielić większe i złożone zasady zabezpieczeń sieci na mniej i prostsze reguły. Rozszerzone reguły są zwykle używane w polach źródłowych, docelowych i portów reguły.

Łączenie rozszerzonych reguł zabezpieczeń z tagami usługi lub grupami zabezpieczeń aplikacji pomaga usprawnić definicję reguły zabezpieczeń. Istnieją jednak ograniczenia liczby adresów, zakresów i portów, które można określić w regule.

Rozwiązywanie problemów z konfiguracją sieciowej grupy zabezpieczeń

Sieciowe grupy zabezpieczeń umożliwiają kontrolowanie przepływu ruchu przychodzącego i wychodzącego maszyny wirtualnej. Sieciową grupę zabezpieczeń można skojarzyć z podsiecią w sieci wirtualnej platformy Azure, interfejsie sieciowym połączonym z maszyną wirtualną lub obie. Wszystkie reguły zabezpieczeń stosowane do interfejsu sieciowego są kombinacją reguł obecnych w sieciowej grupie zabezpieczeń skojarzonej z interfejsem sieciowym i podsiecią, w jakiej się znajduje. Możesz zbadać konflikt między regułami w różnych sieciowych grupach zabezpieczeń, które są stosowane w interfejsach sieciowych maszyny wirtualnej.

Następujące artykuły ułatwiają zrozumienie następujących elementów:

W tej lekcji dowiesz się, jak zdiagnozować problem z filtrem ruchu sieciowego, wyświetlając reguły zabezpieczeń sieciowej grupy zabezpieczeń obowiązujące dla maszyny wirtualnej.

Diagnozowanie przy użyciu witryny Azure Portal

Scenariusz

Podczas próby nawiązania połączenia z maszyną wirtualną za pośrednictwem portu 80 z Internetu połączenie nie powiedzie się. Aby zrozumieć, dlaczego tak się dzieje, możesz sprawdzić obowiązujące reguły zabezpieczeń interfejsu sieciowego przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Jeśli nie masz istniejącej maszyny wirtualnej, aby wyświetlić obowiązujące reguły zabezpieczeń, musisz najpierw wdrożyć maszynę wirtualną z systemem Linux lub Windows, aby ukończyć zadanie.

W poniższym zadaniu przykłady dotyczą maszyny wirtualnej o nazwie myVM z interfejsem sieciowym o nazwie myVMVMNic. Maszyna wirtualna i interfejs sieciowy znajdują się w grupie zasobów o nazwie myResourceGroup i znajdują się w regionie Wschodnie stany USA. Aby zdiagnozować problem, zmień wartości w krokach odpowiednio dla maszyny wirtualnej.

  1. Zaloguj się do witryny Azure Portal.

  2. W górnej części witryny Azure Portal wprowadź nazwę maszyny wirtualnej w polu wyszukiwania. Gdy nazwa maszyny wirtualnej pojawi się w wynikach wyszukiwania, wybierz ją.

  3. W obszarze USTAWIENIA wybierz pozycję Sieć.

    Reguły widoczne na poniższej ilustracji dotyczą interfejsu sieciowego o nazwie myVMVMNic. Istnieją reguły portów wejściowych dla interfejsu sieciowego z dwóch różnych sieciowych grup zabezpieczeń:

    • mySubnetNSG: skojarzone z podsiecią, w którą znajduje się interfejs sieciowy.

    • myVMNSG: skojarzone z interfejsem sieciowym na maszynie wirtualnej o nazwie myVMVMNic.

    Jak widać na poprzedniej ilustracji, reguła o nazwie DenyAllInBound uniemożliwia komunikację przychodzącą z Internetu do maszyny wirtualnej przez port 80. Reguła zawiera listę 0.0.0.0/0 dla elementu SOURCE, który zawiera Internet. Żadna inna reguła o wyższym priorytcie (niższym numerze) zezwala na ruch przychodzący na porcie 80. Aby zezwolić na połączenia przychodzące na porcie 80 do maszyny wirtualnej z Internetu, zobacz Rozwiązywanie problemów.

    W obszarze REGUŁY PORTÓW WYCHODZĄCYCH u dołu znajdują się reguły portów wychodzących dla interfejsu sieciowego. VirtualNetwork i AzureLoadBalancer to tagi usługi. Tagi usługi reprezentują grupę prefiksów adresów IP, aby zminimalizować złożoność tworzenia reguł zabezpieczeń.

  4. Upewnij się, że maszyna wirtualna jest w stanie uruchomienia, a następnie wybierz pozycję Obowiązujące reguły zabezpieczeń, jak pokazano na poniższej ilustracji:

    Widać, że istnieją różne karty sieciowej grupy zabezpieczeń skojarzone z interfejsem sieciowym i podsiecią. Wymienione reguły są takie same jak w kroku 3 , chociaż, jak pokazano na ilustracji, wyświetlane są tylko pierwsze 50 reguł. Aby pobrać plik .csv zawierający wszystkie reguły, wybierz pozycję Pobierz.

    Aby zobaczyć, które prefiksy reprezentuje każdy tag usługi, wybierz regułę, na przykład AllowAzureLoadBalancerInbound. Na poniższym obrazie przedstawiono prefiksy tagu usługi AzureLoadBalancer :

    Zrzut ekranu przedstawiający prefiksy tagu usługi AzureLoadBalancer.

  5. Maszyna wirtualna w tym przykładzie ma dwa interfejsy sieciowe: myVMVMNic i myVMVMNic2 dołączone do niej. Obowiązujące reguły zabezpieczeń mogą być różne dla każdego interfejsu sieciowego. Wybierz myVMVMNic2 aby wyświetlić reguły dla tego interfejsu sieciowego.

Interfejs sieciowy myVMVMNic2 nie ma skojarzonej grupy zabezpieczeń sieciowych, tak jak ma to zrobione interfejs sieciowy myVMVMNic. Każdy interfejs sieciowy i podsieć mogą mieć skojarzona zero lub jedną sieciową grupę zabezpieczeń. Sieciowa grupa zabezpieczeń skojarzona z każdym interfejsem sieciowym lub podsiecią może być taka sama lub inna. Tę samą sieciową grupę zabezpieczeń można skojarzyć z dowolną liczbą interfejsów sieciowych i podsieci, które wybierzesz.

Uwaga

Chociaż obowiązujące reguły zabezpieczeń były wyświetlane za pośrednictwem maszyny wirtualnej, można je również przejrzeć za pośrednictwem pojedynczej osoby:

Aby uruchomić polecenia przy użyciu programu PowerShell, zobacz Diagnozowanie przy użyciu programu PowerShell.

Aby uruchomić polecenia przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz Diagnozowanie przy użyciu interfejsu wiersza polecenia platformy Azure.

Aby rozwiązać problemy z łącznością:

  • Aby zezwolić na ruch przychodzący z Internetu, dodaj reguły zabezpieczeń o wyższym priorytcie niż domyślne reguły.

  • Aby rozwiązać wszelkie problemy związane z komunikacją równorzędną sieci wirtualnych, możesz wyświetlić prefiksy na liście ExpandedAddressPrefix.

  • Upewnij się, że istnieje sieciowa grupa zabezpieczeń skojarzona z interfejsem sieciowym maszyny wirtualnej i/lub podsiecią. Sprawdź również, czy maszyna wirtualna jest w stanie uruchomienia.

  • Jeśli maszyna wirtualna ma publiczny adres IP, zaleca się zastosowanie sieciowej grupy zabezpieczeń do podsieci interfejsu sieciowego.

Dodatkowa diagnostyka

  • Użyj możliwości weryfikowania przepływu adresów IP usługi Azure Network Watcher, aby określić, czy ruch jest dozwolony do lub z maszyny wirtualnej.

  • Jeśli nie ma reguł zabezpieczeń powodujących niepowodzenie łączności sieciowej maszyny wirtualnej, problem może być spowodowany:

Przeglądanie i interpretowanie dzienników przepływu sieciowej grupy zabezpieczeń

Wprowadzenie

Funkcja dzienników przepływu sieciowej grupy zabezpieczeń w usłudze Azure Network Watcher umożliwia rejestrowanie informacji o ruchu IP przepływającym przez sieciową grupę zabezpieczeń. Dane przepływu są wysyłane do kont usługi Azure Storage i stamtąd można je wyeksportować do dowolnego narzędzia do wizualizacji, rozwiązania SIEM lub IDS.

Dlaczego warto używać dzienników przepływu?

Dzienniki przepływu mają kluczowe znaczenie, jeśli chodzi o zarządzanie i monitorowanie wszystkich działań sieciowych w środowisku chmury. Można go użyć do optymalizacji przepływów sieciowych, monitorowania danych, weryfikowania zgodności, wykrywania nieautoryzowanego dostępu i nie tylko.

Oto niektóre typowe przypadki użycia:

Monitorowanie sieci:

  • Zidentyfikuj nieznany lub niepożądany ruch.

  • Monitorowanie poziomów ruchu i zużycia przepustowości.

  • Filtruj dzienniki przepływu według adresu IP i portu, aby zrozumieć zachowanie aplikacji.

  • Wyeksportuj dzienniki przepływu do wybranego narzędzia do analizy i wizualizacji, aby skonfigurować pulpity nawigacyjne monitorowania.

Monitorowanie i optymalizacja użycia:

  • Zidentyfikuj najważniejszych rozmówców w sieci.

  • Połącz z danymi GeoIP, aby zidentyfikować ruch między regionami.

  • Omówienie wzrostu ruchu na potrzeby prognozowania pojemności.

  • Użyj danych, aby usunąć jawnie restrykcyjne reguły ruchu.

Zgodność:

  • Użyj danych przepływu, aby zweryfikować izolację sieci i zgodność z regułami dostępu przedsiębiorstwa.

Analiza śledcza sieci i analiza zabezpieczeń:

  • Analizowanie przepływów sieciowych z naruszonych adresów IP i interfejsów sieciowych.

  • Wyeksportuj dzienniki przepływu do dowolnego wybranego narzędzia SIEM lub IDS.

Jak działa rejestrowanie

  • Dzienniki przepływu działają w warstwie 4 (warstwa transportu). Rejestruje wszystkie przepływy adresów IP przechodzące do sieciowej grupy zabezpieczeń i wychodzące z niej.

  • Dzienniki są zbierane w odstępach jednej minuty za pośrednictwem platformy Azure bez wpływu na zasoby klienta lub wydajność sieci.

  • Dzienniki są zapisywane w formacie JSON. Pokazuje ona przepływy wychodzące i przychodzące na podstawie reguły sieciowej grupy zabezpieczeń.

  • Każdy rekord dziennika zawiera interfejs sieciowy (NIC). Przepływ ma zastosowanie do informacji o pięciu krotkach, decyzji o ruchu i (tylko wersja 2) informacji o przepływności. Zapoznaj się z artykułem Format dziennika.

  • Dzienniki przepływu usuwają dzienniki do roku po utworzeniu.

Aby włączyć dzienniki przepływu, zobacz Włączanie dzienników przepływu NSG.

weryfikacja przepływu IP

Weryfikacja przepływu adresów IP potwierdza, czy pakiet jest dozwolony, czy blokowany do lub z maszyny wirtualnej. Za pomocą weryfikacji przepływu adresów IP można zdiagnozować problemy z łącznością z Internetu lub z lub ze środowiska lokalnego. Zawiera on informacje dotyczące kierunku, protokołu, lokalnego adresu IP, zdalnego adresu IP, portu lokalnego i portu zdalnego. Jeśli grupa zabezpieczeń odmówi pakietu, zwracana jest nazwa używanej reguły.

Weryfikacja przepływu adresów IP uwzględnia reguły dla wszystkich sieciowych grup zabezpieczeń zastosowanych do interfejsu sieciowego, takich jak podsieć lub karta sieciowa maszyny wirtualnej. Następnie weryfikuje przepływ ruchu na podstawie skonfigurowanych ustawień do lub z tego interfejsu sieciowego.

Przepływ adresu IP sprawdza, czy reguła w sieciowej grupie zabezpieczeń blokuje ruch przychodzący lub wychodzący do lub z maszyny wirtualnej. Ocenia również reguły usługi Azure Virtual Network Manager i reguły sieciowej grupy zabezpieczeń.

Zrzut ekranu przedstawiający okno weryfikacji przepływu adresów IP.

Aby dowiedzieć się więcej na temat rozwiązywania problemów z dziennikami przepływów NSG, zobacz Rozwiązywanie typowych problemów.

Określanie, czy maszyna wirtualna lub grupa maszyn wirtualnych jest skojarzona z grupą zabezpieczeń aplikacji (ASG)

Grupy zabezpieczeń aplikacji umożliwiają grupowanie maszyn wirtualnych znajdujących się w sieci wirtualnej platformy Azure i definiowanie zasad zabezpieczeń sieci na podstawie tych grup. Pomaga to zmniejszyć nakład pracy konserwacyjnych jawnych adresów IP. Rozważmy następujący obraz, aby lepiej zrozumieć grupy zabezpieczeń:

Grupy zabezpieczeń aplikacji
Diagram przedstawiający grupy zabezpieczeń aplikacji.

Na poprzedniej ilustracji kart sieciowych NIC1 i NIC2 są członkami asgWeb ASG. Nic3 jest członkiem asgLogic ASG i nic4 członkiem asgDb ASG. W tym przykładzie każdy interfejs sieciowy jest członkiem tylko jednej sieciowej grupy zabezpieczeń. Jednak interfejs sieciowy może być członkiem wielu grup asg, maksymalnie do limitów platformy Azure.

Żaden z interfejsów sieciowych nie ma skojarzonej grupy zabezpieczeń sieci. Grupa NSG1 jest skojarzona z obiema podsieciami i zawiera następujące reguły:

Zezwól na ruch HTTP przychodzący z Internetu

Ta reguła jest potrzebna w celu zezwolenia na ruch z Internetu do serwerów internetowych. Ponieważ ruch przychodzący z Internetu jest blokowany przez domyślną regułę zabezpieczeń DenyAllInbound, dodatkowa reguła nie jest potrzebna w przypadku grup zabezpieczeń aplikacji AsgLogic i AsgDb.

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
100 Internet * AsgWeb 80 TCP Zezwalaj

Odmowa –Database-All

Ponieważ domyślna reguła zabezpieczeń AllowVNetInBound zezwala na komunikację między zasobami w tej samej sieci wirtualnej, ta reguła jest wymagana do odmowy ruchu ze wszystkich zasobów.

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
120 * * AsgWeb 1433 Dowolne Zablokuj

Zezwalaj —Database-BusinessLogic

Ta reguła zezwala na ruch z asgLogic ASG do asgDb ASG. Priorytet tej reguły jest wyższy niż dla reguły Deny-Database-All. W rezultacie ta reguła jest przetwarzana przed regułą Deny-Database-All, a więc ruch z grupy zabezpieczeń aplikacji AsgLogic jest dozwolony, natomiast cały pozostały ruch jest blokowany.

Priorytet Źródło Porty źródłowe Element docelowy Porty docelowe Protokół Dostęp
110 AsgLogic * AsgDb 1433 TCP Zezwalaj

Reguły, które określają grupę ASG jako źródło lub miejsce docelowe, są stosowane tylko do interfejsów sieciowych, które są elementami członkowskimi grupy asg. Jeśli interfejs sieciowy nie jest członkiem grupy asg, reguła nie jest stosowana do interfejsu sieciowego, mimo że sieciowa grupa zabezpieczeń jest skojarzona z podsiecią.

Grupy zabezpieczeń aplikacji mają następujące ograniczenia:

  • Istnieje kilka limitów związanych z grupami asg. Jedną z nich jest liczba grup ASG, które można mieć w subskrypcji.

  • Nie można dodawać interfejsów sieciowych z różnych sieci wirtualnych do tej samej grupy asg. Jeśli na przykład pierwszy interfejs sieciowy przypisany do usługi ASG o nazwie AsgWeb znajduje się w sieci wirtualnej o nazwie VNet1, wszystkie kolejne interfejsy sieciowe przypisane do usługi ASGWeb muszą istnieć w sieci VNet1.

  • Wszystkie interfejsy sieciowe dla źródłowych i docelowych grup ASG muszą istnieć w tej samej sieci wirtualnej. Na przykład jeśli grupa AsgLogic zawiera interfejsy sieciowe z sieci VNet1, a grupa AsgDb zawiera interfejsy sieciowe z sieci VNet2, nie można przypisać grupy AsgLogic jako źródła i grupy AsgDb jako obiektu docelowego w regule.