Używanie sieciowych grup zabezpieczeń do kontrolowania dostępu sieciowego
W ramach projektu w celu przeniesienia systemu ERP na platformę Azure należy upewnić się, że serwery mają odpowiednią izolację, aby tylko dozwolone systemy mogły nadawać połączenia sieciowe. Na przykład masz serwery baz danych, które przechowują dane dla aplikacji ERP. Chcesz zablokować zabronionym systemom możliwość komunikowania się z serwerami za pośrednictwem sieci, ale jednocześnie zezwalać serwerom aplikacji na komunikowanie się z serwerami baz danych.
Sieciowe grupy zabezpieczeń
Sieciowe grupy zabezpieczeń filtrują ruch sieciowy do i z zasobów platformy Azure. Zawierają one również reguły zabezpieczeń skonfigurowane tak, aby zezwalały na ruch przychodzący i wychodzący lub zezwalały na nie. Sieciowych grup zabezpieczeń możesz użyć do filtrowania ruchu między maszynami wirtualnymi lub podsieciami zarówno w sieci wirtualnej, jak i z Internetu.
Przypisanie i ocena sieciowych grup zabezpieczeń
Sieciowe grupy zabezpieczeń można przypisać do interfejsu sieciowego lub podsieci. Po przypisaniu sieciowej grupy zabezpieczeń do podsieci reguły będą stosowane do wszystkich interfejsów sieciowych w tej podsieci. Ruch można ograniczyć dalej, kojarząc sieciową grupę zabezpieczeń z interfejsem sieciowym maszyny wirtualnej.
W przypadku zastosowania sieciowych grup zabezpieczeń do podsieci i interfejsu sieciowego każda sieciowa grupa zabezpieczeń będzie oceniana niezależnie. Ruch przychodzący jest najpierw oceniany przez sieciowa grupa zabezpieczeń zastosowana do podsieci, a następnie przez sieciowa grupa zabezpieczeń zastosowana do interfejsu sieciowego. Z drugiej strony ruch wychodzący z maszyny wirtualnej jest najpierw oceniany przez sieciową grupę zabezpieczeń zastosowaną do interfejsu sieciowego, a następnie przez sieciową grupę zabezpieczeń zastosowaną do podsieci.
Stosowanie sieciowej grupy zabezpieczeń do podsieci zamiast do pojedynczych interfejsów sieciowych może zmniejszyć nakłady pracy związanej z administracją i zarządzaniem. To podejście gwarantuje również, że wszystkie maszyny wirtualne w określonej podsieci są zabezpieczone przy użyciu tego samego zestawu reguł.
Do każdej podsieci i interfejsu sieciowego można zastosować jedną sieciową grupę zabezpieczeń. Sieciowe grupy zabezpieczeń obsługują protokół TCP (Transmission Control Protocol), UDP (User Datagram Protocol) i ICMP (Internet Control Message Protocol) i działają w warstwie 4 modelu OSI (Open SystemsConnect).
W tym scenariuszu firmy produkcyjnej sieciowe grupy zabezpieczeń mogą pomóc w zabezpieczeniu sieci. Możesz kontrolować, które komputery mogą łączyć się z serwerami aplikacji. Sieciową grupę zabezpieczeń można skonfigurować tak, aby tylko określony zakres adresów IP mógł łączyć się z serwerami. Możesz zablokować to jeszcze bardziej, zezwalając tylko na dostęp do określonych portów lub z poszczególnych adresów IP. Te reguły można zastosować do urządzeń, które łączą się zdalnie z sieci lokalnych lub między zasobami na platformie Azure.
Reguły zabezpieczeń
Sieciowa grupa zabezpieczeń zawiera co najmniej jedną regułę zabezpieczeń. Reguły zabezpieczeń można skonfigurować tak, aby zezwalały na ruch lub odmawiały go.
Reguły mają kilka właściwości:
Właściwości | Wyjaśnienie |
---|---|
Nazwisko | Unikatowa nazwa w obrębie grupy zabezpieczeń sieci |
Priorytet | Liczba z zakresu od 100 do 4096 |
Źródło i miejsce docelowe | Dowolny lub pojedynczy adres IP, blok routingu międzydomenowego bezklasowego (CIDR) (na przykład 10.0.0.0/24), tag usługi lub grupa zabezpieczeń aplikacji |
Protokół | TCP, UDP lub dowolny |
Kierunek | Czy reguła ma zastosowanie do ruchu przychodzącego lub wychodzącego |
Zakres portów | Pojedynczy port lub zakres portów |
Akcja | Zezwolenie na ruch sieciowy lub zablokowanie ruchu |
Reguły zabezpieczeń sieciowej grupy zabezpieczeń są oceniane według priorytetu. Używają informacji o krotkach z pięcioma krotkami (źródło, port źródłowy, miejsce docelowe, port docelowy i protokół), aby zezwolić na ruch lub go zablokować. Kiedy warunki reguły są zgodne z konfiguracją urządzenia, przetwarzanie reguły jest zatrzymywane.
Na przykład załóżmy, że Twoja firma utworzyła regułę zabezpieczeń zezwalającą na ruch przychodzący na porcie 3389 (RDP) do serwerów internetowych, nadając jej priorytet 200. Następnie załóżmy, że inny administrator utworzył regułę w celu blokowania ruchu przychodzącego na porcie 3389 z priorytetem 150. Reguła odmowy ma pierwszeństwo, ponieważ jest najpierw przetwarzana. Reguła z priorytetem 150 jest przetwarzana przed regułą z priorytetem 200.
Przy użyciu sieciowych grup zabezpieczeń połączenia są stanowe. Ruch powrotny jest automatycznie dozwolony dla tej samej sesji TCP/UDP. Na przykład reguła ruchu przychodzącego zezwalająca na ruch na porcie 80 zezwala także maszynie wirtualnej odpowiedzieć na żądanie (zazwyczaj na porcie efemerycznym). Odpowiednia reguła ruchu wychodzącego nie jest potrzebna.
Jeśli chodzi o system ERP, serwery internetowe aplikacji ERP łączą się z serwerami baz danych, które znajdują się we własnych podsieciach. Możesz zastosować reguły zabezpieczeń, żeby jedyną dozwoloną komunikacją z serwerów internetowych do serwerów baz danych był port 1433 dla komunikacji bazy danych programu SQL Server. Cały inny ruch do serwerów baz danych będzie blokowany.
Domyślne reguły zabezpieczeń
Podczas tworzenia sieciowej grupy zabezpieczeń platforma Azure tworzy kilka reguł domyślnych. Tych reguł domyślnych nie można zmienić, ale można je zastąpić własnymi regułami. Te reguły domyślne zezwalają na łączność w sieci wirtualnej i z modułów równoważenia obciążenia platformy Azure. Zezwalają one również na komunikację wychodzącą z Internetem i blokują ruch przychodzący z Internetu.
Domyślne reguły dla ruchu przychodzącego:
Priorytet | Nazwa reguły | opis |
---|---|---|
65000 | AllowVnetInbound | Zezwalaj na ruch przychodzący z dowolnej maszyny wirtualnej do dowolnej maszyny wirtualnej w sieci wirtualnej |
65001 | AllowAzureLoadBalancerInbound | Zezwala na ruch z domyślnego modułu równoważenia obciążenia do dowolnej maszyny wirtualnej w podsieci |
65500 | DenyAllInBound | Zezwala na ruch z dowolnego źródła zewnętrznego do dowolnej z maszyn wirtualnych |
Reguły domyślne dla ruchu wychodzącego:
Priorytet | Nazwa reguły | opis |
---|---|---|
65000 | AllowVnetOutbound | Zezwalaj na ruch wychodzący z dowolnej maszyny wirtualnej do dowolnej maszyny wirtualnej w sieci wirtualnej |
65001 | AllowInternetOutbound | Zezwalaj na ruch wychodzący przechodzący do Internetu z dowolnej maszyny wirtualnej |
65500 | DenyAllOutBound | Odmowa ruchu z dowolnej wewnętrznej maszyny wirtualnej do systemu spoza sieci wirtualnej |
Rozszerzone reguły zabezpieczeń
Możesz użyć rozszerzonych reguł zabezpieczeń dla sieciowych grup zabezpieczeń, aby uprościć zarządzanie dużą liczbą reguł. Rozszerzone reguły zabezpieczeń są również przydatne, jeśli musisz zaimplementować bardziej złożone zestawy reguł sieciowych. Rozszerzone reguły umożliwiają dodanie następujących opcji w pojedynczej regule zabezpieczeń:
- Wiele adresów IP
- Wiele portów
- Tagi usługi
- Grupy zabezpieczeń aplikacji
Załóżmy, że Twoja firma chce ograniczyć dostęp do zasobów w centrum danych rozmieszczonych w kilku zakresach adresów sieciowych. Za pomocą rozszerzonych reguł można dodać wszystkie te zakresy do jednej reguły, obniżając koszty administracyjne i złożoność w sieciowych grupach zabezpieczeń.
Tagi usługi
Możesz jeszcze bardziej uprościć zabezpieczenia sieciowej grupy zabezpieczeń za pomocą tagów usługi. Można blokować lub zezwalać na ruch do określonej usługi platformy Azure, globalnie lub w określonym regionie.
Tagi usług upraszczają zabezpieczenia maszyn wirtualnych i sieci wirtualnych platformy Azure, umożliwiając ograniczenie dostępu przez zasoby lub usługi. Tagi usługi reprezentują grupę adresów IP i pomagają uprościć konfigurację reguł zabezpieczeń. Dla zasobów, które można określić przy użyciu tagu, nie trzeba znać adresu IP ani szczegółów portu.
Możesz ograniczyć dostęp do wielu usług. Firma Microsoft zarządza tagami usług, co oznacza, że nie można utworzyć własnych. Niektóre przykłady tagów to:
- VirtualNetwork: reprezentuje wszystkie adresy sieci wirtualnej w dowolnym miejscu na platformie Azure i w sieci lokalnej, jeśli używasz łączności hybrydowej.
- AzureLoadBalancer: określa moduł równoważenia obciążenia infrastruktury platformy Azure. Ten tag przekłada się na wirtualny adres IP hosta (168.63.129.16), z którego pochodzą sondy kondycji platformy Azure.
- Internet: reprezentuje wszystkie elementy spoza adresu sieci wirtualnej, które są publicznie dostępne, w tym zasoby, które mają publiczne adresy IP. Jednym z takich zasobów jest funkcja Web Apps w usłudze Azure App Service.
- AzureTrafficManager: reprezentuje adres IP usługi Azure Traffic Manager.
- Magazyn: reprezentuje przestrzeń adresów IP dla usługi Azure Storage. Możesz określić, czy ruch jest dozwolony, czy blokowany. Możesz również określić, czy dostęp jest dozwolony tylko dla konkretnego regionu, ale nie możesz wybrać kont magazynu.
- SQL: reprezentuje adres usług Azure SQL Database, Azure Database for MySQL, Azure Database for PostgreSQL i Azure Synapse Analytics. Możesz określić, czy ruch jest dozwolony, czy blokowany, i ograniczyć regułę do konkretnego regionu.
- AppService: reprezentuje prefiksy adresów dla usługi aplikacja systemu Azure.
Grupy zabezpieczeń aplikacji
Grupy zabezpieczeń aplikacji umożliwiają skonfigurowanie zabezpieczeń sieci dla zasobów używanych przez określone aplikacje. Maszyny wirtualne możesz grupować logicznie, niezależnie od ich adresu IP lub przypisania podsieci.
Możesz użyć grup zabezpieczeń aplikacji w sieciowej grupie zabezpieczeń, aby zastosować regułę zabezpieczeń do grupy zasobów. W ten sposób wdrażanie i skalowanie w górę konkretnych obciążeń aplikacji staje się łatwiejsze. Możesz dodać nowe wdrożenie maszyny wirtualnej do co najmniej jednej grupy zabezpieczeń aplikacji, a ta maszyna wirtualna automatycznie pobiera reguły zabezpieczeń dla tego obciążenia.
Grupa zabezpieczeń aplikacji umożliwia grupowanie interfejsów sieciowych. Grupy zabezpieczeń aplikacji można następnie używać jako źródła lub reguły docelowej w sieciowej grupie zabezpieczeń.
Na przykład firma ma wiele serwerów frontonu w sieci wirtualnej. Serwery internetowe muszą być dostępne za pośrednictwem portów 80 i 8080. Serwery baz danych muszą być dostępne za pośrednictwem portu 1433. Przypisz interfejsy sieciowe dla serwerów internetowych do jednej grupy zabezpieczeń aplikacji, a interfejsy sieciowe dla serwerów baz danych do innej grupy zabezpieczeń aplikacji. Następnie utwórz dwie reguły dla ruchu przychodzącego w sieciowej grupie zabezpieczeń. Jedna reguła zezwala na ruch HTTP do wszystkich serwerów w grupie zabezpieczeń aplikacji serwerów internetowych. Druga reguła zezwala na ruch SQL do wszystkich serwerów w grupie zabezpieczeń aplikacji serwerów baz danych.
Bez grup zabezpieczeń aplikacji należałoby utworzyć osobne reguły dla każdej maszyny wirtualnej. Alternatywnie należy dodać sieciową grupę zabezpieczeń do podsieci, a następnie dodać wszystkie maszyny wirtualne do tej podsieci.
Kluczową korzyścią z używania grup zabezpieczeń aplikacji jest to, że ułatwiają one administrowanie. Możesz łatwo dodawać i usuwać interfejsy sieciowe do i z grupy zabezpieczeń aplikacji podczas wdrażania lub ponownego wdrażania serwerów aplikacji. Możesz także dynamicznie stosować nowe reguły do grupy zabezpieczeń aplikacji, aby następnie były one automatycznie stosowane do wszystkich maszyn wirtualnych w tej grupie zabezpieczeń aplikacji.
Kiedy należy używać sieciowych grup zabezpieczeń
Najlepszym rozwiązaniem jest używanie sieciowych grup zabezpieczeń zawsze, w celu ochrony zasobów w sieci przed niechcianym ruchem. Sieciowe grupy zabezpieczeń umożliwiają szczegółową kontrolę dostępu za pośrednictwem warstwy sieciowej, bez potencjalnej złożoności ustawiania zasad zabezpieczeń dla każdej maszyny wirtualnej lub sieci wirtualnej.