Hálózati biztonsági csoportok (NSG-k) és alkalmazásbiztonsági csoportok (ASG-k) tervezése és megvalósítása

Befejeződött

Azure-beli hálózati biztonsági csoportokkal szűrheti az Azure-beli virtuális hálózatok Azure-erőforrásai közötti hálózati forgalmat. A hálózati biztonsági csoportok olyan biztonsági szabályokat tartalmaznak, amelyek engedélyezik vagy letiltják a különböző típusú Azure-erőforrások bejövő vagy kimenő hálózati forgalmát. Minden szabályhoz megadhatja a forrást és a célhelyet, a portot és a protokollt.

Hálózati biztonsági csoportok (NSG-k)

Biztonsági szabályok

A hálózati biztonsági csoportok a kívánt számú szabályt tartalmazzák az Azure-előfizetés korlátain belül. Minden szabály a következő tulajdonságokat adja meg:

Ingatlan Magyarázat
Név Egy egyedi név a hálózati biztonsági csoporton belül. A név legfeljebb 80 karakter hosszú lehet. Szó karakterrel kell kezdődnie, és egy szó karakterrel vagy "_" karakterrel kell végződnie. A név tartalmazhat szókarakterek vagy ".", "-", "_" karaktereket.
Elsőbbség 100 és 4096 közötti szám. A szabályok prioritási sorrendben vannak feldolgozva, és az alacsonyabb számokat a nagyobb számok előtt dolgozzák fel, mivel az alacsonyabb számok prioritása magasabb. Ha az adatforgalom megfelel valamelyik szabálynak, a feldolgozás leáll. Ennek eredményeképpen a magasabb prioritású szabályokkal azonos attribútumokkal rendelkező alacsonyabb prioritású (magasabb számú) szabályok feldolgozása nem történik meg.
Az Azure alapértelmezett biztonsági szabályai a legmagasabb számot kapják a legalacsonyabb prioritással, hogy az egyéni szabályok mindig először legyenek feldolgozva.
Forrás vagy cél Bármely vagy egyéni IP-cím, osztály nélküli tartományközi útválasztási (CIDR) blokk (például 10.0.0.0/24), szolgáltatáscímke vagy alkalmazásbiztonsági csoport. Ha egy Azure-erőforrás címét adja meg, adja meg az erőforráshoz rendelt magánhálózati IP-címet. A hálózati biztonsági csoportok feldolgozása azután történik, hogy az Azure lefordít egy nyilvános IP-címet egy privát IP-címre a bejövő forgalom számára, és mielőtt az Azure lefordít egy privát IP-címet egy nyilvános IP-címre a kimenő forgalom számára. Ha tartományt, szolgáltatáscímkét vagy alkalmazásbiztonsági csoportot ad meg, kevesebb biztonsági szabályra van szükség. A szabályban több egyéni IP-cím és -tartomány megadásának lehetőségét (több szolgáltatáscímkét vagy alkalmazáscsoportot nem adhat meg) kiterjesztett biztonsági szabályoknak nevezzük. Kibővített biztonsági szabályok kizárólag a Resource Manager-alapú üzemi modellben létrehozott hálózati biztonsági csoportokban hozhatóak létre. A klasszikus üzemi modellel létrehozott hálózati biztonsági csoportokban nem adhat meg több IP-címet és IP-címtartományt.
Protokoll TCP, UDP, ICMP, ESP, AH vagy Bármely. Az ESP- és AH-protokollok jelenleg nem érhetők el az Azure Portalon, de azure Resource Manager-sablonokon keresztül használhatók.
Irány Függetlenül attól, hogy a szabály a bejövő vagy kimenő forgalomra vonatkozik-e.
Porttartomány Megadhat egy egyéni portot vagy egy porttartományt is. Megadhat például 80 vagy 10000-10005 értéket. A tartományok megadásával csökkentheti a biztonsági szabályok számát. Kibővített biztonsági szabályok kizárólag a Resource Manager-alapú üzemi modellben létrehozott hálózati biztonsági csoportokban hozhatóak létre. A klasszikus üzemi modellel létrehozott hálózati biztonsági csoportokban nem adhat meg több portot vagy porttartományt ugyanabban a biztonsági szabályban.
Tevékenység Engedélyezés vagy megtagadás

