公有云上的第一层防护,一般要采用Proxy模式的安全设备。
梭子鱼的WAF是最早支持Azure China公有云的安全设备。
本文记录了在Azure上安装部署Barracuda的过程。下面就是安装部署的全过程:
- 下载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
- 上传vhd镜像:
首先在Azure的Storage中创建一个Container:
然后打开Powershell_ise,用命令行上传镜像:
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.
命令会对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。
- 用创建好的Image创建两台虚拟机
Barracuda的WAF的License分4个level:Level 1、Level 5、Level 10、Level 15。分别对应Azure的A1、A2、A3、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
- 创建Endpoint,设定管理Endpoint和业务Endpoint:
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都创建完成。
- 两台Barracuda服务器做成Azure的HAset
在Configure页面中创建Availability Set: brcdha,并把两台都加入这个HA Set。
至此Barracuda在Azure上的部署工作完成,后面是Barracuda设备的配置工作。