公有云上的第一层防护,一般要采用Proxy模式的安全设备。

梭子鱼的WAF是最早支持Azure China公有云的安全设备。

本文记录了在Azure上安装部署Barracuda的过程。下面就是安装部署的全过程:

  1. 下载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

  2. 上传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。

  3. 用创建好的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

  4. 创建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都创建完成。

  5. 两台Barracuda服务器做成Azure的HAset

    在Configure页面中创建Availability Set: brcdha,并把两台都加入这个HA Set。

    至此Barracuda在Azure上的部署工作完成,后面是Barracuda设备的配置工作。

Azure上部署Barracuda WAF集群 --- 1的更多相关文章

  1. Azure上部署Barracuda WAF集群 --- 2

    前面一篇文章讲了如何在Azure上部署Barracuda.这篇文章聊一聊如何配置Barracuda. License 向Barracuda的销售人员申请WAF的License.得到License后打开 ...

  2. China Azure中部署Kubernetes(K8S)集群

    目前China Azure还不支持容器服务(ACS),使用名称"az acs create --orchestrator-type Kubernetes -g zymtest -n kube ...

  3. 内网环境上部署k8s+docker集群:集群ftp的yum源配置

    接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从ht ...

  4. OpenShift上部署Redis主从集群

    客户有部署有状态服务的需求,单机部署模式相对简单,尝试一下集群部署. 关于Redis的master,slave 以及sentinal的架构和作用不提,有兴趣可以参考之前的博客 https://www. ...

  5. NetCore在Centos7上部署和Nginx集群部署访问

    NetCore在Linux上部署 工具:WMWare虚拟机,Wmware12,CentOS7ISO镜像,VS2017 1.安装虚拟机,过程略,网上一搜一大把 2.用VS2017建一个NetCore的W ...

  6. 在kubernetes上部署zookeeper,kafka集群

    本文采用网上镜像:mirrorgooglecontainers/kubernetes-zookeeper:1.0-3.4.10 准备共享存储:nfs,glusterfs,seaweed或其他,并在no ...

  7. kubernetes kubeadm部署高可用集群

    k8s kubeadm部署高可用集群 kubeadm是官方推出的部署工具,旨在降低kubernetes使用门槛与提高集群部署的便捷性. 同时越来越多的官方文档,围绕kubernetes容器化部署为环境 ...

  8. [转载] 把Nutch爬虫部署到Hadoop集群上

    http://f.dataguru.cn/thread-240156-1-1.html 软件版本:Nutch 1.7, Hadoop 1.2.1, CentOS 6.5, JDK 1.7 前面的3篇文 ...

  9. 把Nutch爬虫部署到Hadoop集群上

    原文地址:http://cn.soulmachine.me/blog/20140204/ 把Nutch爬虫部署到Hadoop集群上 Feb 4th, 2014 | Comments 软件版本:Nutc ...

随机推荐

  1. 九度OJ 1325:Battle Over Cities(城市间的战争) (并查集)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:376 解决:132 题目描述: It is vitally important to have all the cities connect ...

  2. jvm本身的多线程机制

    1 多线程环境下的构造函数调用 构造函数本身并没有隐式的同步,因为各个线程构建的是自己的对象,它们之间是不存在竞争关系的. 2 class loader在load class时被了sychronize ...

  3. Python菜鸟之路:Python基础-类(1)——概念

    什么是类? 在python中,把具有相同属性和方法的对象归为一个类(class).类是对象的模板或蓝图,类是对象的抽象化,对象是类的实例化.类不代表具体的事物,而对象表示具体的事物. 类的创建 cla ...

  4. Django 基于Ajax & form 简单实现文件上传

    前端实现 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="U ...

  5. 内存写越界导致破环堆结构引起的崩溃问题定位经验[如报错malloc(): memory corruption或free(): invalid next size]

    前段时间开发的一个后端C模块上线后,线上出core,初始时,因为訪问压力不大,所以崩溃是上线3天左右出现的.当时用gdb跟进调用堆栈并检查源代码,发现出core位置的代码沒有啥问题.因为当时开发任务较 ...

  6. python第八篇:十分钟学会Flask

    什么是Flask Flask是一个基于Python并且依赖于Jinja2模板引擎和Werkzeug WSGI服务的一个微型框架 Flask中包含一个轻量级的web 服务器主要用于在开发阶段测试使用 F ...

  7. Delphi中那些容易混淆的基础

    @.^.Addr.Pointer Delphi(Pascal)中有几个特殊的符号,如@.^等,弄清楚这些符号的运行,首先要明白Delphi指针的一些基础知识:指针,是一个无符号整数(unsigned ...

  8. SQL2005 2008配置错误,无法识别的配置节 system.serviceModel machine.config配置文件有问题

    当装上2008的时候,你以前的程序突然报出你的machine.config配置文件有问题,比如 “/” 应用程序中的服务器错误. 配置错误 说明 : 在处理向该请求提供服务所需的配置文件时出错.请检查 ...

  9. Hibernate学习---第九节:Hibernate之hql

    一.Hql 入门 1.实体类: package learn.hibernate.bean; import java.util.Date; import java.util.HashSet; impor ...

  10. Django 模版当中使用中文 UnicodeDecodeError at / 问题

    Django 再次是当中字符编码问题 今天使用了bootstrap 当中的一些CSS 对自己的博客项目当中的一些东西进行美化 但是很奇怪的是 当 诸如按钮类的加入 中文字符后 就会提示 Unicode ...