Azure Firewall, Azure Virtual Network kaynaklarınızı koruyan, yönetilen, bulut tabanlı bir güvenlik hizmetidir.
Azure Firewall şu anda yönetilen genel önizleme aşamasındadır. “Register-AzureRmProviderFeature” PowerShell komutunu kullanarak bu uygulamayı açıkça etkinleştirmiş olursunuz.
Bu genel önizleme bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yüklerinde kullanılmamalıdır. Belirli özellikler desteklenmiyor olabilir, kısıtlı yeteneklere sahip olabilir veya tüm Azure bölgelerinde mevcut olmayabilir.
Resim 01
Aboneliklerle sanal ağlarda uygulama ve ağ bağlantısı ilkelerini merkezi olarak oluşturabilir, zorlayabilir ve günlüğe alabilirsiniz. Azure Firewall, dış güvenlik duvarlarının sanal ağınızdan kaynaklanan trafiği tanımlamasına olanak tanımak amacıyla sanal ağ kaynaklarınız için statik genel bir IP adresi kullanır. Hizmet, günlük ve analiz için Azure İzleyici ile tamamen tümleşik çalışır.
Azure Güvenlik Duvarı genel önizlemesi şu özellikleri sunar:
Yerleşik yüksek kullanılabilirlik
Yüksek kullanılabilirlik yerleşiktir; bu nedenle, ek bir yük dengeleyici gerekmez ve yapılandırmanız gereken hiçbir şey yoktur.
Kısıtlamasız bulut ölçeklenebilirliği
Azure Firewall, değişen ağ trafiği akışlarıyla başa çıkmak için gerek duyduğunuz kadar ölçeklenebilir, bu sayede trafiğinizin en yoğun olduğu durum için bütçe ayarlamak zorunda kalmazsınız.
FQDN filtreleme
Giden HTTP/S trafiğini, joker karakter de içerebilen tam etki alanı adlarının (FQDN) belirtilen bir listesiyle sınırlayabilirsiniz. Bu özelliğe SSL sonlandırması gerekmez.
Ağ trafiği filtreleme kuralları
Ağ filtreleme kurallarını kaynak ve hedef IP adresine, bağlantı noktasına ve protokole göre merkezi olarak oluşturabilir, izin verebilir veya reddedebilirsiniz. Azure Güvenlik Duvarı tamamen durum bilgisine sahiptir; bu nedenle, farklı türden bağlantıların geçerli paketlerini tanıyabilir. Kurallar, birden çok abonelik ve sanal ağda zorlanır ve günlüğe kaydedilir.
Giden SNAT desteği
Tüm giden sanal ağ trafiği IP adresleri Azure Güvenlik Duvarı genel IP’sine çevrilir (Kaynak Ağ Adresi Çevirisi). Sanal ağınızdan kaynaklanan uzak İnternet hedeflerine yönelik trafiği tanımlayabilir ve buna izin verebilirsiniz.
Azure İzleyici günlükleri
Günlükleri depolama hesabında arşivleyebilmeniz, olayların Event Hub’a akışını yapabilmeniz ve bunları Log Analytics’e gönderebilmeniz için, tüm olaylar Azure Monitor ile tümleştirilmiştir.
Azure Firewall hakkında genel olarak bilgileri paylaştık. Peki Azure Firewall’u nasıl etkinleştirebiliriz?
İşlemi portal üzerinden veya PowerShell kullanarak gerçekleştirebiliyoruz. Ben PowerShell kullanarak bu işlemleri gerçekleştireceğim.
##Azure aboneliğine girişi sağlıyoruz.
Login-AzureRmAccount
##Birden fazla Azure aboneliğimiz varsa abonelik listesini çekiyoruz.
Get-AzureRmSubscription
##Çalışmayı gerçekleştireceğimiz aboneliği seçiyoruz.
Select-AzureRmSubscription -SubscriptionName "Visual Studio Offer"
Resim 02
#Kaynakgrubu ve lokasyon bilgilerini aşağıdaki değişkenlere giriyoruz.
$RG="rg-seyhan"
$Location="westeurope"
#Tüm lokasyon listesini görmek için aşağıdaki komutu çalıştırabilirsiniz.
Get-AzureRmLocation | Select Location
Resim 03
#Kaynak grubu oluşturuyoruz.
New-AzureRmResourceGroup -Name $RG -Location $Location
Resim 04
#Azure üzerinde oluşturmuş olduğumuz kaynak grubu içerisine sanal ağ oluşturuyoruz.
$VnetName=$RG+"Vnet"
New-AzureRmVirtualNetwork -ResourceGroupName $RG -Name $VnetName -AddressPrefix 192.168.0.0/16 -Location $Location
Resim 05
#Oluşturmuş olduğumuz sanağ ağ içerisinde ağ içerisinde kullanılacak olan alt ağları belirliyoruz. Burada "AzureFirewallSubnet" isminin kullanılması gerekiyor.
$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName $RG -Name $VnetName
Add-AzureRmVirtualNetworkSubnetConfig -Name AzureFirewallSubnet -VirtualNetwork $vnet -AddressPrefix 192.168.1.0/24
Add-AzureRmVirtualNetworkSubnetConfig -Name FrontEndSubnet -VirtualNetwork $vnet -AddressPrefix 192.168.0.0/24
Add-AzureRmVirtualNetworkSubnetConfig -Name BackEndSubnet -VirtualNetwork $vnet -AddressPrefix 192.168.2.0/24
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet
Resim 06
#Azure üzerinde oluşturacağımız vm için ve yük dağıtıcı için genel ip adresi oluşturuyoruz.
$LBPipName = $RG + "PublicIP"
$LBPip = New-AzureRmPublicIpAddress -Name $LBPipName -ResourceGroupName $RG -Location $Location -AllocationMethod Static -Sku Standard
$seyhanvmpip = New-AzureRmPublicIpAddress -Name "seyhanHostPublicIP" -ResourceGroupName $RG -Location $Location -AllocationMethod Static -Sku Basic
Resim 07
# Sanal makine için ağ güvenlik grubu için, 3389 portunu açıyoruz.
$nsgRuleRDP = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleSSH -Protocol Tcp -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow
Resim 08
# Ağ güvenlik grubunu oluşturuyoruz.
$NsgName = $RG+"NSG"
$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName $RG -Location $Location -Name $NsgName -SecurityRules $nsgRuleRDP
Resim 09
#Sanal sunucu üzerinde kullanacağımız hesap bilgilerini giriyoruz.
$securePassword = ConvertTo-SecureString ‘Password1***’ -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential ("AzfwUser", $securePassword)
Resim 10
#Sanal makinemizi oluşturuyoruz.
$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName $RG -Name $VnetName
$FrontEndSubnetId = $vnet.Subnets[1].Id
# Create a virtual network card and associate with seyhanvm public IP address
$seyhanvmNic = New-AzureRmNetworkInterface -Name seyhanvmNic -ResourceGroupName $RG -Location $Location -SubnetId $FrontEndSubnetId -PublicIpAddressId $seyhanvmpip.Id -NetworkSecurityGroupId $nsg.Id
$seyhanvmConfig = New-AzureRmVMConfig -VMName seyhanvm -VMSize Standard_DS1_v2 | Set-AzureRmVMOperatingSystem -Windows -ComputerName seyhanvm -Credential $cred | Set-AzureRmVMSourceImage -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2012-R2-Datacenter" -Version latest | Add-AzureRmVMNetworkInterface -Id $seyhanvmNic.Id
New-AzureRmVM -ResourceGroupName $RG -Location $Location -VM $seyhanvmConfig
Resim 11
#Yeni bir tane sanal makine oluşturuyoruz.
$BackEndSubnetId = $vnet.Subnets[2].Id
$ServerVmNic = New-AzureRmNetworkInterface -Name ServerVmNic -ResourceGroupName $RG -Location $Location -SubnetId $BackEndSubnetId
$ServerVmConfig = New-AzureRmVMConfig -VMName ServerVm -VMSize Standard_DS1_v2 | Set-AzureRmVMOperatingSystem -Windows -ComputerName ServerVm -Credential $cred | Set-AzureRmVMSourceImage -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2012-R2-Datacenter" -Version latest | Add-AzureRmVMNetworkInterface -Id $ServerVmNic.Id
New-AzureRmVM -ResourceGroupName $RG -Location $Location -VM $ServerVmConfig
#Azure Firewall oluşturuyoruz.
$GatewayName = $RG + "Azfw"
$Azfw = New-AzureRmFirewall -Name $GatewayName -ResourceGroupName $RG -Location $Location -VirtualNetworkName $vnet.Name -PublicIpName $LBPip.Name
Resim 13
# *microsoft.com alan adları için kural oluşturuyoruz.
$Azfw = Get-AzureRmFirewall -ResourceGroupName $RG
$Rule = New-AzureRmFirewallApplicationRule -Name R1 -Protocol "http:80","https:443" -TargetFqdn "*microsoft.com"
$RuleCollection = New-AzureRmFirewallApplicationRuleCollection -Name RC1 -Priority 100 -Rule $Rule -ActionType "Allow"
$Azfw.ApplicationRuleCollections = $RuleCollection
Set-AzureRmFirewall -AzureFirewall $Azfw
Resim 14
#Gerekli olan route ayarlarını gerçekleştiriyoruz.
$Azfw = Get-AzureRmFirewall -ResourceGroupName $RG
$AzfwRouteName = $RG + "AzfwRoute"
$AzfwRouteTableName = $RG + "AzfwRouteTable"
$IlbCA = $Azfw.IpConfigurations[0].PrivateIPAddress
$AzfwRoute = New-AzureRmRouteConfig -Name $AzfwRouteName -AddressPrefix 0.0.0.0/0 -NextHopType VirtualAppliance -NextHopIpAddress $IlbCA
$AzfwRouteTable = New-AzureRmRouteTable -Name $AzfwRouteTableName -ResourceGroupName $RG -location $Location -Route $AzfwRoute
Resim 15
#Yazmış olduğumuz route kuralını sunucuların olduğu vnet’e atama işlemini gerçekleştiriyoruz.
$vnet.Subnets[2].RouteTable = $AzfwRouteTable
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet
Resim 16
Daha sonrasında sunucu networkümüz içerisine dahil olan sunucu üzerinde internet sayfası erişimleri kontrol ediyoruz.
Resim 17
Gördüğünüz gibi *microsoft.com alan adı hariç diğer sayfalara erişim engellenmiş durumda.
Resim 18
Bu makalemizde Azure Firewall nedir? Kurulum ve konfigürasyonunu nasıl yapılırı anlatmış olduk. Umarım faydalı bir makale olmuştır. Bir sonraki makalemizde görüşmek dileğiyle.