LDAP 查询概述
如果在网络基础设施的 LDAP 目录中(例如,在 Microsoft Active Directory、SunONE Directory Server 或 OpenLDAP 目录中)存储用户信息,则可以将设备配置为查询 LDAP 服务器以接受、路由和验证邮件。可以将设备配置为与一个或多个 LDAP 服务器配合使用。
以下部分概述了可以执行的 LDAP 查询的类型;LDAP 如何与设备配合使用以验证、接受和路由邮件;以及如何将设备配置为与 LDAP 配合使用。
相关主题
了解 LDAP 查询
如果在网络基础设施的 LDAP 目录中存储用户信息,则可以将设备配置为查询 LDAP 服务器以用于实现以下目的:
- 接受查询。可以使用现有 LDAP 基础设施来定义如何处理传入邮件的收件人邮件地址(在公共侦听程序中)。有关详细信息,请参阅使用接受查询进行收件人验证。
- 路由(别名设置)。可以将设备配置为根据网络中 LDAP 目录中的可用信息,将邮件路由至相应地址和/或邮件主机。有关详细信息,请参阅使用路由查询将邮件发送到多个目标地址。
- 证书身份验证。可以创建查询来检查客户端证书的有效性,以便验证用户的邮件客户端与邮件安全设备之间的 SMTP 会话。有关详细信息,请参阅检查客户端证书的有效性。
- 伪装。您可以伪装信封发件人(针对传出邮件)和信头(针对传入邮件,例如,To:、Reply To:、From: 或 CC: 信头)。有关伪装的更多信息,请参阅使用伪装查询重写信封发件人。
- 组查询。可以将设备配置为根据 LDAP 目录中的组对邮件执行操作。为此,可以将组查询与邮件过滤器相关联。可以对与定义的 LDAP 组匹配的邮件执行适用于邮件过滤器的任何邮件操作。有关详细信息,请参阅使用组 LDAP 查询确定收件人是否为组成员。
- 基于域的查询。可以创建基于域的查询,以便设备在单个侦听程序中为不同的域执行不同的查询。当邮件安全设备运行基于域的查询时,它会根据域确定要使用的查询,并且会查询与该域关联的 LDAP 服务器。
- 链查询。可以创建链查询来使设备按顺序执行一系列查询。在配置链查询时,设备会按顺序运行每个查询,直到 LDAP 设备返回一个积极的结果。对于链式路由查询,设备会按顺序对每个重写的邮件地址重新运行相同的配置链查询。
- 目录搜集预防。可以将设备配置为使用 LDAP 目录来抵御目录搜集攻击。可以在 SMTP 会话期间或在工作队列中配置目录搜集攻击预防。如果在 LDAP 目录中找不到收件人,可以配置系统以执行延迟退回或彻底丢弃邮件。因此,垃圾邮件发送者无法区分有效和无效的邮件地址。请参阅将 LDAP 用于目录搜集攻击预防。
- SMTP 身份验证。AsyncOS 支持 SMTP 身份验证。SMTP 身份验证是用于验证连接到 SMTP 服务器的客户端的一种机制。可以使用该功能使贵组织中的用户可以使用邮件服务器发送邮件,即使他们利用远程连接(例如在家中或在旅行时)也是如此。有关详细信息,请参阅配置 AsyncOS 进行 SMTP 身份验证。
- 外部身份验证。可以将设备配置为使用 LDAP 目录来验证登录到设备的用户。有关详细信息,请参阅为用户配置外部 LDAP 身份验证。
- 垃圾邮件隔离区最终用户身份验证。可以将设备配置为在用户登录最终用户隔离区时对其进行验证。有关详细信息,请参阅对垃圾邮件隔离区的最终用户进行身份验证。
- 垃圾邮件隔离区别名合并。如果为垃圾邮件使用邮件通知,则此查询会合并最终用户别名,以便最终用户不会根据每个别名邮件地址都收到隔离区通知。有关详细信息,请参阅垃圾邮件隔离区别名整合查询。
了解 LDAP 如何与 AsyncOS 配合使用
使用 LDAP 目录时,可以将设备与 LDAP 目录服务器配合使用,以接受收件人、路由邮件和/或伪装邮件信头。还可以将 LDAP 组查询与邮件过滤器配合使用,以创建设备收到邮件时的处理规则。
下图展示设备如何与 LDAP 配合使用:
- 发送 MTA 通过 SMTP 将邮件发送到公共侦听程序。
- 设备通过系统管理 > LDAP页面(或通过全局 ldapconfig 命令)查询定义的 LDAP 服务器。
- 将从 LDAP 目录接收数据,而且根据在系统管理 > LDAP 页面(或在 ldapconfig 命令中)定义由侦听程序使用的查询:
- 邮件将路由到新的收件人地址,或者被丢弃或退回
- 邮件将路由到新收件人的相应邮件主机
- 根据查询重写 From:、To: 和 CC: 邮件信头
- 执行 rcpt-to-group 或 mail-from-group 邮件过滤器规则(与配置的组查询配合使用)定义的进一步操作。
注 |
可以将设备配置为连接到多个 LDAP 服务器。当这样做时,可以配置用于负载平衡或故障切换的 LDAP 配置文件设置。有关使用多个 LDAP 服务器的详细信息,请参阅将 AsyncOS 配置为与多个 LDAP 服务器配合使用。 |
将思科 IronPort 设备配置为与 LDAP 服务器配合使用
配置设备以与 LDAP 目录配合使用时,必须完成以下步骤以配置 AsyncOS 设备的接受、路由、别名和伪装设置:
过程
步骤 1 |
配置 LDAP 服务器配置文件。服务器配置文件包含用于启用 AsyncOS 以连接到 LDAP 服务器(或多个服务器)的信息,例如:
有关配置服务器配置文件的详细信息,请参阅创建 LDAP 服务器配置文件以存储有关 LDAP 服务器的信息。 配置 LDAP 服务器配置文件时,可以配置 AsyncOS 以连接到一个或多个 LDAP 服务器。 有关配置 AsyncOS 以连接到多个服务器的信息,请参阅将 AsyncOS 配置为与多个 LDAP 服务器配合使用。 |
||
步骤 2 |
配置 LDAP 查询。在 LDAP 服务器配置文件中配置 LDAP 查询。配置的查询应根据特定 LDAP 实施和方案进行定制。 有关的可以创建的 LDAP 查询类型的信息,请参阅了解 LDAP 查询。 有关编写查询的信息,请参阅处理 LDAP 查询。 |
||
步骤 3 |
在公共侦听程序或专用侦听程序中启用 LDAP 服务器配置文件。必须在侦听程序上启用 LDAP 服务器配置文件,以指示侦听程序在接受、路由或发送邮件时运行 LDAP 查询。 有关详细信息,请参阅启用 LDAP 查询以在特定侦听程序中运行。
|
创建 LDAP 服务器配置文件以存储有关 LDAP 服务器的信息
配置 AsyncOS 以使用 LDAP 目录时,您需要创建 LDAP 服务器配置文件来存储有关 LDAP 服务器的信息。
过程
步骤 1 |
在系统管理 > LDAP 页面上,单击添加 LDAP 服务器配置文件。 |
||
步骤 2 |
输入服务器配置文件的名称。 |
||
步骤 3 |
输入 LDAP 服务器的主机名。 可以输入多个主机名以配置用于故障切换或负载均衡的 LDAP 服务器。使用逗号分隔多个条目。有关详细信息,请参阅将 AsyncOS 配置为与多个 LDAP 服务器配合使用。 |
||
步骤 4 |
选择身份验证方法。可以使用匿名身份验证或指定用户名和密码。 |
||
步骤 5 |
选择 LDAP 服务器类型:Active Directory、OpenLDAP 或“未知或其他 (Unknown or Other)”。 |
||
步骤 6 |
输入端口号。 对于 Active Directory 或任何未知/其他服务器类型,默认端口为 3268(不使用 SSL 时)和 3269(使用 SSL 时)。 对于 Open LDAP 服务器类型,默认端口为 389(不使用 SSL 时)和 636(使用 SSL 时)。 |
||
步骤 7 |
输入 LDAP 服务器的基础 DN(可分辨名称)。 如果通过用户名和密码进行身份验证,则用户名必须包含具有该密码的条目的完整 DN。例如,某个用户是营销团队的成员,其邮件地址为 joe@example.com。此用户的条目类似于以下条目:
|
||
步骤 8 |
选择在与 LDAP 服务器通信时是否使用 SSL。 |
||
步骤 9 |
在“高级”(Advanced) 下,输入缓存生存时间。此值表示保留缓存的时长。 |
||
步骤 10 |
输入保留缓存条目的最大数量。
|
||
步骤 11 |
输入同时连接数。
|
||
步骤 12 |
通过单击“测试服务器”按钮测试服务器连接。如果您指定了多个 LDAP 服务器,则这些服务器都会进行测试。测试结果显示在“连接状态”(Connection Status) 字段中。有关详细信息,请参阅测试 LDAP 服务器。 |
||
步骤 13 |
通过标记相应复选框并填写字段来创建查询。可以选择“接受”(Accept)、“路由”(Routing)、“伪装表”(Masquerade)、“组”(Group)、“SMTP 身份验证”(SMTP Authentication)、“外部身份验证”(External Authentication)、“垃圾邮件隔离区最终用户身份验证”(Spam Quarantine End-User Authentication) 和“垃圾邮件隔离区别名合并”(Spam Quarantine Alias Consolidation)。
|
||
步骤 14 |
通过单击测试查询 (Test Query) 按钮测试查询。 输入测试参数并单击“运行测试”。测试结果显示在“连接状态”(Connection Status) 字段中。如果对查询定义或属性进行任何更改,请单击更新 (Update)。有关详细信息,请参阅测试 LDAP 服务器。
|
||
步骤 15 |
提交并确认更改。
|
测试 LDAP 服务器
使用“添加/编辑 LDAP 服务器配置文件”页面上的“测试服务器”按钮(或 CLI 中 ldapconfig 命令的 test 子命令)测试与 LDAP 服务器的连接。AsyncOS 随即显示一条消息,说明到服务器端口的连接是成功还是失败。如果配置了多台 LDAP 服务器,则 AsyncOS 会测试每台服务器并显示各个测试结果。
启用 LDAP 查询以在特定侦听程序中运行
要允许设备在您接收或发送邮件时运行 LDAP 查询,必须在适当的侦听程序上启用 LDAP 查询。
相关主题
配置 LDAP 查询的全局设置
LDAP 全局设置定义设备如何处理所有 LDAP 流量。
过程
步骤 1 |
在系统管理 > LDAP 页面上,单击编辑设置。 |
步骤 2 |
选择用于 LDAP 流量的 IP 接口。默认情况下,设备会自动选择接口。 |
步骤 3 |
选择用于 LDAP 接口的 TLS 证书(通过网络 > 证书页或 CLI 中的 certconfig 命令添加的 TLS 证书在列表中提供,请参阅加密与其他 MTA 的通信概述)。 |
步骤 4 |
如果要验证 LDAP 服务器证书,请选择适当的选项。 |
步骤 5 |
提交并确认更改。 |
创建 LDAP 服务器配置文件示例
在下面的示例中,“系统管理”(System Administration) >“LDAP”页面用于为要绑定到的设备定义 LDAP 服务器,并为收件人接受、路由和伪装配置查询。
注 |
LDAP 连接具有 60 秒的连接尝试超时(包括 DNS 查找、连接本身,以及如果适用,设备自身的身份验证绑定)。在第一次失败后,AsyncOS 会立即开始尝试同一服务器中的其他主机(如果以逗号分隔的列表形式指定了多个主机)。如果服务器中只有一个主机, AsyncOS 会继续尝试连接到它。 |
首先,为 myldapserver.example.com LDAP 服务器指定昵称“PublicLDAP”。连接数量设置为 10(默认值),而且多个 LDAP 服务器(主机)负载均衡选项将保留默认设置。可以通过提供一个用逗号分隔的名称列表,在此处指定多个主机。查询将定向到端口 3268(默认值)。对于此主机,未启用 SSL 作为连接协议。定义了 example.com 的基本 DN (dc=example,dc=com)。缓存存活时间设置为 900 秒,缓存条目的最大数量为 10000,而且身份验证方法设置为密码。
定义了用于收件人接受、邮件路由和伪装的查询。确保查询名称区分大小写,必须完全一致才能返回正确的结果。
在公共侦听程序上启用 LDAP 查询
在本例中,公共侦听程序“InboundMail”更新为将 LDAP 查询用于收件人接受。此外,收件人接受配置为在 SMTP 会话期间发生(有关详细信息,请参阅使用接受查询进行收件人验证)。
在专用侦听程序上启用 LDAP 查询
在本例中,专用侦听程序“OutboundMail”更新为将 LDAP 查询用于伪装。伪装的字段包括:“发件人”(From)、“收件人”(To)、“抄送”(CC) 和“回复”(Reply-To)。
对 Microsoft Exchange 5.5 的增强支持
AsyncOS 包含一个配置选项,可用于为 Microsoft Exchange 5.5 提供支持。如果使用较高版本的 Microsoft Exchange,则不需要启用此选项。在配置 LDAP 服务器时,可选择通过在 ldapconfig -> edit -> server -> compatibility
子命令(仅通过 CLI 可用)中出现提示时回答“y”来启用 Microsoft Exchange 5.5 支持。
mail3.example.com> ldapconfig
Current LDAP server configurations:
1. PublicLDAP: (ldapexample.com:389)
Choose the operation you want to perform:
- NEW - Create a new server configuration.
- EDIT - Modify a server configuration.
- DELETE - Remove a server configuration.
[]> edit
Enter the name or number of the server configuration you wish to edit.
[]> 1
Name: PublicLDAP
Hostname: ldapexample.com Port 389
Authentication Type: anonymous
Base: dc=ldapexample,dc=com
Choose the operation you want to perform:
- SERVER - Change the server for the query.
- LDAPACCEPT - Configure whether a recipient address should be accepted or
bounced/dropped.
- LDAPROUTING - Configure message routing.
- MASQUERADE - Configure domain masquerading.
- LDAPGROUP - Configure whether a sender or recipient is in a specified group.
- SMTPAUTH - Configure SMTP authentication.
[]> server
Name: PublicLDAP
Hostname: ldapexample.com Port 389
Authentication Type: anonymous
Base: dc=ldapexample,dc=com
Microsoft Exchange 5.5 Compatibility Mode: Disabled
Choose the operation you want to perform:
- NAME - Change the name of this configuration.
- HOSTNAME - Change the hostname used for this query.
- PORT - Configure the port.
- AUTHTYPE - Choose the authentication type.
- BASE - Configure the query base.
- COMPATIBILITY - Set LDAP protocol compatibility options.
[]> compatibility
Would you like to enable Microsoft Exchange 5.5 LDAP compatibility mode? (This is not
recommended for versions of Microsoft Exchange later than 5.5, or other LDAP servers.)
[N]> y
Do you want to configure advanced LDAP compatibility settings? (Typically not required)
[N]>
Name: PublicLDAP
Hostname: ldapexample.com Port 389
Authentication Type: anonymous
Base: dc=ldapexample,dc=com
Microsoft Exchange 5.5 Compatibility Mode: Enabled (attribute "objectClass")
Choose the operation you want to perform:
- NAME - Change the name of this configuration.
- HOSTNAME - Change the hostname used for this query.
- PORT - Configure the port.
- AUTHTYPE - Choose the authentication type.
- BASE - Configure the query base.
- COMPATIBILITY - Set LDAP protocol compatibility options.
[]>