Rozwiązywanie problemów z sieciowymi grupami zabezpieczeń
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.
Tagi usługi: tag usługi reprezentuje grupę prefiksów adresów IP z danej usługi platformy Azure. Pomaga zminimalizować złożoność częstych aktualizacji reguł zabezpieczeń sieci. Zapoznaj się z tagami usługi platformy Azure.
Przykład użycia tagu usługi Storage w celu ograniczenia dostępu do sieci można znaleźć w sekcji Ograniczanie dostępu sieciowego do zasobów PaaS przy użyciu punktów końcowych usługi sieci wirtualnej przy użyciu witryny Azure Portal.
Grupy zabezpieczeń aplikacji: grupy zabezpieczeń aplikacji umożliwiają skonfigurowanie zabezpieczeń sieci jako naturalnego rozszerzenia struktury aplikacji. Umożliwia to grupowanie maszyn wirtualnych i definiowanie zasad zabezpieczeń sieci na podstawie tych grup. Możesz ponownie używać zasad zabezpieczeń na dużą skalę bez ręcznej obsługi jawnych adresów IP. Aby dowiedzieć się więcej, zobacz Grupy zabezpieczeń aplikacji.
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.
Zaloguj się do witryny Azure Portal.
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ą.
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ń.
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 :
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:
- Interfejs sieciowy: dowiedz się, jak wyświetlić interfejs sieciowy.
- Sieciowa grupa zabezpieczeń: dowiedz się, jak wyświetlić sieciową grupę zabezpieczeń.
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:
Oprogramowanie zapory działające w systemie operacyjnym maszyny wirtualnej.
Trasy skonfigurowane dla urządzeń wirtualnych lub ruchu lokalnego — zapoznaj się z tunelowaniem wymuszonym. Ponadto, aby dowiedzieć się, jak zdiagnozować problemy z trasą, które mogą utrudniać przepływ ruchu z maszyny wirtualnej, zobacz Diagnozowanie problemu z routingiem ruchu sieciowego maszyny wirtualnej.
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ń.
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 |
|---|
|
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.