A biztonsági szabályok kiértékelése és alkalmazása az ötös-tuple (1. forrás, 2. forrásport, 3. cél, 4. célport és 5. protokoll) információk alapján történik. Nem hozhat létre két azonos prioritású és irányú biztonsági szabályt. Egy forgalmi rekord jön létre a meglévő kapcsolatokhoz. A kommunikáció a folyamatrekord kapcsolati állapota alapján engedélyezett vagy megtagadható. A folyamatrekord teszi lehetővé a hálózati biztonsági csoport állapotalapú működését. Ha egy kimenő biztonsági szabályt ad meg a 80-as porton keresztül bármely címre, például nem szükséges bejövő biztonsági szabályt megadni a kimenő forgalomra adott válaszhoz. Ha a kommunikáció kívülről indul, csak egy bejövő biztonsági szabályt kell meghatároznia. Az ellenkezője is igaz. Ha a bejövő forgalom engedélyezett egy porton keresztül, nem szükséges kimenő biztonsági szabályt megadni a porton keresztüli forgalomra való reagáláshoz.

Előfordulhat, hogy a meglévő kapcsolatok nem szakadnak meg, ha eltávolít egy olyan biztonsági szabályt, amely engedélyezte a kapcsolatot. A hálózati biztonsági csoport szabályainak módosítása csak az új kapcsolatokat érinti. Ha új szabályt hoz létre, vagy egy meglévő szabályt frissít egy hálózati biztonsági csoportban, az csak az új kapcsolatokra lesz érvényes. A meglévő kapcsolatok nem lesznek újraértékelve az új szabályokkal.

Hálózati forgalom szűrése hálózati biztonsági csoportokkal

Több Azure-szolgáltatásból is üzembe helyezhet erőforrásokat egy Azure-beli virtuális hálózatban. Nulla vagy egy hálózati biztonsági csoportot társíthat egy virtuális gép összes virtuális hálózati alhálózatához és hálózati adapteréhez. Ugyanazt a hálózati biztonsági csoportot tetszőleges számú alhálózathoz és hálózati adapterhez lehet társítani. Az alábbi kép a hálózati biztonsági csoportok üzembe helyezésének különböző forgatókönyveit mutatja be, amelyek lehetővé teszik a hálózati forgalmat az internetről a 80-as TCP-porton keresztül:

A hálózati biztonsági csoportok üzembe helyezésének módját bemutató ábra, amely lehetővé teszi az internetre irányuló és az onnan érkező hálózati forgalmat a 80-at tartalmazó TCP-porton keresztül.

A rendszerképre a következő szöveggel együtt hivatkozva megtudhatja, hogyan dolgozza fel az Azure a hálózati biztonsági csoportok bejövő és kimenő szabályait:

Bejövő forgalom

