11.10.4. 配置和 JBoss EAP 6 一起使用的网络防火墙
概述
多数产品环境都使用防火墙作为总体网络安全策略的一部分。如果你需要多个 EAP 服务器来与其他 EAP 服务器或外部服务(如 Web 服务器或数据库)来通讯,你的防火墙必须考虑这一点。管理良好的防火墙只会打开操作所需的端口,它会限制对某些 IP 地址、子网和网络协议的端口的访问。
不过,关于防火墙的完整讨论超出了本文档的范畴。
必须具备的条件
- 确定你要打开的端口。
- 对防火墙软件的理解是必需的。在红帽企业版 Linux 6 里,这个过程会使用
system-config-firewall
命令。微软的 Windows 服务器包括了内置的防火墙,以及几个可用于任何平台的第三方的防火墙解决方案。在微软的 Windows 服务器上,您可以使用 PowerShell 来配置防火墙。
假设
这个过程配置防火墙是基于如下假设的:
- 操作系统为红帽企业版 Linux 6。
- JBoss EAP 6 运行在主机
10.1.1.2
上。或者,EAP 服务器具有自己的防火墙。 - 网络防火墙服务器运行在主机
10.1.1.1
的接口eth0
上,且具有外部的接口eth1
。 - 你想把端口
5445
(JMS 使用的端口)上的流量转发到 JBoss EAP 6。网络防火墙应该不允许其他流量通过。
过程 11.33. 管理和 JBoss EAP 6 一起使用的网络防火墙
登录到管理控制台。
登录到管理控制台。在默认情况下,它运行在 http://localhost:9990/console/ 上。确定套接字绑定组使用的套接字绑定。
- 点击管理控制台顶部的 Configuration 标签。
- 展开 General Configuration 菜单,选择 Socket Binding。
- Socket Binding Declarations 屏幕将会出现。首先将显示
standard-sockets
组。你可以从右边的组合框里选择不同的组。
注意
如果你使用的是独立服务器,它只有一个套接字绑定组。套接字名称和端口将会出现,每页有 8 个值。你可以使用表下面的箭头来进行浏览。确定你要打开的端口。
根据特定端口的功能以及系统环境的要求,你可能需要在防火墙上打开某些端口。配置防火墙将通讯转发到 JBoss EAP 6。
执行这些步骤来配置网络防火墙以允许指定端口上的通讯。- 登录到防火墙主机并以根用户身份打开命令行提示。
- 执行
system-config-firewall
来启动防火墙配置工具。GUI 或命令行工具根据你登录到防火墙系统的方式启动。这个任务假设你通过 SSH 登录并使用了命令行接口。 - 使用 TAB 键切换到 Trusted Services 屏幕将会出现。按钮,然后按 ENTER 键。
- 不要修改任何值,使用 TAB 键切换到 Other Ports 屏幕将出现。按钮,然后按 ENTER 键进入下一屏幕。
- 使用 TAB 键切换到 Port and Protocol 屏幕将会出现。按钮,然后按 ENTER 键。
- 在 Port / Port Range 字段里输入
5445
,然后使用 TAB 键切换到 Protocol 字段,并输入tcp
。使用 TAB 键切换到 按钮,然后按 ENTER 键。 - 使用 TAB 键切换到 Port Forwarding 屏幕。按钮,直至你到达
- 使用 TAB 键切换到按钮,然后按 ENTER 键。
- 输入下列值来设立端口
5445
的端口转发。- 源接口:
eth1
- 协议:
tcp
- 端口/端口范围:
5445
- 目的地 IP 地址:
10.1.1.2
- 端口/端口范围:
5445
使用 TAB 键切换到按钮,然后按 ENTER。 - 使用 TAB 键切换到按钮,然后按 ENTER。
- 使用 TAB 键切换到按钮,然后按 ENTER。要应用这些改动,阅读警告提示并点击 。
在你的 JBoss EAP 6 主机上配置防火墙。
一些机构选择在 JBoss EAP 6 服务器上配置防火墙,并关闭非操作必需的端口。请参考 第 11.10.3 节 “JBoss EAP 6 使用的网络端口” 并确定要打开的端口,然后关闭其他端口。红帽企业版 6 的默认配置关闭所有的端口,除了22
(用于 SSH)和5353
(用于多点传送 DNS)。当你在配置端口的时候,请确保你可以从物理上访问服务器,这样就不会不经意地将自己关在外面。
结果
配置了防火墙,它会按照你在防火墙配置里指定的将通讯转发到内部的 JBoss EAP 6 服务器。如果你选择在服务器上启用防火墙,除了需要运行应用程序的端口,所有的端口将被关闭。
过程 11.34. 在 Microsoft Windows 上用 PowerShell 配置防火墙
- 为了进行调试,关闭防火墙以确定当前的网络是否和防火墙配置相关。
Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall set allprofiles state off"'
- 允许 UDP 连接端口 23364。例如:
Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall firewall add rule name="UDP Port 23364" dir=in action=allow protocol=UDP localport=23364"' Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "NetSh Advfirewall firewall add rule name="UDP Port 23364" dir=out action=allow protocol=UDP localport=23364"'
过程 11.35. 配置 Red Hat 企业版 Linux 7 上的防火墙以允许 mod_cluster Advertising
- 为了在 Red Hat 企业版 Linux 7 里使用 mod_cluster advertising,您必须启用防火墙里的 UDP 端口:
firewall-cmd --permanent --zone=public --add-port=23364/udp
注意
224.0.1.105:23364 是 mod_cluster 负载平衡器广告 UDP 多点传送地默认地址和端口。