邮件安全网关集群 - 部署和节点配置
邮件安全网关的集群功能旨在在您的网络上的两个或多个安全网关服务器之间共享您的配置。以下步骤详细介绍了部署注意事项以及如何为 SecurityGateway邮件安全网关配置集群。
SecurityGateway邮件安全网关的集群功能使您能够使用负载平衡硬件或软件在多个 SecurityGateway 服务器之间分配邮件负载,从而通过减少网络拥塞和过载以及最大化您的电子邮件资源来提高速度和效率。它还有助于确保电子邮件系统中的冗余,以防您的一台服务器遭受硬件或软件故障。
在决定是否在网络上设置安全网关集群时,需要考虑以下事项:节点 安全网关集群将具有主节点和辅助节点
。一台安全网关服务器将被指定为主服务器,所有其他服务器将被指定为辅助服务器。
- 集群中的每个节点都需要运行相同版本的安全网关。
- 集群中的每个节点都需要自己的安全网关注册密钥。不能在多个节点上使用相同的密钥。
- 群集中的每个节点都应位于同一网络上。群集系统不设计为具有地理位置独立的节点。
- 群集中的所有节点都应设置为相同的时区,并设置为完全相同的时间。每个节点上的系统时间差异很大可能会导致问题。
- 可以从群集中的任何节点进行配置更改。进行配置更改时,所有其他节点都将收到更改通知。但请注意,HELO 域名是每个服务器的设置,因此可以在群集中的每个服务器上设置为唯一值。
- 主节点负责维护任务,例如贝叶斯学习。
路由
安全网关不处理进出特定节点的任何流量的路由。我们建议您使用第三方负载均衡器来处理流量路由。
负载均衡器中需要粘性会话,以便将来自同一 IP 的所有流量路由到同一主机。粘性会话对于登录到 SecurityGateway 的 Web 界面的用户最为重要,因此,如果有人登录到特定服务器,则该会话的所有流量都将路由到同一服务器。
共享数据库和文件夹位置
在安全网关集群中,所有服务器共享同一个数据库和一组特定的文件夹。因此,所有节点必须位于同一网络上,并且所有节点都必须可以访问所有共享位置。由于 SecurityGateway 服务默认以 LocalSystem 帐户身份运行,并且 LocalSystem 无权访问任何网络资源,因此您必须将服务配置为使用有权访问这些网络位置的帐户。请参阅下面的配置安全网关以使用网络可访问数据文件夹。
归档
为了将存档与群集一起使用,需要将存档设置配置为使用 Firebird 数据库服务器并使用网络路径,以便所有节点都可以访问存档存储。
证书
- HTTPS 设置(包括证书)是按节点设置的,需要为添加到群集的任何节点指定。证书存储在每个节点上,而不是存储在数据库中。因此,如果您希望在每个节点上使用相同的证书,则需要在每个节点上手动导入该证书,并将每个安全网关配置为使用该证书。
- STARTTLS 白名单和 STARTTLS 必需列表配置是共享的。
- SecurityGateway的LetsEncrypt选项目前不支持辅助节点。
设置群集
升级数据库
如果您希望使用集群,并且已将安全网关从早期版本更新到版本 7.0 或更高版本,则首先需要使用随附的 SGDBTool.exe将安全网关数据库文件从 Firebird 2.x 转换为 Firebird 3.x。如果这是安全网关 7.0 或更高版本的新安装,则可以跳过此步骤,因为您的版本已在使用 Firebird 3.x 数据库。
按照以下步骤升级数据库:
- 停止安全网关服务(单击安全网关开始菜单文件夹中的停止安全网关,或使用服务控制台)。
- 打开窗口命令提示符。
- 切换到您的 \SecurityGateway\App\ 文件夹。
- 键入:sgdbtool.exe-convertfb3,然后按 Enter 键。
这会将 Firebird 2.x 数据库文件的备份副本保存为“SecurityGateway.fb2”。然后它将使用 Firebird 3.x 运行时恢复您的数据库,并将其另存为“安全网关”。FBD”。如果您使用的是存档,则还将升级任何存档数据库文件。
配置安全网关以使用网络可访问的数据文件夹
SecurityGateway 集群中的所有节点共享同一个数据库和一组由多个文件夹组成的公共节点。因此,所有节点必须位于同一网络上,并且必须确保将每个节点的 Windows 服务配置为使用有权访问共享位置的帐户。您还必须确保正确配置每个节点以使用这些位置。如果需要将共享文件夹的内容移动到新位置以便与所有节点共享,则必须手动移动它们。安全网关不会为您迁移现有文件。使用以下共享文件夹,可以从“目录”页面和“群集”页面进行配置(贝叶斯复制除外,它只能从群集进行配置):
- 消息数据(例如 \\Share01\SecurityGateway\Messages\)
- 邮件日志/SMTP 脚本(例如 \\Share01\SecurityGateway\Transcripts\)
- 附件(例如 \\Share01\SecurityGateway\Attachments\)
- 贝叶斯学习非垃圾邮件(例如\\Share01\SecurityGateway\BayesHam\)
- 贝叶斯学习垃圾邮件(例如\\Share01\SecurityGateway\BayesSpam\)
- 贝叶斯复制(例如 \\Share01\SecurityGateway\BayesReplication) 注意:此文件夹对于集群是唯一的。它是主节点将其贝叶斯数据库复制到的位置,其他节点从中复制该数据的位置。
数据库位置和凭据在安装期间指定,或者使用 SGDBTool.exe 对于现有安装指定(请参阅下面的配置安全网关以使用外部数据库服务器)。
存档存储
如果您使用的是存档功能,则还需要将存档存储重新定位到网络可访问的位置,并且需要将每个存档数据库文件移动到 Firebird 数据库服务器。请参阅下面的:将归档与集群结合使用。
设置 Firebird 3 数据库服务器
为了使用集群,必须在集群中每个节点可访问的网络位置安装 Firebird 3 数据库服务器。
要设置 Firebird 3 服务器:
- 下载 Firebird 3 数据库。
- 在所有节点都可以访问的计算机上运行安装程序。
- 接受许可协议,然后单击下一步。
- 阅读信息,然后单击下一步。
- 选择一个文件夹,然后单击下一步。
- 在“选择组件”上,单击“下一步”。
- 为“开始”菜单文件夹选择一个名称(或单击“不创建开始菜单”文件夹),然后单击“下一步”。
- 将“选择其他任务”选项设置为默认值(即超级服务器模式、作为服务运行和“复制客户端库”),然后单击“下一步”。
- 键入并重新键入 SYSDBA 密码(稍后需要“SYSDBA”用户名和此密码),然后单击下一步。
- 单击“安装”
- 单击下一步
- 单击完成
配置安全网关以使用外部数据库服务器
在 SecurityGateway 集群中,必须将每个节点配置为连接到同一数据库文件,该文件必须位于您在上一节中设置的 Firebird 3 数据库服务器上。要将安全网关设置为使用外部数据库服务器:
- 在 Firebird 服务器上,为您的数据库文件创建一个文件夹(例如 C:\Databases)。
- 复制您的主安全网关数据库文件(即 \安全网关\应用程序\安全网关。FBD)到该位置。
- 在安全网关服务器上,打开 Windows 命令提示符。
- 切换到您的 \SecurityGateway\App\ 文件夹。
- 键入:sgdbtool.exe -setdbconnect,然后按 Enter 键。
- 对于“使用嵌入式 Firebird 数据库是/否?”,键入 N,然后输入
- 对于“输入 Firebird 服务器 IP”,键入 Firebird 服务器的 IP 地址(例如 10.10.0.1),然后按 Enter 键。
- 按回车键“输入 Firebird 服务器端口(默认 3050)”。
- 对于“输入 Firebird 数据库路径或别名”,键入复制到 Firebird 服务器的数据库文件的完整路径(例如 C:\Databases\SECURITYGATEWAY。FBD),然后按回车键。
- 按回车键“输入 Firebird 数据库用户名(默认 SYSDBA)”。
- 对于“输入 Firebird 数据库密码(默认主密钥)”,键入您在安装 Firebird 3 服务器时创建的密码,然后按 Enter 键。
您的主安全网关节点现在应连接到外部数据库服务器。
将存档与群集结合使用
要将存档与群集结合使用,请执行以下操作:
- 在 Firebird 服务器上为您的存档数据库文件创建一个或多个文件夹(例如“c:\databases\Archives\Example.com”、“..\档案\company.com“等)。
- 为每个存档存储的存储位置创建网络可访问文件夹。
- 将所有存档存储文件复制到这些新位置。
- 编辑每个存档存储存储位置以使用 UNC 文件路径,并指向其新位置。
- 编辑每个存档存储以连接到 Firebird 数据库服务器实例,并为每个数据库文件输入数据库路径/别名。
- 根据需要编辑自动存档存储创建设置,设置 UNC 文件路径并修改宏用法以支持群集。
将节点添加到群集
要将新的安全网关安装添加到集群,请执行以下操作:
- 在要用作新节点的计算机上运行安全网关安装程序。
- 在安装过程中,选择“连接到外部数据库服务器”选项,并使用您在上一节中输入的信息。
- 正常继续其余安装。
- 确保在“Windows 服务”部分中使用适当的帐户凭据,并且已将新服务器配置为使用 UNC 文件路径连接到共享数据文件夹。
- 将任何必要的 SSL 证书复制到新计算机。
主动/主动数据库复制
如果您希望对集群使用主动/主动数据库复制,SecurityGateway 确实支持该功能,但它需要外部复制工具,并且其配置超出了本帮助文件的范围。