Bejövő forgalom esetén az Azure először egy alhálózathoz társított hálózati biztonsági csoportban dolgozza fel a szabályokat, ha van ilyen, majd a hálózati adapterhez társított hálózati biztonsági csoport szabályait, ha van ilyen. Ez a folyamat az alhálózaton belüli forgalmat is magában foglalja.

  • VM1: Az NSG1 biztonsági szabályai feldolgozásra kerülnek, mivel az 1. alhálózathoz van társítva, a VM1 pedig az 1. alhálózatban található. Ha nem hozott létre olyan szabályt, amely engedélyezi a 80-s port bejövő forgalmát, a DenyAllInbound alapértelmezett biztonsági szabály megtagadja a forgalmat. Az NSG2 nem értékeli ki a forgalmat, mert a hálózati adapterhez van társítva. Ha az NSG1 engedélyezi a 80-as portot a biztonsági szabályában, akkor az NSG2 feldolgozza a forgalmat. A 80-s port virtuális géphez való engedélyezéséhez az NSG1-nek és az NSG2-nek is rendelkeznie kell egy olyan szabvával, amely engedélyezi a 80-at az internetről.
  • VM2: Az NSG1-ben lévő szabályok feldolgozása azért történik, mert a VM2 is az 1. alhálózatban található. Mivel a VM2 nem rendelkezik hálózati biztonsági csoporttal a hálózati adapteréhez, megkapja az NSG1-n keresztül engedélyezett összes forgalmat, vagy az NSG1 által megtagadott összes forgalmat. Ha egy hálózati biztonsági csoport egy alhálózathoz van társítva, a forgalom engedélyezett vagy megtagadható az adott alhálózat összes erőforrása számára.
  • VM3: Mivel a 2. alhálózathoz nincs hálózati biztonsági csoport társítva, a forgalom engedélyezett az alhálózatba, és az NSG2 dolgozza fel, mivel az NSG2 a VM3-hoz csatlakoztatott hálózati adapterhez van társítva.
  • VM4: A forgalom a VM4 felé engedélyezett, mert egy hálózati biztonsági csoport nincs társítva a 3. alhálózathoz vagy a virtuális gép hálózati adapteréhez. Minden hálózati forgalom engedélyezve van egy alhálózaton és hálózati interfészen keresztül, ha nincs nekik hálózati biztonsági csoport társítva.

Kimenő forgalom

Kimenő forgalom esetén az Azure először egy hálózati adapterhez társított hálózati biztonsági csoportban dolgozza fel a szabályokat, ha van ilyen, majd az alhálózathoz társított hálózati biztonsági csoport szabályait, ha van ilyen. Ez a folyamat az alhálózaton belüli forgalmat is magában foglalja.

  • VM1: Az NSG2 biztonsági szabályai feldolgozásra kerülnek. Az AllowInternetOutbound alapértelmezett biztonsági szabály az NSG1-ben és az NSG2-ben is engedélyezi a forgalmat, hacsak nem hoz létre olyan biztonsági szabályt, amely nem engedélyezi a 80-ás portot az internet felé. Ha az NSG2 nem engedélyezi a 80-s portot a biztonsági szabályában, akkor tagadja a forgalmat, és az NSG1 soha nem értékeli ki. Ahhoz, hogy a 80-as porton le legyen tiltva a virtuális gépről érkező forgalom, legalább az egyik hálózati biztonsági csoportnak rendelkeznie kell olyan szabállyal, amely letiltja az internetre irányuló kimenő forgalmat a 80-as porton.
  • VM2: A rendszer minden forgalmat a hálózati adapteren keresztül küld az alhálózatra, mivel a VM2-hez csatlakoztatott hálózati adapterhez nincs hálózati biztonsági csoport társítva. Az NSG1 szabályai feldolgozásra kerülnek.
  • VM3: Ha az NSG2 nem engedélyezi a 80-s portot a biztonsági szabályában, akkor tagadja a forgalmat. Ha az NSG2 nem tagadja meg a 80-as portot, az NSG2AllowInternetOutbound alapértelmezett biztonsági szabálya engedélyezi a forgalmat, mert nincs hálózati biztonsági csoport társítva a 2. alhálózathoz.
  • VM4: A VM4-ből minden hálózati forgalom engedélyezett, mert a hálózati biztonsági csoport nincs társítva a virtuális géphez csatlakoztatott hálózati adapterhez vagy a 3. alhálózathoz.

Alhálózaton belüli forgalom

