Network Security Groups (NSG)

Network Security Group to filtr sieciowy (firewall) zawierający listę reguł bezpieczeństwa, który zezwala lub blokuje ruch do konkretnego zasobu sieciowego.  NSG mogą być przypisane do podsieci i o takich NSG mówi się, że filtrują ruch północ/południe. Natomiast o NSG przypisanych  do interfejsu sieciowego mówi się, że filtrują ruch wschód/zachód.

Reguły NSG są stosowane wg ich priorytetu. Wartości priorytetów zaczynają się od 100 a kończą na 4096. Czytane są i egzekwowane reguły od 100 wzwyż, czyli 101, 102 ….. 4096.  100 ma większy priorytet niż 101 czy 4096. Jeżeli np. będzie reguła o priorytecie 250, która pozwala na ruch TCP na porcie 80 oraz reguła o priorytecie 125, która zakazuje ruchu TCP na takim  porcie to ruch TCP na porcie 80 będzie zakazany. 125 jest bliżej do 100 niż 250.

Reguły bezpieczeństwa są aplikowane do ruchu sieciowego wg następującego porządku:

Ruch przychodzący

  • NSG zaaplikowane do podsieci – jeżeli NSG ma reguły, które zakazują ruchu pakiet jest odrzucany.
  • NSG zaaplikowane do interfejsu sieciowego (NIC) – jeżeli NSG ma reguły, które zakazują ruchu pakiet jest odrzucany, nawet jeżeli NSG zaaplikowane do podsieci miało regułę, która dopuszczała ruch.

Ruch wychodzący

  • NSG zaaplikowane do interfejsu sieciowego (NIC) – jeżeli NSG ma reguły, które zakazują ruchu pakiet jest odrzucany.
  • NSG zaaplikowane do podsieci – jeżeli NSG ma reguły, które zakazują ruchu pakiet jest odrzucany, nawet jeżeli NSG zaaplikowane do interfejsu sieciowego miało regułę, która dopuszczała ruch.

 

Reguły domyślne

Wszystkie NSG miają przyporządkowane domyślne reguły, których nie można usunąć. Mają one jednak najniższy możliwy priorytet i mogą być napisane przez reguły o wyższym priorytecie.

  • Sieć wirtualna – ruch pochodzący i kończący się w sieci wirtualnej jest dozwolony w dwóch (przychodzący i wychodzący) kierunkach.
  • Internet – ruch wychodzący do Internetu jest dopuszczany, ruch przychodzący z Internetu jest blokowany.
  • Load balancer – zezwala load balancerowi Azure na sprawdzanie “stanu zdrowia” twoich VM i instancji ról.

Reguły domyślne dla ruchu przychodzącego

Nazwa Priorytet IP źrodłowy Port źródłowy Port docelowy Protokół Dostęp
AllowVNetInBound 65000 VirtualNetwork * VirtualNetwork * Allow
AllowAzureLoadBalanceInBound 65001 AzureLoadBalancer * * Allow
DenyAllInBound 65500 * * * * Deny

Reguły domyślne dla ruchu wychodzącego

Nazwa Priorytet IP źrodłowy Port źródłowy Port docelowy Protokół Dostęp
AllowVNetOutBound 65000 VirtualNetwork * VirtualNetwork * Allow
AllowAzureLoadBalanceOutBound 65001 * * internet * Allow
DenyAllOutBound 65500 * * * * Deny

Czyli NSG bez przypisanych przez użytkownika reguł mają sześć reguł domyślnych.

NSG można utworzyć w portalu Azure klikając:

+ Create resource ->  Networking -> Network security group

(reguły można dodawać w ustawieniach utworzonego NSG)

Lub przy pomocy PowerShella:

Utworzona została reguła $rule1 dla NSG AppNSG, teraz trzeba zaaplikować je na konkretnej podsieci.

 

Więcej  o NSG:

https://docs.microsoft.com/en-us/azure/virtual-network/security-overview