端口映射/dmz主机
在本系列文章的第1部分中,我们开始了关于如何配置Lotus Notes / Domino以通过DMZ路由SMTP邮件的讨论。 我们将在第2部分中继续这个主题,详细研究如何在DMZ中托管Domino服务器以为入站流量提供中继的第一点,为出站流量提供中继的最后点。 在此过程中,我们提出了几种不同的示例配置方案。 与第一篇文章一样,具有管理Lotus Notes和Domino的经验将有助于您理解我们讨论的概念。 而且,如果您尚未阅读本系列的第1部分 ,建议您现在阅读。
部署可被您无法控制的其他系统访问的服务时,安全始终是重中之重。 在DMZ中托管Domino服务器也不例外。 以下是在DMZ中部署Domino服务器时应使用的最佳实践:
在DMZ中部署服务器之后,您需要对其进行配置,以允许SMTP邮件路由进出。
让我们先看一下出站。 内部Domino服务器必须能够将邮件路由到SMTP网关。 有两种方法可以执行此操作:通过NRPC或通过SMTP连接。 NRPC是Domino服务器用于邮件路由和复制的标准,并且要求通过内部防火墙访问端口1352。 SMTP服务器不应与内部服务器位于同一域中。 因此,它们不能共享Notes命名网络,因此需要邮件路由连接文档。
一种更简单的方法是允许一个或多个内部Domino服务器通过端口25将SMTP路由到DMZ中的这些服务器。应该为要发送到DMZ中这些服务器的每个内部Domino服务器指定一个中继。 中继主机名应在内部DNS中解析为一个或多个MX记录,从而允许冗余的路由路径。
本系列文章的第1部分展示了一个示例,该示例在面向DMZ的Internet服务器与内部受信任的网络服务器之间使用不同的SMTP TCP端口。 如果您的公司对此有要求,请使用端口列表TCP2222。也可以通过在两组服务器之间使用Notes NRPC来容纳此规则。 面向Internet的服务器在TCP端口25上侦听(按照标准),并且穿越DMZ内部的流量通过TCP端口1352路由。
使用外部DNS中的MX记录来确定从Internet到SMTP服务器的入站路由,这些记录决定了将入站邮件路由到哪个或哪些服务器。 一旦邮件到达DMZ中的Domino SMTP服务器,就必须确定下一跳,邮件才能在其入站路径上继续。 此时,我们只希望服务器将它们接受的所有入站邮件发送到一个或多个内部Domino服务器。
这是智能主机的工作。 这是一种非常简单的方法,告诉DMZ中的Domino服务器将它们接受的内部SMTP域的所有邮件移交给特定的中继地址。 此中继地址应与DNS中的一个或多个MX记录相关,以在冗余路径可用的情况下控制路由路径的优先级。
以下方案和图表说明了这些概念。 在这些图中,红色路径表示主路径,蓝色路径表示在主路径发生故障时使用的备用路径。
方案A:单点登录,多个SMTP服务器
在这种情况下,SMTP1是主要的出站路径,而SMTP2是主要的入站路径。 在服务器发生故障时,每个服务器充当另一个的备份路径。
入站路由流程如下:
出站路由流程类似:
MX记录权重不必偏向于一台服务器与另一台服务器。 如果要使入站和出站邮件在服务器之间平均分配,请使每对服务器的MX记录首选项相同。
分离入站路由和出站路由是一种常见的做法,因为它可以简化正常情况下的故障排除。 在这些位置的每一个处的单个服务器将代表最简单的配置。 每点具有多个服务器可为服务器故障提供一定的恢复能力。
方案B:多个存在点,多个SMTP服务器
为了防止重大站点故障(例如ISP网络连接或灾难),需要一种更复杂的方案。 这是真正存在多个优势的地方。 在这种情况下,我们专门讨论两个存在点,但是体系结构可以扩展多次,以在需要时覆盖更多。
如果邮件域名是单个实体(例如acme.com),并且不是“子域”(例如us.acme.com和eu.acme.com),则必须将邮件传递到主域名具有备份路径的存在点。 如果存在子域,则应将每个子域的邮件路由到适当的本地存在点,作为主要和其他存在点进行备份。
在下面的示例中,域是acme.com,除非出现故障,否则所有邮件都将传递到一个存在点。
入站路由流程如下:
出站路由相应地遵循。
在图3中:
基本概念与方案A相似,只是稍微复杂一点。 如果发生故障,所有服务器都可以选择发送到acme.com的邮件的更多选择。 这提供了一种非常灵活的体系结构,可以应对从单个服务器到整个站点或存在点的各种故障。
方案A和方案B之间的另一个主要区别是,每个中继点的SMTP中继主机条目都需要不同,以便可以独立控制往返于各个中继点的路由。 同样,可以使MX首选项等于平衡路由,而不是拆分首选路径和备用路径。
智能主机用于入站邮件路由(本地域收件人),而中继主机用于出站邮件路由(外部域收件人)。 智能主机条目特定于每个服务器,并在服务器配置文档中配置。 如果一组服务器对下一跳中继具有完全相同的选择,则相同的智能主机条目可以用于多个服务器。
但是,正如我们之前讨论的那样,当您需要为一组主机使用不同的路由首选项(或成本)时,必须使用多个智能主机条目,每个条目都解析为一组唯一的MX首选项。 可在服务器配置文档“路由器/ SMTP基本”选项卡上找到智能主机中继的条目。
除了指定本地Internet域智能主机值外,还必须启用选项“所有本地Internet域收件人都使用智能主机”以指示服务器应将所有本地邮件中继到智能主机。 否则,Domino服务器将仅为无法在所有可用目录中找到的收件人中继邮件。 如果使用扩展目录目录(如本文稍后所述)来完成地址验证,则仅接受的消息必须在目录中具有一个条目。 您希望Domino将这些消息中继到智能主机,如果不启用此设置,它将不会这样做。
在本节中,我们提供了两个使用DMZ设置Domino服务器的示例:没有包含用户信息目录的Domino服务器和带有用户目录信息的Domino服务器。
在这种情况下,由于Domino服务器无法访问任何用户目录信息,因此将其配置为充当中继服务器并且无法进行任何电子邮件地址验证。 如前所述,您不需要DMZ中内部生产域目录的副本。 下图说明了此配置。
Domino SMTP服务器上的Domino目录将不包含任何超出管理员身份验证所需的用户信息。 DMZ中没有发布内部Domino目录中的任何信息。
通常希望对传入邮件执行某种地址验证,以确保最早将垃圾邮件(通常发送至随机生成的电子邮件地址)阻止。 只应传递给合法内部收件人的邮件。 为此,Domino SMTP服务器必须具有一个目录,它们可以在该目录中比较地址以进行验证,以区分合法的地址并拒绝不合法的地址。
再次,信息安全性是重中之重。 如果您不想将内部Domino目录复制到这些服务器上,那么它们可以将哪个目录用于地址验证? 在这种情况下,扩展目录目录(EDC)是一种简单有效的解决方案。 使用EDC具有以下好处:
那么,这与使用没有用户目录信息的Domino服务器有何不同? 图6显示了该体系结构。
Directory Cataloger任务负责在内部域中的服务器上维护EDC,该服务器具有对源目录的访问权,需要从源目录中聚合用户信息。 但是,并非所有内部目录信息都汇总到EDC中。
要创建EDC,请基于标准Domino目录模板创建一个新数据库。 (我们将示例数据库称为smtpedc.nsf。)这与创建移动目录目录不同,后者是经过压缩的,并且需要全文索引才能提高查找性能。 EDC包含通常与标准Domino目录相关联的所有视图,可以对这些视图执行查找。
创建此数据库后,设置一个非常严格的ACL。 下表显示了所需的ACL条目的示例:
ACL条目名称 | 访问权限 | 其他角色 |
---|---|---|
-默认- | 不可访问 | 没有 |
匿名 | 不可访问 | 没有 |
Acme管理员 | 经理 | 删除文件 |
* /服务器/ SMTP | 经理 | 删除文件 |
HUB1 /服务器/ ACME | 经理 | 管理服务器 删除文件 |
注:如果DMZ中的服务器相互复制EDC,则需要* / SERVERS / SMTP。
最后,您需要创建一个EDC配置文档。
在“基本”选项卡上的“要包括的其他字段”选项中,选择“ InternetAddress”。 (这是服务器将与传入收件人名称进行比较的内容。)在“限制聚合到服务器”字段中,指定负责聚合的服务器以及应发送给管理员以监视问题的处理报告。
在“高级”选项卡上,您可以输入选择性复制公式以进一步限制源内容。 在这种情况下,我们只希望聚合包含有效Internet地址值的用户,组和邮件数据库条目。 这可以用作仅允许这些实体的子集接收Internet邮件的控件。
可以使用“允许外部目录同步”来进一步增强该公式。 出现在目录条目上的标志,作为控制聚合哪些条目的另一种方法。
在指定的聚合服务器的“服务器”文档中,您的EDC必须列为要处理的目录以及聚合计划。 为此,请在目录目录文件名字段中输入其文件名。
然后,您可以按计划将EDC复制到DMZ,以使此信息保持最新。 这里要注意的一点是,目录编目聚合计划和复制计划共同决定将新用户识别为有效接收者所花费的时间。
现在,Domino SMTP网关必须能够引用此辅助目录。 要启用此功能,需要简单的目录服务设置。 在DMZ中的一台服务器上创建目录服务数据库。 在我们的示例中,我们将其称为dmzda.nsf。 一旦配置此数据库,应将其复制到每个SMTP服务器。
在目录服务数据库中,创建一个条目以指向EDC。 在“基本”选项卡上,输入描述性域名,并确保已启用该条目。
在“副本”选项卡中,在“服务器名称”字段中输入一个星号(*),允许服务器引用任何可用的副本。 然后输入EDC数据库名称,并确保也在此处启用它。
在每个Domino SMTP服务器的“服务器”文档中,将“目录服务”数据库名称添加到适当的字段中。
更新服务器文档后,请重新启动服务器以使更改生效。 要验证服务器重新启动后是否正在引用目录,请在服务器控制台上输入SHOW XDIR。 您应该看到类似于以下的输出。
配置EDC和目录服务后,可以启用地址验证。 为此,请在“ SMTP服务器配置”文档中,转到“路由器/ SMTP基本”选项卡,并将地址查找设置为“仅全名”。 这将强制服务器使用完整的Internet电子邮件地址进行查找,并阻止服务器拆分本地部分并进行本地部分名称匹配。 然后在“路由器/ SMTP”“限制和控制”“ SMTP入站控制”选项卡上,设置选项以验证是否启用了本地域收件人。
Domino SMTP服务器现在将针对您创建和配置的EDC执行地址验证。 通过使用已知的正确和无效收件人地址的组合向它们发送电子邮件来测试服务器,并观察服务器控制台,因为策略原因拒绝了不良主机。 那些有效的应该路由到内部域。
本系列文章讨论了几种有关如何配置和设置安全的基于Domino的SMTP服务的方案。 如您所见,有许多不同的组件供您使用。 这些包括:
您可以混合和匹配这些选择,以构建满足您的业务需求的SMTP体系结构。
今天,SMTP已成为首选的电子邮件。 但是,大多数最终用户可能不知道和/或不在乎这个事实。 因此,您需要构建一个安全有效的解决方案。 Lotus Domino提供了允许您执行此操作的工具和功能。
翻译自: https://www.ibm.com/developerworks/lotus/library/smtp-dmz2/index.html
端口映射/dmz主机