Fontos megjegyezni, hogy az alhálózathoz társított NSG biztonsági szabályai hatással lehetnek a benne lévő virtuális gépek közötti kapcsolatra. Alapértelmezés szerint az ugyanazon alhálózatban lévő virtuális gépek egy alapértelmezett NSG-szabály alapján kommunikálhatnak, amely lehetővé teszi az alhálózaton belüli forgalmat. Ha olyan szabályt ad hozzá az NSG1-hez , amely minden bejövő és kimenő forgalmat tagad, a VM1 és a VM2 nem tud kommunikálni egymással.

A hálózati adapterre alkalmazott összesítő szabályok egyszerűen megtekinthetők a hálózati adapter érvényes biztonsági szabályainak megtekintésével . Az Azure Network Watcher IP-forgalom-ellenőrzési funkciójának használatával azt is megállapíthatja, hogy a kommunikáció engedélyezett-e egy hálózati adapteren keresztül vagy onnan. Az IP-forgalom ellenőrzésével megállapíthatja, hogy egy kommunikáció engedélyezett vagy megtagadott-e. Emellett az IP-forgalom-ellenőrzés használatával felszínre hozhatja annak a hálózati biztonsági szabálynak az identitását, amely a forgalom engedélyezéséért vagy megtagadásáért felelős.

A hálózati biztonsági csoportok alhálózatokhoz vagy a klasszikus üzemi modellben üzembe helyezett virtuális gépekhez és felhőszolgáltatásokhoz, valamint a Resource Manager-alapú üzemi modell alhálózataihoz vagy hálózati adaptereihez vannak társítva.

Ha nincs konkrét oka, javasoljuk, hogy társítsa a hálózati biztonsági csoportot egy alhálózathoz vagy egy hálózati adapterhez, de mindkettőt nem. Mivel egy alhálózathoz társított hálózati biztonsági csoport szabályai ütközhetnek egy hálózati adapterhez társított hálózati biztonsági csoport szabályaival, váratlan kommunikációs problémákat tapasztalhat, amelyek hibaelhárítást igényelnek.

Alkalmazásbiztonsági csoportok (ASG-k)

Az alkalmazásbiztonsági csoportok lehetővé teszik a hálózati biztonság konfigurálását az alkalmazások struktúrájának természetes kiterjesztéseként, lehetővé téve a virtuális gépek csoportosítását és a hálózati biztonsági szabályzatok definiálását ezen csoportok alapján. A biztonsági szabályzatot nagy léptékben újra felhasználhatja explicit IP-címek manuális karbantartása nélkül. A platform kezeli az explicit IP-címek és több szabálykészlet összetettségét, így az üzleti logikára összpontosíthat. Az alkalmazásbiztonsági csoportok jobb megértéséhez vegye figyelembe a következő példát:

Az Azure Hálózati biztonsági csoportok és alkalmazásbiztonsági csoportok példáját bemutató ábra.

Az előző képen a NIC1 és a NIC2 az AsgWeb alkalmazás biztonsági csoportjának tagjai. A NIC3 az AsgLogic alkalmazás biztonsági csoportjának tagja. A NIC4 az AsgDb alkalmazás biztonsági csoportjának tagja. Bár ebben a példában minden hálózati adapter (NIC) csak egy hálózati biztonsági csoport tagja, a hálózati adapter több alkalmazásbiztonsági csoport tagja lehet, az Azure-korlátokig. Egyik hálózati adapterhez sincs hálózati biztonsági csoport társítva. Az NSG1 mindkét alhálózathoz van társítva, és a következő szabályokat tartalmazza:

HTTP engedélyezése bejövő internetkapcsolatokhoz

Ez a szabály az internetről a webkiszolgálókra irányuló forgalom engedélyezéséhez szükséges. Mivel az internetről érkező bejövő forgalmat a DenyAllInbound alapértelmezett biztonsági szabály megtagadja, nincs szükség további szabályra az AsgLogic vagy az AsgDb alkalmazás biztonsági csoportjaihoz.

