创建 NSX 分布式防火墙规则以允许或拒绝应用程序流量
- 测试 IP 连接性
验证 3 层应用程序中虚拟机之间的 IP 连接。
在 sa-web-01 命令提示符处,测试与 sa-web-02、sa-web-03、sa-app-01 和 sa-db-01 VM 的 ICMP 连接。
从 sa-web-01,测试端口 8443 上对 sa-app-01 的 HTTPS 访问。
从 sa-app-01 测试 SQL 访问。
验证是否可以使用 Web 浏览器访问 3 层应用程序。
- 创建安全组
创建四个动态安全组来定义3层应用程序防火墙规则。
1.创建包含 Web 服务器的动态安全组。
a. 在 NSX UI 上,导航到清单>组。
b. 单击添加组。
c. 输入Web-Servers作为名称。
d. 单击“计算成员”列下的“设置”链接,然后单击“ +添加条件”。
e. 在标准 1 下,添加配置值。
• 从下拉菜单中选择虚拟机。
• 从下拉菜单中选择名称。
• 从下拉菜单中选择包含。
• web在文本框中输入。
f. 单击“应用”,然后单击“保存”。
g. 单击Web 服务器组的查看成员链接。
h. 验证 sa-web-01、sa-web-02 和 sa-web-03 虚拟机已列出,然后单击关闭。
2.创建包含应用程序服务器的动态安全组。
a. 单击添加组。
b. 输入App-Servers作为名称。
c. 单击“计算成员”下的“设置”链接,然后单击“ +添加条件”。
d. 在标准 1 下,添加配置值。
• 从下拉菜单中选择虚拟机。
• 从下拉菜单中选择名称。
• 从下拉菜单中选择包含。
• app在文本框中输入。
e. 单击“应用”,然后单击“保存”。
f. 单击应用程序服务器组的查看成员链接。
g. 验证 sa-app-01 虚拟机已列出,然后单击关闭。
- 创建包含数据库服务器的动态安全组。
a. 单击添加组。
b. 输入DB-Servers作为名称。
c. 单击“计算成员”下的“设置”链接,然后单击“ +添加条件”。
d. 在标准 1 下,添加配置值。
• 从下拉菜单中选择虚拟机。
• 从下拉菜单中选择名称。
• 从下拉菜单中选择包含。
• db在文本框中输入。
e. 单击“应用”,然后单击“保存”。
f. 单击数据库服务器组的查看成员链接。
g. 验证 sa-db-01 虚拟机已列出,然后单击关闭。
4.创建包含所有 3 层应用程序 VM 的动态安全组。
a. 单击添加组。
b. 输入3-Tier作为名称。
c. 单击计算成员下的设置链接。
d. 单击“成员”选项卡。
e. 从类别下拉菜单中选择组。
f. 查找并选中“应用程序服务器”、“数据库服务器”和“Web 服务器”复选框。
g. 单击“应用”,然后单击“保存”。
h. 单击3 层组的查看成员链接。
i. 验证是否列出了 3 层应用程序的所有 VM,然后单击关闭。
4.创建分布式防火墙规则
1.为3层应用程序创建分布式防火墙外部访问策略。
a. 导航到安全>策略管理>分布式防火墙。
b. 导航到“类别特定规则”选项卡,然后单击“应用程序”部分。
c. 单击+添加策略。
d. 新策略行出现后,输入EXTERNAL ACCESS POLICY名称。
2.配置允许 HTTPS 流量流向 Web 服务器的规则。
a. 单击“外部访问策略”附近的垂直省略号图标,然后选择“添加规则”。
b. 在“名称”列中,输入Allow External Web Traffic新规则的名称。
c. 在“源”列中,将“任意”(默认)保留为选中状态。
d. 在“目标”列中,单击铅笔图标,选中“Web 服务器”复选框,然后单击“应用”。
e. 在服务列中,单击铅笔图标,选中HTTPS复选框,然后单击应用。
f. 在“上下文配置文件”列中,选择“无”(默认)。
g. 在“应用到”列中,单击铅笔图标,单击“组”,选中“Web 服务器”复选框,然后单击“应用”。
h. 在“操作”列中,将“允许”(默认)保留为选中状态。
保留所有其他设置的默认值。
3.为 3 层应用程序创建分布式防火墙策略。
a. 单击“外部访问策略”附近的垂直省略号图标,然后选择“在下面添加策略”。
b. 新策略行出现后,输入3-TIER POLICY名称。
4.单击 3-TIER POLICY 附近的垂直省略号图标,然后选择添加规则以添加三个分布式防火墙规则。
必须执行此步骤三次才能在 3 层策略下添加三个新的分布式防火墙规则。
5.在第一行中,配置一条规则,允许通过端口 8443 从 Web 服务器到应用程序服务器的 HTTPS 流量。
a. 在“名称”列中,输入Allow Web Traffic新规则的名称。
b. 在“源”列中,单击铅笔图标,选中“Web 服务器”复选框,然后单击“应用”。
c. 在“目标”列中,单击铅笔图标,选中“应用程序服务器”复选框,然后单击“应用”。
d. 在“服务”列中,单击铅笔图标,单击“原始端口协议”选项卡,然后单击“添加服务条目”。
e. 从服务类型下拉菜单中选择TCP ,将源端口文本框留空,输入目标端口,然后单击应用。8443
f. 在“上下文配置文件”列中,选择“无”(默认)。
g. 在“应用到”列中,单击铅笔图标,单击“组”,选中“ Web 服务器”和“应用程序服务器”复选框,然后单击“应用”。
h. 在“操作”列中,将“允许”(默认)保留为选中状态。
保留所有其他设置的默认值。
6.在第二行中,配置允许从应用程序服务器到数据库服务器的 MySQL 流量的规则。
a. 在“名称”列中,输入Allow DB Traffic新规则的名称。
b. 在源列中,单击铅笔图标,选中应用程序服务器复选框,然后单击应用。
c. 在“目标”列中,单击铅笔图标,选中“数据库服务器”复选框,然后单击“应用”。
d. 在“服务”列中,单击铅笔图标,选中“MySQL”复选框,然后单击“应用”。
e. 在“上下文配置文件”列中,选择“无”(默认)。
f. 在“应用到”列中,单击铅笔图标,单击“组”,选中“应用程序服务器”和“数据库服务器”复选框,然后单击“应用”。
g. 在“操作”列中,将“允许”(默认)保留为选中状态。
保留所有其他设置的默认值。
7.在第三行中,配置拒绝所有其他流量的规则。
a. 在“名称”列中,输入Reject All Other Traffic新规则的名称。
b. 在源列中,单击铅笔图标,选中3 层复选框,然后单击应用。
c. 在“目标”列中,单击铅笔图标,选中“ 3 层”复选框,然后单击“应用”。
d. 在“服务”列中,将“任何”(默认)保留为选中状态。
e. 在“上下文配置文件”列中,选择“无”(默认)。
f. 在“应用到”列中,单击铅笔图标,单击“组”,选中“3 层”复选框,然后单击“应用”。
g. 在操作列中,从下拉菜单中选择拒绝。
保留所有其他设置的默认值。
8.单击发布。
6.创建防火墙规则后测试 IP 连接
测试应用程序之间的连接以验证分布式防火墙规则是否已成功应用。
1.在 sa-web-01 命令提示符处,测试与 sa-web-02、sa-web-03、sa-app-01 和 sa-db-01 VM 的 ICMP 连接。
NOTE:所有 ping 都会失败,因为分布式防火墙规则配置为拒绝 Web、应用程序和数据库 VM 之间未明确允许的所有流量。
对于同一网段中的虚拟机,ping 也会失败,因为不存在允许从 Web 网段中的 sa-web-01 计算机到 sa-web-02 计算机的流量的显式规则。
2.从 sa-web-01,测试端口 8443 上对 sa-app-01 的 HTTPS 访问。
3.从 sa-app-01 测试 SQL 访问。
4.从 sa-app-01 控制台,测试与 sa-db-01 的 SSH 连接。
5.验证是否可以使用 Web 浏览器访问 3 层应用程序。
8. 导出分布式防火墙配置
导出并下载分布式防火墙配置。
1.导出分布式防火墙配置。
a. 在 NSX UI 上,导航到安全>策略管理>分布式防火墙。
b. 从操作下拉菜单中,选择导出固件配置。
c. 在导出防火墙配置向导中,VMware1!在密码短语和确认密码文本框中输入。
d. 单击导出。
防火墙配置的导出需要几秒钟才能完成。
e. 单击“下载”以下载防火墙配置文件。
f. 单击“下载”进行确认。