公有云上的第一層防禦,通常要採用Proxy模式的安全設備。shell
梭子魚的WAF是最先支持Azure China公有云的安全設備。api
本文記錄了在Azure上安裝部署Barracuda的過程。下面就是安裝部署的全過程:安全
下載地址:http://pan.baidu.com/s/1eQEq4nC 提取密碼:v6rq 服務器
下載後的文件爲:BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201-azure.rar,解壓縮。 負載均衡
在D: \BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201-azure\HyperV\Virtual Hard Disks下有WAF的vhd虛擬磁盤文件:BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201.vhd ssh
首先在Azure的Storage中建立一個Container:tcp
而後打開Powershell_ise,用命令行上傳鏡像:spa
PS C:\Users\hengz> Add-AzureVhd -LocalFilePath D:\BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201.vhd -Destination https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/barracuda/barracuda.vhd 命令行
MD5 hash is being calculated for the file D:\BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201.vhd. 3d
命令會對vhd進行處理,符合Azure的標準後上傳到Azure的存儲中。上傳的速度仍是能夠的,在辦公室的無線環境中能夠達到50多Mbps的速度,仍是至關能夠的。
上傳成功:
PS C:\Users\hengz> Add-AzureVhd -LocalFilePath D:\BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201.vhd -Destination https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/barracuda/barracuda.vhd
MD5 hash is being calculated for the file D:\BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201.vhd.
MD5 hash calculation is completed.
Elapsed time for the operation: 00:02:39
Creating new page blob of size 53687091712...
Elapsed time for upload: 00:06:49
LocalFilePath DestinationUri
------------- --------------
D:\BarracudaWebAppFirewall-vm4.1.4-fw7.9.0.020-20141201.vhd https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/barracuda/barracuda.vhd
上傳結束後,首先把上傳的VHD建立成Image:
這是看到的vhd的大小是50GB。
Barracuda的WAF的License分4個level:Level 一、Level 五、Level 十、Level 15。分別對應Azure的A一、A二、A三、A4。根據License的類型選擇虛擬機的型號。我拿到的Licence是Level 5,因此選擇的是A2的VM。
也能夠用powershell的命令行建立虛擬機:
PS C:\Users\hengz> New-AzureVMConfig -Name azurebrcd02 -InstanceSize Medium -ImageName $vmimage.ImageName | Add-AzureProvisioningConfig -Linux -LinuxUser hengwei -Password xxxxxx | Set-AzureSubnet -SubnetNames Subnet-1 | New-AzureVM -ServiceName azurebrcd -Location "China East" -VNetName hebarracuda
Barracuda WAF的管理端口是8000,前面設置的ssh在安裝之後不會使用。因此添加local port是8000的endpoint。
第一臺設備,local port是8000,public port是8003:
PS C:\Users\hengz> get-azurevm -ServiceName azurebrcd -Name azurebrcd01 | Add-AzureEndpoint -Name brcdmgmt -Protocol tcp -LocalPort 8000 -PublicPort 8003 | Update-AzureVM
OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 42e7032e-778e-4303-b0b5-aa227249e2ef Succeeded
第二臺設備,local port是8000,public port是8004:
PS C:\Users\hengz> get-azurevm -ServiceName azurebrcd -Name azurebrcd02 | Add-AzureEndpoint -Name brcdmgmt -Protocol tcp -LocalPort 8000 -PublicPort 8004 | Update-AzureVM
OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM cae9d85a-b099-46d4-b80a-a8d276f65890 Succeeded
設置http的Endpoint,生成httpset的SLB組,80端口在兩臺Barracuda的服務器間實現負載均衡:
PS C:\Users\hengz> get-azurevm -ServiceName azurebrcd -Name azurebrcd02 | Add-AzureEndpoint -Name http -Protocol tcp -LocalPort 80 -PublicPort 80 -LBSetName httpset -ProbePort 80 -ProbeProtocol tcp -LoadBalancerDistribution sourceIP | Update-AzureVM
OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM ebd56971-ad96-47da-8e6a-bed9703c313f Succeeded
PS C:\Users\hengz> get-azurevm -ServiceName azurebrcd -Name azurebrcd01 | Add-AzureEndpoint -Name http -Protocol tcp -LocalPort 80 -PublicPort 80 -LBSetName httpset -ProbePort 80 -ProbeProtocol tcp -LoadBalancerDistribution sourceIP | Update-AzureVM
OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Update-AzureVM 7b3a9f00-91ef-427f-b107-2ffbcce9aefb Succeeded
固然,上面兩步操做均可以在Portal頁面上完成。
至此,Endpoint都建立完成。
在Configure頁面中建立Availability Set: brcdha,並把兩臺都加入這個HA Set。
至此Barracuda在Azure上的部署工做完成,後面是Barracuda設備的配置工做。