Elsőbbség Forrás Forrásportok Célállomás Célportok Protokoll Hozzáférés
100 internet * AsgWeb 80 TCP Engedélyezve

Megtagadás –Database-All

Mivel az AllowVNetInBound alapértelmezett biztonsági szabálya lehetővé teszi az azonos virtuális hálózatban lévő erőforrások közötti összes kommunikációt, ez a szabály az összes erőforrás forgalmának letiltásához szükséges.

Elsőbbség Forrás Forrásportok Célállomás Célportok Protokoll Hozzáférés
120 * * AsgDb 1433 Bármely Megtagadás

Engedélyezd –Database-BusinessLogic

Ez a szabály engedélyezi az AsgLogic alkalmazás biztonsági csoportjából az AsgDb-alkalmazás biztonsági csoportjába irányuló forgalmat. A szabály prioritása magasabb, mint a Deny-Database-All szabály prioritása. Ennek eredményeképpen a rendszer ezt a szabályt a Deny-Database-All szabály előtt dolgozza fel, így az AsgLogic alkalmazás biztonsági csoportjából érkező forgalom engedélyezett, míg az összes többi forgalom le van tiltva.

Elsőbbség Forrás Forrásportok Célállomás Célportok Protokoll Hozzáférés
110 AsgLogic * AsgDb 1433 TCP Engedélyezve

Azok a hálózati interfészek, amelyek az alkalmazásbiztonsági csoport tagjai, alkalmazzák azokat a szabályokat, amelyek forrásként vagy célként jelölik meg azt. A szabályok nem befolyásolják a többi hálózati adaptert. Ha a hálózati adapter nem tagja egy alkalmazásbiztonsági csoportnak, a rendszer nem alkalmazza a szabályt a hálózati adapterre, annak ellenére, hogy a hálózati biztonsági csoport az alhálózathoz van társítva.

Az alkalmazásbiztonsági csoportok a következő korlátozásokkal rendelkeznek:

  • Az előfizetésben megadható alkalmazásbiztonsági csoportok száma és az alkalmazásbiztonsági csoportokra vonatkozó egyéb korlátozások korlátozottak.

  • Az alkalmazásbiztonsági csoporthoz rendelt összes hálózati adapternek ugyanabban a virtuális hálózaton kell lennie, amelyben az alkalmazásbiztonsági csoporthoz rendelt első hálózati adapter található. Ha például az AsgWeb nevű alkalmazásbiztonsági csoporthoz rendelt első hálózati adapter a VNet1 nevű virtuális hálózatban van, akkor az ASGWebhez rendelt összes további hálózati adapternek léteznie kell a VNet1-ben. Nem adhat hozzá hálózati adaptereket különböző virtuális hálózatokból ugyanahhoz az alkalmazásbiztonsági csoporthoz.

  • Ha egy biztonsági szabályban egy alkalmazásbiztonsági csoportot ad meg forrásként és célként, a két alkalmazásbiztonsági csoport hálózati adaptereinek ugyanabban a virtuális hálózaton kell lenniük.

    • Ilyen például, ha az AsgLogic hálózati adapterekkel rendelkezik a VNet1-ből , az AsgDb pedig a VNet2-ből származó hálózati adapterekkel. Ebben az esetben lehetetlen az AsgLogicot forrásként, az AsgDb-t pedig célként hozzárendelni egy szabályhoz. A forrás- és célalkalmazás-biztonsági csoportokhoz tartozó összes hálózati adapternek ugyanabban a virtuális hálózaton kell lennie.

A szükséges biztonsági szabályok számának minimalizálása és a szabályok módosításának szükségessége érdekében tervezze meg a szükséges alkalmazásbiztonsági csoportokat, és amikor csak lehetséges, hozzon létre szabályokat szolgáltatáscímkék vagy alkalmazásbiztonsági csoportok használatával az egyes IP-címek vagy IP-címek tartományai helyett.