![]() |
|
iPlanet Messaging Server 5.2 管理员指南 | |
第 12 篇 配置安全和访问控制
iPlanet Messaging Server 全方位支持灵活的安全功能,可以避免邮件被截取,防止来自假扮成用户或管理员的入侵者,而只允许指定的人员访问邮件系统的指定部分。Messaging Server 的安全体系结构是 iPlanet 服务器整体安全体系结构的一部分。它是建立于工业标准和公共协议之上的体系结构,具有最强的互操作性和一致性。所以,要实现 Messaging Server 的安全策略,不仅需要参考本章,还需要参阅其他一些文档。特别是在设置 Messaging Server 安全功能时,您须使用 Managing Servers with Netscape Console 中提供的信息。
关于服务器安全
关于服务器安全
服务器安全包括的主题甚广。对于绝大多数企业而言,邮件系统应满足下述重大要求:确保只有授权的人员才能访问服务器,口令或身份不失密,通信时不会错误地以其他人的身份进行,通信过程保持必要的机密等,这些都是对邮件系统的重要要求。由于服务器通信的安全性有可能受到多方面的危及,因此也需采用多种方法加强之。本章重点介绍加密、认证和访问控制方面的设置要求,并就 Messaging Server 的安全主题进行论述,所及内容包括下列:
用户 ID 与登录口令:要求用户键入其用户 ID 和口令以登录到 IMAP、POP、HTTP 或 SMTP,并要求使用 SMTP 登录口令以将发件人认证信息传输给邮件收件人。
本章并未涉及所有有关 Messaging Server 的安全性和访问控制问题。在其他地方讨论的安全主题如下:加密和认证:对服务器进行设置,以使其通过 TLS 和 SSL 协议对通信及客户认证进行加密。
管理员访问控制:用 Netscape Console 的访问控制工具以授权他人对 Messaging Server 及其某些单独任务的访问。
TCP 客户机访问控制:使用过滤技术控制哪个客户机可以连接到服务器端的 POP、IMAP、HTTP 和认证的 SMTP 服务。
物理安全:若没有保持服务器物理安全的设备配置,软件安全恐怕毫无意义。
iPlanet 已具备大量的文档,这些文档分别涵盖各种有关安全性主题。有关本文提及的主题详细背景信息以及其他与安全有关的信息,请访问 iPlanet 文献网站,网址:http://docs.iplanet.com。加密邮件(S/MIME):使用 S/MIME(安全多用途 Internet 邮件扩充协议),发件人可在发送邮件前将之加密,收件人可以在收到邮件后保存加密的邮件,只在阅读时才将之解密。使用 S/MIME 不需要特别的 Messaging Server 配置或任务,它仅仅是一项客户操作。有关设置方面的信息,请参阅客户程序文档。请注意,Messenger Express 客户界面不支持电子邮件的加密。
邮件存储库访问:您可为 Messaging Server 定义一组邮件存储库管理员。这些管理员可以查看和监控邮箱并能够控制对它们的访问。有关详细信息,请参阅第 11 篇 “邮件存储库的管理”。
最终用户帐户配置:最终用户帐户信息主要通过 Delegated Administrator 产品进行维护。有关详细信息,请参阅 Delegated Administrator 说明书。也可通过 Console 界面管理最终用户帐户。有关详细信息,请参阅附录 D “管理邮件用户和邮件发送列表”。
过滤 UBE(大宗商业电子邮件,亦称垃圾邮件):参阅第 10 篇 “邮件过滤与访问控制”。
关于 HTTP 安全性
Messaging Server 支持用户 ID/口令认证和客户证书认证两种认证方法。但是,这两个协议在处理客户与服务器之间的网络连接上有所不同。当 POP、IMAP、或是 SMTP 客户登录到 Messaging Server 时,系统将为其建立连接和作业时段(会话)。在会话持续期间,即从登录到退出期间,将保持连接。当建立新连接时,客户必须重新认证到服务器。
当 HTTP 客户登录到 Messaging Server 时,服务器将为客户提供一个独特的作业时段或会话 ID。在会话持续期间,客户可用该会话 ID 多次建立连接。HTTP 客户无需每次连接时重新认证。只有当会话被切断而且客户要建立新的会话时才需要重新认证。(若空闲的 HTTP 会话持续了一段时间后,服务器会自动切断此 HTTP 会话时段并注销该客户;默认时间段为 2 小时)。
有关为改进连接性能而指定配置参数方面的信息,请参阅第 3 篇 “配置 POP、IMAP 和 HTTP 服务”。
配置认证机制
认证机制是客户向服务器证明其身份的一种特定方法。Messaging Server 支持由 SASL(简单认证和安全层)协议定义的认证方法,并支持基于证书的认证。本节描述 SASL 安全机制。有关基于证书的认证的详细信息,请参阅“配置加密的和基于证书的认证”。Messaging Server 支持下列基于口令认证的 SASL 认证方法。
PLAIN - 这种机制在网络上传送用户的明文口令,因而可能被他人偷窥。
使用 challenge/response 认证机制时,服务器先向客户发送一个 challenge 字符串。客户以该 challenge 及用户口令的散列码应答。若客户的应答与服务器自身的散列码匹配,用户则通过认证。散列码是不可逆的,所以当用户的口令在网络中传送时不会失密。
DIGEST-MD5 - 是一种 challenge/response(问题与答案)认证机制,定义请见 RFC 2831。(Messaging Multiplexor 现还不能支持 DIGEST-MD5)。
- 注意 SSL 可用来减轻偷窥问题。有关详细信息,请参阅“配置加密的和基于证书的认证”。
CRAM-MD5 - 一种与 APOP 类似的 challenge/response 认证机制,但也适用于其他协议。定义见 RFC 2195。
APOP - 一种 challenge/response 认证机制,只能与 POP3 协议配合使用。定义见 RFC 1939。
备注: POP、IMAP 和 SMTP 服务程序支持所有 SASL 机制。HTTP 服务程序仅支持纯明文口令机制。
配置对明文口令的访问
CRAM-MD5、DIGEST-MD5 或 APOP SASL 认证方法工作时需要访问用户的明文口令。需要执行下述步骤:
配置 Directory Server 的储存口令功能
若需启用 CRAM-MD5、DIGEST-MD5 或 APOP 机制,则必须配置 Directory Server 按下述方式存储明码口令:
从 Console 中打开需配置的 Directory Server。
配置 Messaging Server
现在可以配置 Messaging Server 以使其知道 Directory Server 能够检索明码口令。这样就可使 Messaging Server 安全地通告 APOP、CRAM-MD5 和 DIGEST-MD5:configutil -o sasl.default.ldap.has_plain_passwords -v 1
可以把该值设置为 0 或空值("")来禁用 challenge/response SASL 机制。
备注: 现有用户在他们的口令被重置或是转换(请参阅“转换用户”)之前不能使用 APOP、CRAM-MD5 或 DIGESt-MD5。
转换用户
可用 configutil 指定转换用户的信息。例如,若用户改变口令或一客户要用某种没有一适当条目的机制来认证。configutil -o sasl.default.transition_criteria -v value
CHANGE - 若用户改变口令,服务器将转换成明码。这是默认值。
为了保证成功地转换用户,必须在 Directory Server 中设置 ACI,以允许 Messaging Server 能够在用户口令属性中写入。为达此目的,请按下述步骤操作:CLIENT - 若客户要使用某种没有一适当条目的机制来认证,服务器要求客户使用明文口令认证。然后服务器使用相同的口令值创建所需机制的条目。
用户登录口令
对于登录到 Messaging Server 进行发送或接收邮件的用户来说,要求其提交口令是抵御未授权访问的第一道防线。Messaging Server 的 IMAP、POP、HTTP 和 SMTP 服务支持基于口令的登录。
IMAP、POP 和 HTTP 口令登录
默认情况下,内部用户必须提交口令才能从 Messaging Server 检索他们的邮件。可以分别针对 POP、IMAP 和 HTTP 服务启用或关闭口令登录功能。有关 POP、IMAP 和 HTTP 服务的口令登录的更多信息,请参阅“基于口令的登录”。用户口令可以从用户的客户软件以明码或者加密的形式(除了 POP 以外)传输到服务器。若客户和服务器双方都配置启用 SSL,而且双方都支持所需强度的加密(如“启用 SSL 和选择密码”中所说明的),系统则进行加密。
用户 ID 和口令存储在系统的 LDAP 用户目录中。口令安全性标准(如最小长度)是由目录策略要求决定的,而不是 Messaging Server 管理的一部分。
基于证书的登录是基于口令之登录的备用方法。本章将在 SSL 部分中予以讨论,请参阅“设置基于证书的登录”。
Challenge/response SASL 机制是明文口令登录的另一种备用方法。
SMTP 口令登录
默认情况下,当用户连接到 Messaging Server 的 SMTP 服务以发送邮件时,不需要提交口令。但您可启用 SMTP 的口令登录功能以此启用经认证的 SMTP。经认证的 SMTP 是 SMTP 协议的扩展,它允许客户认证到服务器。认证附带有邮件。经认证的 SMTP 之主要用途是允许那些在旅途中(或使用本地 ISP)的本地用户提交邮件(转发邮件),而无需创建可被他人滥用的开放式转发邮件。命令 AUTH 是客户程序认证服务器时使用的。
有关启用 SMTP 口令登录(即启用经认证的 SMTP)的说明,请参阅“SMTP 认证、SASL 和 TLS”。
iPlanet Messaging Server 使用 TLS(传输层安全)协议,亦称 SSL(安全套接层)协议,主要用于加密通信和客户与服务器之间的基于证书的认证。iPlanet Messaging Server 支持 SSL 3.0 和 3.1 版。TLS 与 SSL 完全兼容并包含 SSL 中所有必要的功能。
有关 SSL 的背景信息,请参阅 Introduction to SSL(作为 Managing Servers with Netscape Console 的附录重新编排)。SSL 是基于公钥密码术概念的技术,有关说明请见 Introduction to Public-Key Cryptography(也作为 Managing Servers with Netscape Console 的附录重新编排)。
若邮件在 Messaging Server 和其客户之间以及在各服务器之间的传输是加密的,则在通讯过程中使偷窥者几乎无机可乘。若连接的客户是经认证者,则对于假扮(欺骗)其身份的入侵者也几乎是无机可乘。
SSL 作为协议层运行于 IMAP4、HTTP 和 SMTP 的应用层之下。SMTP 和 SMTP/SSL 使用相同的端口;HTTP 和 HTTP/SSL 需要不同的端口;IMAP 和 IMAP/SSL 可以使用相同的或是不同的端口。SSL 担负外发邮件和来件的特定通信阶段的工作,如图 12-1 所示。
图 12-1 与 Messaging Server 的加密通讯
![]()
SSL 提供连续转发加密功能,但是在每个中介服务器上邮件不加密。客户机需支持 S/MIME 才能获得端到端加密。
备注: 若需启用对外发邮件的加密,必须修改通道定义以包含 tls 通道关键字,如 maytls、musttls等。有关详细信息,请参阅 iPlanet Messaging Server Reference Manual。
请记住,设置过高的 SSL 连接可能给服务器的性能带来一定的负担。在设计邮件系统安装和分析性能时,可能需要依据服务器能力来权衡安全需求。
备注: 所有 iPlanet 服务器都支持 SSL,而且在许多服务器上通过 Console 启用和配置 SSL 的界面也几乎是相同的,本节描述的一些任务的完整说明请参阅 Managing Servers with Netscape Console 中有关 SSL 的章节。本章仅就这些任务提供概要的说明。
索取证书
无论是用 SSL 加密还是认证,都需为 Messaging Server 获取服务器证书。此证书用于向客户机和其他服务器认证你处的服务器。
管理内部和外部模块
服务器证书可用于确定所有权和密钥对的有效性,即数据加密和解密所用的数字。服务器的证书和密钥对代表了服务器的身份。证书存放在证书数据库中,此数据库既可以是服务器的内部模块,也可以是外部的,即可移动的硬件卡(智能卡)。在密钥和证书数据库使用方面,iPlanet 服务器所用的模块与 PKCS(公共密钥加密系统)#11 API 相符。对于特定的硬件设备,PKCS #11 模块通常可以从供应商处获取,并须在 Messaging Server 使用此设备之前安装到 Messaging Server 中。预安装的“Netscape 内部 PKCS # 11 模块”仅支持单个内部软件标记,该标记使用服务器内部的证书数据库。
在服务器设置某证书时,您需创建该证书及其密钥的数据库并安装 PKCS #11 模块。若不使用外部硬件标记,可以在服务器上创建一个内部数据库,并使用默认的内部模块,该模块是 Messaging Server 的一部分。若需使用外部标记,则需连接到硬件智能卡阅读器并安装其 PKCS #11 模块。
无论使用内部还是外部 PKCS #11 模块,都可通过 Console 对其管理。安装 PKCS #11 模块时,请按下列步骤操作:
(有关这方面的详细说明,请见 Managing Servers with Netscape Console 中的 SSL 章节。)
安装硬件加密加速器 若使用 SSL 加密,可通过安装硬件加密加速器来改进服务器加密和解密邮件的性能。加密加速器通常由一块永久安装在服务器中的硬件卡加上相应的软件驱动程序组成。iPlanet Messaging Server 支持符合 PKCS #11 API 的加速器模块。(加速器基本上是不存储其本身密钥而使用内部数据库的硬件标记。)安装加速器时,首先遵循制造商的说明安装硬件和驱动程序,然后以安装 PKCS #11 模块而结束安装,过程与硬件证书标记安装相同。
申办服务器证书
申办服务器证书时,请先在 iPlanet Console 中打开服务器,然后运行“证书安装向导”程序。可通过“Console”菜单或 Messaging Server 的“加密”选项卡使用此向导。使用向导时需执行下述任务:当从 CA 收到回复的电子邮件后,将其保存为文本文件并使用“证书安装向导”进行安装。
(有关这方面的详细说明,请见 Managing Servers with Netscape Console 中的 SSL 章节。)
安装证书
安装与请求是两个分开的过程。当从 CA 处收到申请证书的电子邮件回函并保存为文本文件时,即可再次运行“证书安装向导”安装证书文件:(有关这方面的详细说明,请见 Managing Servers with Netscape Console 中的 SSL 章节。)
备注: 这一过程也可用来安装 CA 证书(见下),服务器可通过这一过程确定是否能信任客户机提交的证书。
安装委托 CA 证书
安装管理机构的证书时,也可使用“证书安装向导”程序。CA 证书用于验证 CA 自身的身份。服务器在认证客户和其他的服务器的过程中将使用这些 CA 证书。例如,若您所在企业在基于口令认证的基础上还要设置基于证书的客户认证(请参阅“设置基于证书的登录”一节),则需要安装客户提供的受托发布证书的所有 CA 机构的 CA 证书。这些 CA 机构可以是组织内部的,也可以是外部的,即代表商业或政府机构或其他企业。(有关通过 CA 证书认证方面的详细说明,请见 Managing Servers with Netscape Console 中的“Introduction to Cryptography”相关章节。)
安装好后,Messaging Server 最初包含一些商业性 CA 机构的 CA 证书。若需要添加其它商业性的 CA 或是企业为内部使用开发的 CA(通过 iPlanet Certificate Server),则需索取并安装之。
备注: Messaging Server 自动提供的 CA 证书最初并未标记为委托的客户证书。若要监管这些由 CA 发行的客户证书,则需对委托设置进行某些编辑。有关说明,请见“证书和委托 CA 的管理”。
(有关这方面的详细说明,请见 Managing Servers with Netscape Console 中的 SSL 章节。)
证书和委托 CA 的管理
一服务器可拥有任意数量的用来认证客户的委托 CA 证书。当您在 Console 中打开服务器并从“Console”菜单选取了“证书管理命令”后,便可查看、编辑委托设置,或删除已安装在 Messaging Server 中的任何证书。(有关说明,请见 Managing Servers with Netscape Console 中的 SSL 章节。)
创建口令文件
在任意 iPlanet 服务器上,当使用“证书安装向导”申请证书时,向导将创建一密钥对并将其存放在内部模块数据库或是一外部数据库(在智能卡上)中。然后向导提示您输入口令,即安装向导用于加密私钥的口令。此后只有与其相同的口令方可用于解该密钥。此向导部既不保留口令也不将其存储在任何地方。对于绝大多数启用了 SSL 的 iPlanet 服务器而言,程序在启动时都会提示管理员提供解密钥对所需的口令。但在 Messaging Server 上,为了减少多次键入口令(至少三个服务器进程需要)的麻烦,并便利于服务器的自动重启动,口令将从口令文件读取。
口令文件名为 sslpassword.conf,位于 server-instance/config/目录中。文件中的条目由若干单独的行组成,每一行的格式为
这里的 moduleName 是要使用的(内部或外部)PKCS #11 模块的名字,而 password 则是解模块密钥对的口令。此口令以明码(非加密)保存。
Messaging Server 提供了一个默认版本的口令文件,其中只有一个条目(内部模块和默认口令):
Internal (Software) Token:netscape!
在安装一内部证书时,若所有其它项都有所指定但未指定默认口令,则需编辑上述口令文件中的那一行以反映所指定的口令。若安装的是外部模块,则需在此文件中添加一行,在其中包含模块名和为其指定的口令。
由于服务器启动时不提示管理员输入模块口令,所以确保服务器适当的管理员访问控制和适当的服务器主机及其备份的物理安全是特别重要的。
启用 SSL 和选择密码
可用 Console 启用 SSL 并选择一组加密密码,以便 Messaging Server 用来与客户机进行加密通讯。
关于密码
密码是加密过程中用于数据加密和解密的算法。某些密码比其他密码的加密程度更强,这意味着未授权的人对一加密邮件进行解码更为困难。密码通过将密钥 - 一长串数字 - 作用于数据而对其进行加密。一般情况下,加密时密码使用的密钥越长,就越难于在无正确解密密钥情况下解开数据。
当客户机启动与 Messaging Server 的 SSL 连接时,客户机将通知服务器它贮备使用的加密密码和密钥长度。在任何加密通讯中,双方必须使用相同的密码。因为有一些密码和密钥的组合使用较为普遍,所以服务器在加密支持方面应灵活一些。iPlanet Messaging Server 可支持多达 6 种密码和密钥长度的组合。
表 12-1 列出了 Messaging Server 使用 SSL 3.0 时所支持的密码。有关该一览表汇总信息的详细资料,请参阅 Managing Servers with Netscape Console 中的“Introduction to SSL”一节。
表 12-1 Messaging Server 使用的 SSL 密码
密码
说明
除非有特别的原因不使用某特定的密码,否则一般情况下应支持所有密码。但请注意,一些国家的出口法限制某些加密密码的使用。此外,还有一些客户软件产品是在美国出口控制法放宽之前开发的,这些产品不能使用严密度较高的加密法。请注意,40 位密码只能防范一般的偷窥者,并不安全,因此不能防范有动机的攻击。
Console 若需通过 Console 启用 SSL 并选择加密密码,请按下述步骤操作:
若需完全关闭 SSL,取消“启用 SSL”复选框的选中状态。
备注: 若需为外发邮件启用 SSL 加密功能,则须修改通道定义以包含 tls 通道关键字,如 maytls、musttls等。有关详细信息,请参阅 iPlanet Messaging Server Reference Manual。
configutil -o nsserversecurity -v [ on | off ]
configutil -o encryption.rsa.nssslactivation -v [ on | off ]
configutil -o encryption.rsa.nsssltoken -v tokenname
configutil -o encryption.rsa.nssslpersonalityssl -v certname
configutil -o encryption.nsssl3ciphers -v cipherlist
设置基于证书的登录
除了基于口令的认证外,iPlanet 服务器还支持通过检查数字证书而对用户进行的认证。在基于证书的认证中,客户程序在建立了与服务器的 SSL 会话后,向服务器提交用户的证书。然后服务器鉴定提交的证书是否真实。若证书验证有效,用户则被认证通过。在为基于证书的登录设置 Messaging Server 时,请按下列步骤操作:
为服务器获取服务器证书。(有关详情,请参阅“索取证书”。)
完成这些步骤后,客户机便可建立 SSL 会话以使用户能够登录到 IMAP 或 HTTP;用户登录时,Messaging Server 将要求客户机提供用户的证书。如果客户程序提交的证书是 CA 发行的证书且该 CA 是服务器业已确定可信任的机构,而且证书中的身份与用户目录中的条目相匹配,则此用户将通过认证,并授予适当的访问权(权限取决于管理该用户的访问控制规则)。运行“证书安装向导”以安装委托证书管理机构的证书,即服务器需要认证的由任意委托 CA 向用户颁发的证书。(有关详情,请参阅“安装委托 CA 证书”。)
打开 SSL。(有关详情,请参阅“启用 SSL 和选择密码”。)
- 请注意,只要(至少)在服务器的数据库中有一个委托的 CA,服务器就可要求每一个连接客户机提供客户证书。
(选项)编辑服务器的 certmap.conf 文件,以便服务器能按照提交的证书信息正确地搜索 LDAP 用户目录。
- 若用户证书中的电子邮件地址与用户目录条目中的电子邮件地址相匹配,则不必编辑 certmap.conf 文件,也不必优化搜索或根据用户条目中的证书对提交的证书进行验证。
- 有关 certmap.conf 的具体格式和可做的修改,请参阅 Managing Servers with Netscape Console 中 SSL 章节。
在启用基于证书的登录时没有必要禁止基于口令的登录。若允许基于口令的登录(这是默认状态),而且已经执行了本节描述的任务,则基于口令和基于证书的登录二者都支持。因此,若客户建立了 SSL 会话并提供了证书,则使用基于证书的登录。若客户程序不使用 SSL 或不提供证书, 则服务器要求提供口令。
有关设置 iPlanet 服务器整个系统和客户机使用基于证书认证方面的详细信息,请参阅 Single Sign-On Deployment Guide。
如何用 SMTP 代理优化 SSL 的性能
绝大多数网站不应使用 SMTP 代理,因为它可增加 SMTP 协议的等待时间。但经常使用 SSL 保护 SMTP 连接的大型网站可能需要最大限度地利用其在 SSL 加速器硬件方面的投资,其中一种优化方法便是在专门提供 SSL 和代理服务的服务器上,对所有协议实行全面的 SSL 操作。SMTP 代理允许 SSL 通过一前端代理服务器得到处理,而邮件队列则可位于另一分开的 MTA 机器。这样,为没项任务优化的硬件设备便可分开配置和购置。有关 SMTP 代理的安装说明,请见“安装 SMTP 代理程序”。
配置管理员的访问权限 Messaging Server
本节包含下列内容:
Delegated Administration 的层次
本节介绍如何控制服务器管理员在 Messaging Server 上的使用权限。对特定 Messaging Server 以及 Messaging Server 任务的访问均属在 Delegated Server Administration 环境下进行的管理性工作。Delegated Server Administration 是绝大多数 iPlanet 服务器都具备的功能,这项功能指某管理员可有选择性地向其他管理员提供其访问某服务器和服务器功能的权限。本章将简要概述某些 Delegated Server 所涉及的任务。有关详细说明,请参见 Managing Servers with Netscape Console 中的 Delegating Server Administration 章节。还可参阅 iPlanet Messaging Server Provisioning Guide 中的“Provisioning Messaging Server Administrators”一节的说明。iPlanet Messaging Server Provisioning Guide 介绍了服务器管理员(可以配置 Messaging Server 的管理员)和 iDA 管理员(可以在系统中添加、修改和删除用户和组的管理员)的职责。
Delegated Administration 的层次
当在网络上第一次安装 iPlanet 服务器时,安装程序在 LDAP 用户目录中自动创建一个组,称作 Configuration Administrators 组(配置管理组)。默认情况下,Configuration Administrators 组的成员对网络上的所有主机和服务器的访问是无限制的。Configuration Administrators 组位于访问层次的顶层,如下所示。您可为 Messaging Server 设置授权管理人员:
配置管理员。iPlanet 服务器网络的“超级用户”。具有对所有资源的全面访问权。
管理员可通过 Console 提供的界面执行下述任务:服务器管理员。域管理员可以创建不同的组,负责管理每种类型的服务器。例如,您可创建 Messaging Administrators 组,负责其所在管理域或整个网络上管理所有 Messaging Server。该组成员在该管理域可访问所有的 Messaging Server(但不是其他服务器)。
任务管理员。最后一点,上述任何一类管理员都可在单一 Messaging Server 或一组 Messaging Server 中以有限权限创建组,或指定一名用户。您可允许这种任务管理员执行有限的具体服务器管理任务(如只能启动或停止服务器或访问特定的服务日志)。
授予组或个人以“提供对整个服务器的访问权”中描述的访问权限,以使其能使用特定的 Messaging Server。
限制在指定 Messaging Server 上对指定任务的访问权,如“限制对指定任务的访问权”所述。
提供对整个服务器的访问权
若需授予一个用户或组访问给定 Messaging Server 实例的权限,请按下列步骤操作:
作为对 Messaging Server 有访问权的管理员登录到 Console,以便提供对该服务器的访问权。
(有关详细说明,请参见 Managing Servers with Netscape Console 中的 Delegating Server Administration 章节。)
添加或编辑对该服务器具有访问权的用户和组的列表。
- 从“Console”菜单中选择“对象”,然后选择“设置访问权”。
一旦设置了对特定 Messaging Server 有访问权的个人用户和组的列表,就可以像下面所描述的那样用 ACI 将特定服务器任务委派给列表中的特定的人员或组织。
限制对指定任务的访问权
管理员通常需连接到服务器执行一项或多项管理任务。常见的管理任务列于 Messaging Server Console 中的“任务”窗体中。默认情况下,对特定 Messaging Server 的访问意味着对其所有任务的访问。然而,在任务窗体中的每项任务都可以有一组附加的 ACI(访问控制指令)。在给予某连接的用户(必须已经是对整个服务器有访问权的用户)以访问这些任务的权限之前,服务器将参考那些 ACI。实际上,服务器在“任务”窗体中只显示用户具对其有访问权的那些任务。
如果有对 Messaging Server 的访问权,则可针对任何任务(即针对任何有访问权的任务)创建或编辑 ACI,以限制其他用户和组的对这些任务的访问。
若需限制连接的用户或组具有对该任务访问权,请按下列步骤操作:
作为对 Messaging Server 有访问权的管理员登录到 Console,以便提供对该服务器的访问权。
Managing Servers with Netscape Console 中的 Delegating Server Administration 一章对 ACI 以及创建方法有详细的说明。打开服务器,并在服务器的“任务”窗体中单击相应的“任务”文本将其选中。
从“编辑”菜单中选择“设置访问权”,添加或编辑访问规则的列表,赋予一用户或组以预定的访问类型。
- (有关详细说明,请参见 Managing Servers with Netscape Console 中的 Delegating Server Administration 章节。)
配置 POP、IMAP 和 HTTP 服务的客户访问权
本节包含下列内容:
客户访问过滤器的工作原理
Messaging Server 支持针对 IMAP、POP 和 HTTP 服务的以服务为基础的复杂访问控制,以便您对哪些客户有权访问服务器进行广泛和细微的控制。如果您在为某个大型企业或 Internet 服务供应商管理邮件服务,这些功能可以帮助您将垃圾邮件制造者和 DNS 欺骗者排斥在系统之外,从而改善网络的总体安全性。有关大宗商业电子邮件的特殊控制,请参阅第 10 篇 “邮件过滤与访问控制”。
备注: 若通过 IP 地址控制访问对于企业并不重要,则不必创建本节所描述的任何过滤器。若所需要的仅仅是最小限度的访问控制,请参阅“允许大多数”一节中关于设置的说明。
客户访问过滤器的工作原理
Messaging Server 的访问控制工具是一个程序,它与所服务的 TCP 守护程序一样监听着同一端口,并通过访问过滤器确认客户身份,若客户通过过滤过程,则允许该客户程序访问守护程序。作为处理过程的一部分,Messaging Server TCP 客户访问控制系统执行(必要时)下述对端点地址套接字的分析:
系统将这些信息与称作过滤器访问控制语句进行比较,以决定是授权访问还是拒绝访问。对于每项服务,可以分别设置 Allow 过滤器和 Deny 过滤器来控制访问。Allow 过滤器明确授权访问,Deny 过滤器明确禁止访问。
当客户要求访问一项服务时,访问控制系统将客户的地址或名字信息按顺序与每个服务的过滤器进行比较,所采用的标准是:
在第一个匹配处停止搜索。因为 Allow 过滤器在 Deny 过滤器之前处理,所以 Allow 过滤器优先。
这里描述的过滤器语法是非常灵活的,从而能够以简单、直观的方式实现许多不同种类的访问控制策略。尽管通常只要单独使用 Allow 过滤器或 Deny 过滤器即可以实现绝大多数策略,但实际上可以使用 Allow 过滤器和 Deny 过滤器的任意组合。如果客户信息与一个服务的 Allow 过滤器匹配,则授权访问。
如果客户信息与一个服务的 Deny 过滤器匹配,则拒绝访问。
如果未与任何 Allow 过滤器 或 Deny 过滤器匹配,则授权访问 - 但若该处只有 Allow 过滤器而无 Deny 过滤器,则是例外,此情况下的无匹配意味着访问被拒绝。
下面的各节详细地描述过滤器语法并给出了使用实例。“为服务创建访问过滤器”一节给出了创建访问过滤器的方法。
过滤器语法
过滤器语句既包含服务器信息又包含客户信息。服务信息包括服务名、主机名以及主机地址。客户的信息包括主机名、主机地址以及用户名。在服务信息和客户信息中都可以包括通配符名或模式。这里的 service 是服务的名字(如 smtp、pop、imap 或 http)而 hostSpec 表示客户要访问对象的主机名、IP 地址或是通配符名或模式。在处理一过滤器时,如果客户寻求的访问对象与 client 匹配,则对 service 所指定的服务或者允许或者拒绝访问(取决于过滤器的类型)。这里是一些实例:
imap: roberts.newyork.siroe.com
如果这些都是 Allow 过滤器,则第一个授予主机 roberts.newyork.siroe.com 访问 IMAP 服务的权限,而第二个和第三个则授予所有客户访问 POP 和 HTTP 服务的权限。如果它们是 Deny 过滤器,则拒绝这些客户程序访问那些服务。(关于通配符名 ALL 的说明,请参阅“通配符名”。)
过滤器中的服务器信息或客户信息有可能比这里的要复杂一些,其过滤器的更一般的形式如下:
这里的 serviceSpec 可以是 service 或 service@hostSpec,而 clientSpec 可以是 hostSpec 或 user@hostSpec。user 是与客户主机查找访问相关联的用户名(或通配符名)。以下是两个例子:
pop@mailServer1.siroe.com: ALL
imap: srashad@xyz.europe.siroe.com
如果这些是 Deny 过滤器,则第一个过滤器拒绝所有的客户对主机 mailServer1.siroe.com 上的 SMTP 服务的访问。第二个过滤器拒绝户主机 xyz.europe.siroe.com 上的用户 srashad 对 IMAP 服务的访问。(有关何时使用这些扩展的服务器和客户规范,请参阅“服务器-主机描述”和“客户用户名描述”。)
这里的 serviceList 由一个或多个 serviceSpec 条目组成,而 clientList 由一个或多个 serviceSpec 条目组成。在 serviceList 和 clientList 中各个条目由空格和/或逗号分隔。
这种情况下,当处理过滤器时,若客户查找的访问与 clientSpec 条目中的任意个 clientList 匹配,则对 serviceList 中指定的所有服务的访问或者被允许或者被拒绝(取决于过滤器的类型)。下面是一个实例:
pop, imap, http: .europe.siroe.com .newyork.siroe.com
如果这是 Allow 过滤器,则授予在域 europe.siroe.com 和 newyork.siroe.com 中所有客户以访问 POP、IMAP 和 HTTP 服务的权限。有关使用前导点或其他模式指定域或子网的详细信息,请参阅“通配符模式”。
通配符名
可以使用下述通配符名来表示服务名、主机名或地址或是用户名:
以点字符(.)开头的字符串。若主机名的最后部分与指定的模式匹配,则该主机名匹配成功。例如,通配符模式 .siroe.com 匹配所有在域 siroe.com 中的主机。
以点字符(.)结束的字符串。若主机地址的第一个数字域与指定的模式匹配,则该主机地址匹配成功。例如,通配符模式 123.45. 匹配子网 123.45.0.0 中的任意主机的地址。
形如 n.n.n.n/m.m.m.m 的字符串。此通配符模式可解释为 net/mask 对。若 net 等于地址与 mask 的“按位与”,则该主机地址匹配成功。例如,模式 123.45.67.0/255.255.255.128 与 123.45.67.0 到 123.45.67.127 范围内的每个地址相匹配。
EXCEPT 操作符
访问控制系统支持一个操作符。若 serceList 或 clientList中有多个条目,可使用 EXCEPT 操作符创建匹配名字或模式时的例外。例如,表达式:意味着任何匹配 list1 的对象均已匹配,除非它同时还匹配 list2。
ALL: ALL EXCEPT isserver.siroe.com
若这是 Deny 过滤器,将拒绝所有客户对服务的访问,但主机 isserver.siroe.com 上的客户例外。
list1 EXCEPT list2 EXCEPT list3
list1 EXCEPT (list2 EXCEPT list3)
服务器-主机描述
可以通过在 serviceSpec 条目中包含服务器主机名或地址信息来进一步标识一过滤器中请求的指定服务。这时此条目的格式为:当 Messaging Server 主机以不同的 Internet 主机名设置多重 Internet 地址时,可能需要此功能。对于服务提供商,可以使用此工具在单个服务器实例上通过不同的访问控制规则托管多个域。
客户用户名描述
对于支持 RFC 1413 中所描述的 identd 服务的客户主机,可以在过滤器中的 clientSpec 条目之中客户的用户名来进一步标识指定的客户请求服务。这时此条目的格式为:这里的 user 是由客户的 identd 服务(或通配符名)返回的用户名。
在过滤器中指定客户用户名可能是很有用的,但是请注意下述问题:
identd 服务是不认证的,若客户系统已经失密,它返回的客户用户名是不可信赖的。一般来说,不要使用指定的用户名而只使用通配符名 ALL、KNOWN 或 UNKNOWN。
用户名查找能力在一定程度上可以帮助抵御来自客户主机上的未授权用户的攻击。在某些 TCP/IP 实现中这是可能的,例如,对于使用 rsh(远程外壳服务)假扮委托的客户主机的入侵者就是如此。如果客户主机支持 identd 服务,可以使用用户名查找来检测这样的攻击。大多数现代客户机都不支持 identd,所以在现代部署中价值不大。我们正在考虑在将来的版本中去除对 identd 的支持,如果该功能对您的网站有一定的价值,请通知 iPlanet。
用户名查找需要时间,执行针对所有用户的查找会降低不支持 identd 的客户的访问速度。选择性的用户名查找可以减轻该问题。例如,如下所示的规则:
- serviceList: @xyzcorp.com ALL@ALL
- 将不执行用户名查找即匹配域 xyzcorp.com 中的用户,但对于其他所有系统将执行用户名查找。
过滤器示例
本节的示例显示了控制访问的多种方法在研究这些实例的过程中,请记住 Allow 过滤器在 Deny 过滤器之前处理,当匹配成功使搜索终止,若完全无法匹配,授予访问权。这里列出的例子使用的是主机和域名而不是 IP 地址。请记住,在过滤器中可以包含地址和网络掩码信息,这样可以改善可靠性以防止域名服务失效。
拒绝大多数
这种情况下,按默认访问被拒绝。只有明确授权的主机被允许访问。此过滤器拒绝所有的 Allow 过滤器未明确授予访问权的客户的所有服务。Allow 过滤器则类似于:
ALL: .siroe.com EXCEPT externalserver.siroe.com
第一个规则允许来自本地域(即所有主机名中没有点的主机)的所有主机和来自组 netgroup1 的成员的访问。第二个规则是用以点开头的通配符模式,它允许来自 siroe.com 域的访问,但主机 externalserver.siroe.com 除外。
允许大多数
这种情况下,按默认访问被允许。只有明确指定的主机被拒绝访问。默认的策略(授权访问)使得 Allow 过滤器成为不必要。不需要的客户在 Deny 过滤器中象这样明确列出:
ALL: externalserver.siroe1.com, .siroe.asia.com
ALL EXCEPT pop: contractor.siroe1.com, .siroe.com
第一个过滤器拒绝所有的服务器对特定主机和指定域的访问。第二个过滤器只允许来自特定主机和来自指定域的 POP 访问。
拒绝对被欺骗域的访问
可以在过滤器中使用通配符名 DNSSPOOFER 以检测主机名欺骗。当指定 DNSSPOOFER 时,访问控制系统执行正向的或反向的 DNS 查找以验证客户提供的主机名与其真实 IP 地址相匹配。下面是一个 Deny 过滤器的示例:此过滤器拒绝针对所有其 IP 地址与 DNS 主机名不匹配的远程主机的所有服务。
控制对虚拟域的访问
若邮件系统的安装使用了虚拟域(从而可使一个单一的服务器实例与多个 IP 地址和域名相关联),则可以通过 Allow 过滤器和 Deny 过滤器的组合对每个虚拟域实施访问控制。例如,可以像下面这样使用 Allow 过滤器:ALL@msgServer.siroe1.com: @.siroe1.com
ALL@msgServer.siroe2.com: @.siroe2.com
每个 Allow 过滤器只允许 domainN 中的主机连接到其 IP 地址对应于 msgServer.siroeN.com 的服务。所有其他的连接都被拒绝。
为服务创建访问过滤器
可以为 IMAP、POP 或 HTTP 服务器创建 Allow 和 Deny 过滤器。您还可为 SMTP 服务创建过滤器,但价值不大,因为它们只能应用于认证的 SMTP 会话。有关对未认证的 SMTP 会话进行访问控制的说明,请见第 10 篇 “邮件过滤与访问控制”。
Console 要用 Console 创建过滤器,请按下述步骤:
在 Console 中,打开要为其创建访问过滤器的 Messaging Server。
请注意,如果需要重新排列 Allow 过滤器或 Deny 过滤器的顺序,可以执行一系列“删除”和“添加”操作。在左面板中打开 Services 文件夹,并在 Services 文件夹下面选择 IMAP、POP 或 HTTP。
- 在此选项卡中的“Allow”和“Deny”字段显示该服务器现有的 Allow 和 Deny 过滤器。字段中的每一行表示一个过滤器。可以分别对每个域指定下述操作:
有关过滤器语法的说明和各种实例,请参阅“过滤器语法”。有关详细信息,请参阅“过滤器示例”。
命令行 也可以在命令行指定 Access 和 Deny 过滤器,如下所示:
configutil -o service.service.domainallowed -v filter
这里的 service 是 pop、imap 或 http,而 filter 遵循“过滤器语法”中描述的语法规则。
若需为服务器创建或编辑 Deny 过滤器,请按下列步骤操作:
configutil -o service.service.domainnotallowed -v filter
这里的 service 是 pop、imap 或 http,而 filter 遵循“过滤器语法”中描述的语法规则。
为 HTTP 代理认证创建访问过滤器
任意存储库管理员都可以代理对任何服务的认证。(有关存储库管理员方面的信息,请参阅“指定管理员的存储库访问权限”。)只对 HTTP 服务而言,若一客户主机的访问权是通过代理认证访问过滤器授予的,则它的用户可以代理对服务器的认证。代理认证允许其他的像门户网站这样的服务,以认证用户并通过对 HTTP 登录服务的认证。例如,某个门户网站提供了若干服务,其中之一是 Messenger Express 基于站点的电子邮件。通过使用 HTTP 代理认证功能,终端用户只需要认证到入口服务器一次,当再次访问它们的电子邮件时不需要认证。门户网站必须配置登录服务器,它起着客户与服务器之间的接口的作用。为了帮助用户配置 Messenger Express 认证所需的登录服务器,iPlanet 特为 Messenger Express 提供了认证 SDK。
本节描述如何创建 Allow 过滤器以允许通过 IP 地址的 HTTP 代理认证。本节不描述如何设置登录服务器或如何使用 Messenger Express 认证 SDK。有关设置 Messenger Express 登录服务器和使用认证 SDK 的详细信息,请与 iPlanet 代表联系。
Console 要为 HTTP 服务的代理认证创建访问过滤器:
在此选项卡的“Allow”字段显示此代理认证现有的 Allow 过滤器。
要创建新的过滤器,单击“添加”。
有关 Allow 过滤器语法的详细信息,请参阅“过滤器语法”。
要编辑现有的过滤器,选择此过滤器并单击“编辑”。
- 于是“Allow”过滤器窗口打开。在窗口中键入新过滤器的文本,并单击“确定”。
要删除现有的过滤器,从“Allow”字段中选择一项,然后单击“删除”。
- 于是“Allow”过滤器窗口打开。在窗口中编辑显示的此过滤器的文本,并单击“确定”。
命令行 也可以在命令行为 HTTP 服务器的代理认证指定访问过滤器,如下所示:
configutil -o service.service.proxydomainallowed -v filter
这里的 filter 遵循“过滤器语法”中描述的语法规则。
启用 POP Before SMTP
SMTP 认证,或 SMTP Auth(RFC 2554)是提供 SMTP 转接服务器安全功能的首选方法。SMTP Auth 只允许认证的用户通过 MTA 发送邮件。然而,有些老式的客户程序只能提供对 POP before SMTP 的支持。如果您管理的系统属于这种情况,您可按下列方法启用 POP before SMTP。然而在可能的情况下,请鼓励您的用户升级其 POP 客户程序,而不是使用 POP before SMTP。一旦在网站上部署了 POP before SMTP,用户就会依赖这些不符合因特网安全标准的认证方法,致使最终用户面临被窃之更大的风险,而且还会因不可避免的性能减退而使整个网站的运行速度减慢,这是因为系统不得不总是跟踪和协调 IP 地址的最近成功的 POP 会话情况。iPlanet Messaging Server 所实现的 POP before SMTP 完全不同于 SIMS 或 Netscape Messaging Server。对 POP before SMTP 的支持,乃是通过配置 Messaging Multiplexor (MMP) 以使其具有 POP 和 SMTP 代理这两项认证方法而实现的。当 SMTP 客户机连接到 SMTP 代理时,代理服务器将检查内存高速缓存中最近的 POP 认证记录。如果能找到同一客户机 IP 地址的 POP 认证,SMTP 代理则会通知 SMTP 服务器,使其允许邮件定向至本地或非本地两地的收件人。
请按 iPlanet Messaging Server Installation Guide 中的说明安装 iPlanet Messaging Multiplexor (MMP)。
在每一部 SMTP 转接服务器上的 SMTP 通道选项文件 tcp_local_option 中设定 PROXY_PASSWORD 选项。
- 请将下列字串:
- server_root/bin/msg/mmp/lib/SmtpProxyAService@25|587
- 添加到 server_root/mmp-hostname/AService.cfg 文件中的 ServiceList 选项。该选项是一长行,且不能有折行。
配置 SMTP 代理对 POP before SMTP 的支持。
- 当 SMTP 代理与 SMTP 服务器建立连接时,它须通知 SMTP 服务器真正的客户机 IP 地址以及其它连接信息,以便 SMTP 服务器能正确地应用转接阻塞功能和其它安全策略(其中包括 POP before SMTP 认证)。这是一项对安全极为敏感的操作,因此必须得到认证。在 MMP SMTP 代理和 SMTP 服务器上配置的代理口令可确保任何第三方不会滥用此工具。
- 范例:PROXY_PASSWORD A_Password
编辑 server_root/mmp-instance/SmtpProxyAService.cfg 配置文件。
设置 PreAuth 选项和 PopProxyAService.cfg 配置文件中的 AuthServiceTTL 选项。对于 SSL 性能优化而言,这一选项并非必需。(参阅“如何用 SMTP 代理优化 SSL 的性能”。)
- 下列 SMTP 代理选项在操作方面与 IMAP 和 POP 代理选项相同(见 iPlanet Messaging Server Installation Guide 标题为“Installing the Messaging Multiplexor”的附录说明,以及 iPlanet Messaging Server Reference Manual 中“Encryption (SSL) Option”一节有关这些选项的说明或其它相关说明):
- LdapURL, LogDir, LogLevel, BindDN, BindPass, Timeout, Banner, SSLEnable, SSLSecmodFile, SSLCertFile, SSLKeyFile, SSLKeyPasswdFile, SSLCipherSpecs, SSLCertNicknames, SSLCacheDir, SSLPorts, CertMapFile, CertmapDN, ConnLimits, TCPAccess
- 上述文档中没有列出的其它 MMP 选项(其中包括 BacksidePort 选项),目前尚不能用于 SMTP 代理。
- 增加下列五个选项:
- SmtpRelays 是以空格分隔的 SMTP 转接服务器主机名的列表(具有选用端口),用于循环反复转接。这些转接设备必须要支持 XPROXYEHLO 扩展程序。这一选项是必需项,没有默认设置。
范例:default:SmtpRelays manatee:485 gonzo mothra
- SmtpProxyPassword 是一个口令,用于认证 SMTP 转接服务器上的源通道变更。这一选项是必需项,没有默认设置,且必须与 SMTP 服务器上的 PROXY_PASSWORD 选项匹配。
范例:default:SmtpProxyPassword A_Password
- EhloKeywords 选项提供了一个 EHLO 扩展关键字列表,由代理传送给客户机。这是默认设置之外的选项。MMP 将从 SMTP 转接装置返回的 EHLO 列表中删除任何不能识别的 EHLO 关键字。EhloKeywords 用于指定不应从该列表中删除的附加 EHLO 关键字。默认值是空的,但 SMTP 代理将支持下列关键字,所以没有必要将其列入该选项:8BITMIME, PIPELINING, DSN, ENHANCEDSTATUSCODES, EXPN, HELP, XLOOP, ETRN, SIZE, STARTTLS, AUTH
- 那些使用“TURN”扩展程序(已很少有人使用)的网站,可使用下列范例:
范例: default:EhloKeywords TURN
- PopBeforeSmtpKludgeChannel 选项被设定为某一 MTA 通道的名称,以可用于 POP before SMTP 认证连接。默认值是空的,对于那些想启用 POP before SMTP 的用户而言,典型设置是 tcp_intranet。对于 SSL 性能优化而言,这一选项并非必需(见“如何用 SMTP 代理优化 SSL 的性能”)。
范例:default:PopBeforeSmtpKludgeChannel tcp_intranet
- ClientLookup 选项会自动默认选用 no。如果设定为 yes,DNS 反向查找客户机 IP 地址之操作将会无条件地进行。这样,SMTP 转接器就无须承担这项操作。这一选项可在每一托管域的基础上进行不同的设置。
范例:default:ClientLookup yes
备注: AuthServiceTTL 绝不能在 IMAP 或 SMTP 代理配置文件中设置。如此,才能确保 POP before SMTP 起到应有的功用。
您也可通过选择而指定 MMP 将等待多少秒,以便 SMTP 转接程序作出响应,然后再尝试列表中的下一项任务。
- 这些选项用于指定当用户得到 POP 认证后,用户有多长时间(以秒计算)可以提交邮件。典型的设置为 900 至 1800(15-30 分)。
范例:
default:PreAuth yes
default:AuthServiceTTL 900
- 默认值为 10(秒)。如果不能与 SMTP 转接程序连接,MMP 将避免使用该转接程序,时间长短(分钟)相当于在线恢复之超时(如果在线恢复超时是 10 秒,而且转接程序出现故障,MMP 则在 10 分钟内不会再使用该转接程序)。
范例: default:FailoverTimeout 10
配置客户机访问 SMTP 服务
有关配置客户机访问 SMTP 服务的详细说明,请参阅第 10 篇 “邮件过滤与访问控制”。
上一页 目录 索引 下一页
(c) 2002 年 Sun Microsystems, Inc. 版权所有。
更新日期:2002 年 2 月 27 日