Network Security Group (NSG) ve Application Security Group (ASG) Kavramları
Microsoft Azure ile ilgili konuşulan tüm projelerde, projenin en önemli ve başlamadan planlanması gereken safhası kuşkusuz güvenlik tarafıdır. Her şey Azure Virtual Network üzerine inşa edileceği için, önceden çok iyi planlanmalı ve tasarlanmalıdır.
Microsoft Azure’da bu durumu kolaylaştıracak birçok ücretsiz servis sunuyor bizlere. Bunlardan en önemlisi ve hepimizin kullandığı Network Security Group özelliği. Bu özellikli ile kolayca sanal sunucular veya Subnet’ler arasında güvenlik kuralları yazabiliyoruz. Ancak taktir edersiniz ki yapı büyüdükçe NSG içerisindeki kuralları yazmak ve bunları sürekli güncel-kontrol altında tutmak pek mümkün olmuyor. Yan yana IP adresleri, her bir sunucu için ayrı kurallar vs.
İşte bu noktada bir nebze olsun yönetimi kolaylaştırmamızı sağlayan Application Security Group özelliği devreye giriyor. Bu yazıda da temel olarak NSG ve ASG nedir, kullanım alanları nelerdir ve nasıl çalışırlar konularına değinerek aradaki farkları açıklayacağız.
Network Security Group Nedir?
Yukarıda kısaca bahsettiğimiz gibi; NSG’ler Layer 3 katmanında yani IP bazlı kısıtlamalar ve/veya izinler vermemizi sağlayan ücretsiz bir Azure hizmetidir.
Bu erişim kontrollerini aşağıdaki senaryolar için yapabiliriz.
- vNET üzerindeki farklı iş yükleri arasındaki iletişim kontrolü
- Azure ortamınızdaki mimari içerisindeki network trafiğinin kontrolü. DMZ, Internal gibi.
- Internet Erişim Kontrolü
Aşağıdaki görsel ile de mimari olarak NSG’nin konumunu görebiliriz. Toparlamak gerekirse NSG; teorik olarak vNET’inizde bulunan erişim kurallarınızı toparladığınız erişim kontrol listesidir.
NSG objelerinizi bir sanal sunucuya ya da subnet’e tanımlayabilirsiniz. Ayrıca bir NSG birden fazla Subnet ve/veya VM için kullanılabilir.
Application Security Group Nedir?
Application Security Group (ASG), NSG’den bağımsız bir dış küme olarak düşünülebilir. NSG içinde ASG olarak görebilirsiniz ve Networking ekranı üzerinden ASG’leri inceleyebilirsiniz. Temel olarak ASG, VM grubu oluşturmanıza olanak tanır. Mesela 10 adet SQL VM var. Tek tek sunucuları tanımlayıp kontrol etmektense, ASG ile bu sunucuları gruplayabilirim. Dolayısıyla kural yazarken o gruba uygularım. Yeni VM geldiğinde gruba dahil etmem yeterli. Bu da bence en büyük avantajı.
Aşağıdaki görsel ile ASG daha net anlaşılacaktır. NSG ve ASG birbirini tamamlar ve birlikte temel güvenlik katmanınızı oluşturur.
Örnek Kural Tablosu
Action | Name | Source | Destination | Port |
Allow | WebAllow | Internet | AsgWeb | 80 |
Allow | DBAllow | AsgLogic | AsgDB | 1433 |
DenyAll | DnyAllInbound | Any | Any | Any |
Bu senaryoda; Yeni DB Sunucusu ihtiyacı oluştuğunda, sunucuyu oluşturduktan sonra AsgDB ASG’una bağlamam yetecek.
Diagram:
Son olarak çokça altını çizdiğim konu; lütfen isimler anlamlı ve aşağıdaki linkte yer alan kurallara uygun olsun. Bu hayatınızı ve yapınızı bilmeyen danışman arkadaşınızı çok rahatlatacaktır. İnanın ASG01 hiçbir şey ifade etmiyor ?
Buraya kadar okuyan tüm meslektaşlarıma teşekkürler, kolaylıklar.
Eline sağlık