Contents [show]
概述
(AWS) 弹性负载均衡器 (电子负载均衡器) 将 Web 流量分布到多个 EC2 实例,弹性容器服务(ECS) 和 IP 地址。 电子负载均衡器 也有能力平衡不同可用区之间的流量以确保高可用性。 但是,使用有几个限制 AWS的 电子负载均衡器,其中包括:
- 有限的负载平衡方法。 默认情况下, 电子负载均衡器 只使用 轮循 算法,它的内容切换能力有限。
- 由于 电子负载均衡器 旨在管理从 Internet 到 Virtual Private Cloud 中的实例的流量(专有网络),它不适合本地资源之间的负载平衡。
在本文中,我们将讨论如何用更好的替代方案 ZEVENET ADC 替换他的负载均衡服务。 要对 AWS ELB 和 ZEVENET 进行详细比较,请参考这篇文章 AWS 和 ZEVENET 比较.
先决条件
在尝试从传输配置之前确保您满足这些要求 AWS弹性负载均衡器 ZEVENET 的全功能 ADC。
- ZEVENET ADC 节点必须安装在您的 PC、裸机、虚拟环境中,或者必须有一个活动的 ZVNcloud 帐户中找到与您的订单有关的所有信息,包括配送和物流信息。 请求评估 用于本地部署。
- 必须能够访问 Web 图形界面。 如果你不这样做,请按照这个快速 安装指南.
- 必须是 AWS ELB 的活跃用户并且熟悉我们将在下一节中讨论的概念。
- 必须能够在 ZEVENET 负载平衡器中创建虚拟服务器。 这是一个快速指南: 第 4 层和第 7 层虚拟服务器配置.
备注
ZEVENET 中有一个模板 AWS市场. ZEVENET 在 AWS 上的部署是无缝的,只需单击几下即可完成。
基本概念
听众: 侦听器检查第 7 层入站流量并将其转发到必要的目标组。 通常,侦听器将被配置为检查 HTTP or HTTPS 港口交通 80 or 443 分别。 ZEVENET ADC 使用的主要第 7 层监听器是 HTTP 和 HTTPS.
目标人群: 目标组是协同工作以提供服务的 EC2 实例集群。 目标组中的所有这些实例必须具有相同的应用程序代码来处理来自客户端的请求。 目标群体与 服务 使用 ZEVENET ADC 时。
健康检查: 健康检查监控每个 EC2 实例上服务的运行和响应。 当服务或 EC2 实例出现故障时,健康检查会注意到无响应,负载均衡器会将流量重定向到健康实例。 ZEVENET 使用一组名为 Farmguardian 监控后端服务器及其服务的健康状况。
负载均衡器类型: AWS ELB 提供三种类型的负载均衡器。 这些包括 Application, 商业网络 和 经典卡 负载平衡器。 经典负载均衡器已被弃用,只留下 商业网络 和 Application 负载均衡器使用。 ZEVENET ADC 第 7 层负载均衡器具有 HTTP 配置文件,而网络负载平衡器有 L4xNAT 个人资料。
安全组: 安全组是一组防火墙规则,用于监视和控制入站和出站流量。 ZEVENET ADC 有一个内置的 IPDS 模块设置了策略来过滤负载均衡器的任何不良流量,并阻止所有未经授权的访问尝试。 您可以通过访问创建防火墙规则 WAF 内的选项 IPDS 模块。
ACM: ACM 服务使管理员能够部署和管理 SSL/TLS 证书,以便在 AWS 上的内部连接资源中使用。 要在 ZEVENET 负载均衡器中管理内部 SSL 证书,请通过以下方式访问它们 LSLB >> SSL证书. 或者您可以通过创建自定义自签名 SSL 证书 让我们加密 嵌入在 ZEVENET 负载均衡器上的程序。
EC2 实例或目标: 这些是下游 Linux 虚拟服务器,托管处理从 Web 收到的请求的应用程序代码。 这些虚拟服务器称为 后端 使用 ZEVENET ADC 时。
示例配置:SSL 证书
要加密客户端和负载均衡器之间传输的数据,必须安装 SSL 证书以确保主机之间的通信安全。 敏感信息,例如 登录信息 和 信用卡号 必须通过安全传输层传输。
在本节中,我们将参考 AWS ACM 讨论在 ZEVENET ADC 上安装 SSL 证书。
配置用于 AWS 的自签名 SSL 证书
可以按照以下步骤在 ELB 上安装 SSL 证书。
- 生成一个 CSR 对于您的 EC2 实例,您需要访问该实例的 Linux 控制台。
- 连接到 EC2 实例后,导航到目录: /etc/pki/tls/私人/
- 使用以下命令生成一个新的私钥,2048 位 RSA: sudo openssl genrsa -out custom.key
- 使用以下命令生成提供先前生成私钥的证书: openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
- 填写 SSL 证书所需的必要详细信息。
- 国家: 输入 2 个 ISO 国家代码。
- 州/省: 输入您公司所在的省份。
- 县(市,区): 输入您所在的城市名称。
- 通用名称: 输入完全限定的域名 FQDN,例如 www.zevenet.com
- 密码或密码: 您可以忽略为此示例创建密码。 同时,生成的证书将在 *.pem 文件格式。
- 使用以下命令将两个证书编译成 PKCS12 包:openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
- 假设 AWS CLI 已经安装,通常必须使用以下命令将生成的证书 (custom.crt) 和私钥 (custom.key) 上传到 AWS Certificate Manager: aws acm import-certificate — 证书文件://custom.crt — 私钥文件://custom.key — 区域 us-east-2
- 该证书现在将在“从 ACM 选择证书(推荐)”选项下的创建向导中可用。
配置用于 ZEVENET ADC 的自签名 SSL 证书
- 要为您的 ZEVENET ADC 实例生成自定义 SSL 证书,请使用设备的命令行找到以下目录。
- 使用以下命令生成不带密码的私钥:
- 生成证书签名请求 (CSR) 使用命令获取私钥:
- 填写必要的详细信息。
- 名称: 用于标识 CSR 的描述性名称。
- 国家: 您所在国家/地区的 ISO 代码。
- 通用名称: 完全合格的域名。 (FQDN), 例如 www.example.com
- 师: 您所在的部门,可能是健康、IT 或安全部门。
- 地点: 您所在的城市。
- 省(自治区,直辖市,州): 您的组织所在的州。
- 组织: 您组织的法定名称,例如 ZEVENET SL。
- 电子邮件地址: 输入您的电子邮件地址。 不是必须的,它应该是一个域名。
- 生成一个 自签名证书 同时使用私钥和 CSR 证书。 对于此示例,自签名证书的有效期为 1 年,输出格式为 .PEM. 使用以下命令。
- 该证书将在 LSLB >> SSL证书 部分。
cd /usr/local/zevenet/config/certificates
openssl genrsa -out custom.key 2048
openssl req -new -key custom.key -out custom.csr
openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
要了解有关 ZEVENET ADC 上的 SSL 证书的更多信息,请参阅以下资源:
示例配置:Web 应用程序防火墙
作为一项安全功能,A WAF 通过过滤和阻止恶意流量来保护 Web 应用程序。 WAF 通常部署在负载均衡器之前,旨在保护 Web 应用程序免受各种恶意攻击,例如 跨站脚本(XSS), SQL注入 和其他攻击,包括那些在 OWASP 前 10 名.
通过检查传入的 HTTP 流量并根据一组规则或安全策略对其进行分析,WAF 将阻止所有被认为不安全的流量。 ZEVENET ADC 提供更高级的安全功能,如 IP 黑名单、RBL 策略、DoS 保护等。
在本节中,我们将描述如何防止 SQL注入 在 AWS 中使用 ZEVENET ADC 模拟类似的配置。
AWS 配置
启用 SQL注入 保护,您必须至少有一个或 2 个 EC2 实例放置在弹性负载均衡器后面。 这些 EC2 实例必须具有您要保护的 Web 应用程序。
- 在 AWS 的 Web 控制台中,搜索 WAF 和屏蔽,然后单击显示的链接。
- 点击 网络访问控制列表 菜单项。
- 选择您的流量将来自的区域,例如 欧洲(法兰克福).
- 点击 创建网络 ACL 按钮。
- 下 添加规则和规则组,点击 添加规则 下拉箭头。
- 选择 添加托管规则组. 您会发现更多托管规则组,包括 机器人控制, 亚马逊 IP 信誉列表, SQL数据库等等。
- 选择 SQL数据库 通过启用切换按钮 添加到 Web ACL.
- 向下滚动并单击 添加规则 按钮。
- 内 不匹配规则的默认操作, 将选项保留为 让.
- 点击 下一页 按钮。
- 内 设置规则优先级 部分,使用此部分为规则添加优先级,然后单击按钮, 下一页.
- 内 配置指标 部分,没有什么可以改变的,所以点击按钮, 下一页.
- 内 查看和创建 Web ACL 部分,点击 创建网络 ACL 按钮。
- 成功创建Web ACL后,点击刚刚创建的ACL。
- 单击选项卡 关联的 AWS 资源.
- 添加要保护的应用程序负载均衡器。 添加资源后,您的规则将被设置为阻止对 sql 数据库的任何注入。
ZEVENET 配置
要启用 SQL 注入保护,您需要创建一个 WAF 规则集 第一。
- 在MyCAD中点击 软件更新 IPDS 在侧面菜单上,然后单击以将其展开。
- 点击 WAF 扩展它的选项。
- 点击 规则集 选项。
- 点击 创建WAF规则集 按钮。
- 分配一个 名字 很容易识别这个规则集。
- 离开 复制规则集 字段为 –没有规则集–.
- 点击 使用 按钮保存更改。
- 内 全局设置,在 检查请求正文 选项。
- 将默认操作更改为 拒绝:切断请求并且不执行剩下的规则
- 点击 使用 按钮保存更改。
设置规则
- 点击 规则 选项卡以添加新规则。
- 点击 新规则 按钮。
- 选择规则类型为 操作.
- 点击 相 as 收到请求正文.
- 点击 分辨率 as 拒绝:切断请求并且不执行剩下的规则.
- 向规则添加说明以轻松识别规则的全部内容
- 点击 使用 按钮保存更改。
添加条件
- 单击新建规则以添加条件。 首先点击 创造条件 按钮。
- 内 变量 字段,选择 REQUEST_BODY 并单击 添加变量 按钮。
- 内 转型 字段,选择选项, 没有.
- 内 操作者 部分,选择 detectSQLi
- 点击 使用 按钮创建新条件。
为农场启用规则
- 点击 个农场 选项卡将此规则添加到负载均衡器上的目标虚拟服务器(场)。
- 内 农场设置,将选定的农场从 可用的农场 至 启用的农场.
- 在右上角,有 行动. 单击绿色播放按钮启动规则。 此时,WAF 规则将阻止嵌入在请求正文中的任何 sql 注入,主要是通过搜索或登录表单。
有关 WAF 的更多资源,请参阅以下文章:
更多资讯
使用 Let's encrypt 程序自动生成 SSL 证书。
使用 ZEVENET ADC 的数据链路/上行链路负载平衡。
使用 ZEVENET ADC 进行 DNS 负载平衡。
防止 DDoS 攻击。
ZEVENET ADC 中的应用程序、运行状况和网络监控。