JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 管理:网络服务     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分网络服务主题

1.  网络服务(概述)

2.  管理 Web 高速缓存服务器

3.  与时间有关的服务

第 2 部分访问网络文件系统主题

4.  管理网络文件系统(概述)

5.  网络文件系统管理(任务)

6.  访问网络文件系统(参考)

第 3 部分SLP 主题

7.  SLP(概述)

8.  规划和启用 SLP(任务)

9.  管理 SLP(任务)

10.  引入传统服务

11.  SLP(参考)

第 4 部分邮件服务主题

12.  邮件服务(概述)

13.  邮件服务(任务)

14.  邮件服务(参考)

Oracle Solaris 版本的 sendmail

编译 sendmail 时使用和未使用的标志

MILTER(用于 sendmail 的邮件过滤器 API)

替代 sendmail 命令

配置文件的版本

邮件服务的软件和硬件组件

软件组件

邮件用户代理

邮件传输代理

本地传送代理

邮件程序与 sendmail

邮件地址

邮箱文件

邮件别名

硬件组件

邮件主机

邮件服务器

邮件客户机

邮件网关

邮件服务的程序和文件

vacation 实用程序的增强功能

/usr/bin 目录的内容

/etc/mail 目录的内容

/etc/mail/cf 目录的内容

/usr/lib 目录的内容

用于邮件服务的其他文件

邮件程序的交互

sendmail 程序

sendmail 及其重新路由机制

sendmail 功能

sendmail 配置文件

邮件别名文件

.mailrc 别名

/etc/mail/aliases 文件

NIS aliases 映射

.forward 文件

应避免的情况

.forward 文件的控制

.forward.hostname 文件

.forward+detail 文件

/etc/default/sendmail 文件

邮件地址和邮件路由

sendmail 与名称服务的交互

sendmail.cf 和邮件域

sendmail 和名称服务

邮件域和名称服务域

名称服务的要求

NIS 与 sendmail 的交互

sendmail 与 NIS 和 DNS 的交互

sendmail 版本 8.14 中的更改

sendmail 版本 8.13 中的更改

sendmail 版本 8.13 支持运行 SMTP 时使用 TLS

用于在运行 SMTP 时使用 TLS 的配置文件选项

用于在运行 SMTP 时使用 TLS 的宏

用于在运行 SMTP 时使用 TLS 的规则集

与运行 SMTP 时使用 TLS 相关的安全注意事项

sendmail 版本 8.13 中新增的命令行选项

sendmail 版本 8.13 中新增和修订的配置文件选项

sendmail 版本 8.13 中新增和修订的 FEATURE() 声明

sendmail 版本 8.12 中的更改

sendmail 版本 8.12 支持 TCP 包装

sendmail 版本 8.12 中的配置文件 submit.cf

可区分 sendmail.cfsubmit.cf 的功能

sendmail 版本 8.12 中功能的更改

sendmail 版本 8.12 中新增或过时的命令行选项

sendmail 版本 8.12 中新增的用于 PidFileProcessTitlePrefix 选项的参数

sendmail 版本 8.12 中新增的已定义宏

sendmail 版本 8.12 中新增的宏

sendmail 版本 8.12 中新增的 MAX

sendmail 版本 8.12 中新增和修订的 m4 配置宏

sendmail 版本 8.12 中对 FEATURE() 声明的更改

sendmail 版本 8.12 中对 MAILER() 声明的更改

sendmail 版本 8.12 中新增的传送代理标志

sendmail 版本 8.12 中新增的用于传送代理的等式

sendmail 版本 8.12 中新增的队列功能

sendmail 版本 8.12 中对 LDAP 的更改

sendmail 版本 8.12 中对内置邮件程序的更改

sendmail 版本 8.12 中新增的规则集

sendmail 版本 8.12 中对文件的更改

sendmail 版本 8.12 和配置中的 IPv6 地址

第 5 部分串行网络主题

15.  Solaris PPP 4.0(概述)

16.  规划 PPP 链路(任务)

17.  设置拨号 PPP 链路(任务)

18.  设置租用线路 PPP 链路(任务)

19.  设置 PPP 验证(任务)

20.  设置 PPPoE 通道(任务)

21.  修复常见的 PPP 问题(任务)

22.  Solaris PPP 4.0(参考)

23.  从异步 Solaris PPP 迁移至 Solaris PPP 4.0(任务)

24.  UUCP(概述)

25.  管理 UUCP(任务)

26.  UUCP(参考)

第 6 部分使用远程系统主题

27.  使用远程系统(概述)

28.  管理 FTP 服务器(任务)

29.  访问远程系统(任务)

第 7 部分监视网络服务主题

30.  监视网络性能(任务)

词汇表

索引

sendmail 版本 8.13 中的更改

虽然此版本的 sendmail 提供了许多新增功能,但最重要的还是其中的 FallBackSmartHost 选项。由于此选项,您无需再使用 main.cfsubsidiary.cfmain.cf 文件用于支持 MX 记录的环境。subsidiary.cf 文件用于不具备完全功能的 DNS 的环境。上述环境使用智能主机,不使用 MX 记录。FallBackSmartHost 选项可提供统一的配置。此选项的作用与所有环境最不可能首选的 MX 记录类似。要确保邮件传送到客户机,此选项(如果启用)需提供一台正确连接的(或智能)主机,此主机将用作出现故障的 MX 记录的备份(或故障转移)。

有关版本 8.13 的更多信息,请参见以下各节:

另外,SMTP 可以使用传输层安全 (Transport Layer Security, TLS) 运行。请参见以下说明。

sendmail 版本 8.13 支持运行 SMTP 时使用 TLS

SMTP 服务器和客户机之间的通信通常不受任何一端的控制或信任。由于缺少安全性,第三方可能会监视甚至修改服务器与客户机之间的通信。在 sendmail 8.13 版中,SMTP 可以使用传输层安全 (Transport Layer Security, TLS) 来解决此问题。SMTP 服务器和客户机的这种扩展服务可提供以下功能:


注 - TLS 的实现基于安全套接字层 (Secure Sockets Layer, SSL) 协议。


STARTTLS 是使用 TLS 启动安全 SMTP 的 SMTP 关键字。此安全连接可能建立在两台服务器之间或一台服务器与一台客户机之间。安全连接定义如下:

当客户机发出 STARTTLS 命令时,服务器将使用以下各项之一来响应:

220 响应要求客户机启动 TLS 协商。501 响应指明客户机未正确发出 STARTTLS 命令。发出 STARTTLS 时未使用任何参数。454 响应需要客户机应用规则集值来确定是接受还是维护连接。

请注意,要维护 Internet 的 SMTP 基础结构,公共使用的服务器决不能要求 TLS 协商。但是,专用服务器可能会要求客户机执行 TLS 协商。在这类情况下,服务器会返回以下响应:

530 Must issue a STARTTLS command first

530 响应会指示客户机发出 STARTTLS 命令,以建立连接。

如果不满足身份验证和保密性的级别,服务器或客户机可以拒绝连接。同样,由于大多数 SMTP 连接都不安全,因此服务器和客户机可能会保留不安全的连接。保留还是拒绝连接由服务器和客户机的配置来确定。

缺省情况下,不支持在运行 SMTP 时使用 TLS。SMTP 客户机发出 STARTTLS 命令时,将启用 TLS。必须先设置允许 sendmail 使用 TLS 的证书,然后 SMTP 客户机才能发出此命令。请参见设置 SMTP 以使用 TLS。请注意,此过程包括定义新的配置文件选项和重新生成 sendmail.cf 文件。

用于在运行 SMTP 时使用 TLS 的配置文件选项

下表介绍了用于在运行 SMTP 时使用 TLS 的配置文件选项。如果要声明其中的任何选项,请使用以下语法之一:

表 14-12 用于在运行 SMTP 时使用 TLS 的配置文件选项

选项
说明
CACertFile
m4 名称:confCACERT

参数:filename

缺省值:未定义

用于标识包含一个 CA 证书的文件。

CACertPath
m4 名称:confCACERT_PATH

参数:path

缺省值:未定义

用于标识包含 CA 证书的目录的路径。

ClientCertFile
m4 名称:confCLIENT_CERT

参数:filename

缺省值:未定义

用于标识包含客户机证书的文件。请注意,此证书在 sendmail 用作客户机时使用。

ClientKeyFile
m4 名称:confCLIENT_KEY

参数:filename

缺省值:未定义

用于标识包含属于客户机证书的私钥的文件。

CRLFile
m4 名称:confCRL

参数:filename

缺省值:未定义

用于标识包含证书撤销状态的文件,该文件用于 X.509v3 身份验证。

DHParameters
m4 名称:confDH_PARAMETERS

参数:filename

缺省值:未定义

用于标识包含 Diffie-Hellman (DH) 参数的文件。

RandFile
m4 名称:confRAND_FILE

参数:file:filenameegd:UNIX socket

缺省值:未定义

使用 file: 前缀标识包含随机数据的文件,或使用 egd: 前缀标识 UNIX 套接字。请注意,由于 Oracle Solaris OS 支持随机数生成器设备,因此无需指定此选项。请参见 random(7D) 手册页。

ServerCertFile
m4 名称:confSERVER_CERT

参数:filename

缺省值:未定义

用于标识包含服务器证书的文件。此证书在 sendmail 用作服务器时使用。

Timeout.starttls
m4 名称:confTO_STARTTLS

参数:amount of time

缺省值:1h

设置 SMTP 客户机等待 STARTTLS 命令的响应的时间。

TLSSrvOptions
m4 名称:confTLS_SRV_OPTIONS

参数:V

缺省值:未定义

用于确定服务器是否向客户机请求证书。如果此选项设置为 V,则不执行客户机验证。

要使 sendmail 支持 SMTP 使用 TLS,必须定义以下选项:

不需要定义其他选项。

用于在运行 SMTP 时使用 TLS 的宏

下表介绍了 STARTTLS 命令使用的宏。

表 14-13 用于在运行 SMTP 时使用 TLS 的宏

说明
${cert_issuer}
保存证书颁发机构 (certification authority, CA)(证书签发者)的标识名 (distinguished name, DN)。
${cert_subject}
保存名为证书主题的证书 DN。
${cn_issuer}
保存 CA 的公用名称 (common name, CN),即证书签发者
${cn_subject}
保存名为证书主题的证书 CN。
${tls_version}
保存用于连接的 TLS 的版本。
${cipher}
保存用于连接的一组加密算法(名为加密套件)。
${cipher_bits}
以位为单位保存用于连接的对称加密算法的密钥长度。
${verify}
保存所提供证书的验证结果。可能值如下所示:
  • OK-验证成功。

  • NO-未提供证书。

  • NOT-未请求证书。

  • FAIL-无法验证提供的证书。

  • NONE-尚未执行 STARTTLS

  • TEMP-出现临时错误。

  • PROTOCOL-出现 SMTP 错误。

  • SOFTWARESTARTTLS 握手失败。

${server_name}
保存当前具有外出 SMTP 连接的服务器的名称。
${server_addr}
保存当前具有外出 SMTP 连接的服务器的地址。

用于在运行 SMTP 时使用 TLS 的规则集

下表介绍了一些规则集,用于确定应接受、继续还是拒绝使用 TLS 的 SMTP 连接。

表 14-14 用于在运行 SMTP 时使用 TLS 的规则集

规则集
说明
tls_server
用作客户机时,sendmail 使用此规则集来确定 TLS 当前是否支持该服务器。
tls_client
用作服务器时,sendmail 使用此规则集来确定 TLS 当前是否支持该客户机。
tls_rcpt
此规则集要求验证收件人的 MTA。此收件人限制可完全避免 DNS 电子欺骗等攻击。
TLS_connection
此规则集针对当前 TLS 连接的实际参数检查由访问映射的 RHS 指定的要求。
try_tls
sendmail 使用此规则集来确定连接到其他 MTA 时使用 STARTTLS 的可行性。如果 MTA 不能正确实现 STARTTLS,则不使用 STARTTLS

有关更多信息,请参见 http://www.sendmail.org/m4/starttls.html

与运行 SMTP 时使用 TLS 相关的安全注意事项

作为用于定义在 Internet 中运行的邮件程序的标准邮件协议,SMTP 不是一种端对端机制。由于此协议限制,通过 SMTP 的 TLS 安全性不包括邮件用户代理。邮件用户代理用作用户与邮件传输代理(如 sendmail)之间的接口。

另外,邮件也可以在多台服务器之间路由。为了实现完整的 SMTP 安全性,整个 SMTP 连接链必须具有 TLS 支持。

最后,还必须考虑在每对服务器之间或客户机和服务器对之间的协商身份验证和保密性的级别。有关更多信息,请参见《Oracle Solaris 管理:安全服务》中的"验证服务"

sendmail 版本 8.13 中新增的命令行选项

下表介绍了在 sendmail 版本 8.13 中新增的可用命令行选项。sendmail(1M) 手册页介绍了其他命令行选项。

表 14-15 sendmail 版本 8.13 中可用的命令行选项

选项
说明
-D logfile
将调试输出发送至指明的 logfile,而不是将此信息包括在标准输出中。
-q[!]Qsubstr
指定对包含此 substr 的隔离作业的处理,前者是隔离 reason 的子字符串。请参见 -Qreason 选项的说明。 如果添加了 !,此选项将处理不包含此 substr 的隔离作业。
-Qreason
以此 reason 隔离标准队列项。如果未给定 reason,则隔离的队列项将取消隔离。此选项可与 -q[!]Qsubstr 选项结合使用。substrreason 的一部分(或子字符串)。

sendmail 版本 8.13 中新增和修订的配置文件选项

下表介绍了添加和修订的配置文件选项。如果要声明其中的任何选项,请使用以下语法之一。

O OptionName=argument          # for the configuration file
-O OptionName=argument         # for the command line
define(`m4Name',argument)     # for m4 configuration

表 14-16 sendmail 版本 8.13 中可用的配置文件选项

选项
说明
ConnectionRateWindowSize
m4 名称:confCONNECTION_RATE_WINDOW_SIZE

参数:number

缺省值:60

用于设置传入连接保持的秒数。

FallBackSmartHost
m4 名称:confFALLBACK_SMARTHOST

参数:hostname

要确保邮件传送到客户机,此选项需提供正确连接的主机,此主机将用作出现故障的 MX 记录的备份(或故障转移)。

InputMailFilters
m4 名称:confINPUT_MAIL_FILTERS

参数:filename

用于列出 sendmail 守护进程的输入邮件过滤器。

PidFile
m4 名称:confPID_FILE

参数:filename

缺省值:/system/volatile/sendmail.pid

与以前的发行版相同,在打开文件之前会对文件名进行宏扩展。此外,在版本 8.13 中,sendmail 退出时还将断开文件的链接。

QueueSortOrder
m4 名称:confQUEUE_SORT_ORDER

添加的参数:none

在版本 8.13 中,none 用于指定无排序顺序。

RejectLogInterval
m4 名称:confREJECT_LOG_INTERVAL

参数:period_of_time

缺省值:3h,表示 3 个小时。

对于指定的 period_of_time 拒绝守护进程连接时,将记录此信息。

SuperSafe
m4 名称:confSAFE_QUEUE

短名称:s

添加的参数:postmilter

缺省值:true

如果设置 postmiltersendmail 将推迟同步队列文件,直到所有 milters 都已发出接受邮件的信号为止。要使此参数可用,sendmail 必须作为 SMTP 服务器运行。否则,postmilter 的运行将类似于使用 true 参数。

sendmail 版本 8.13 中新增和修订的 FEATURE() 声明

下表介绍了添加和修订的 FEATURE() 声明。此 m4 宏使用以下语法。

FEATURE(`name', `argument')

表 14-17 sendmail 版本 8.13 中可用的 FEATURE() 声明

FEATURE() 的名称
说明
conncontrol
access_db 规则集结合使用,用于检查传入的 SMTP 连接的数量。有关详细信息,请参见 /etc/mail/cf/README
greet_pause
添加 greet_pause 规则集,它将启用开放的代理和 SMTP 攻击保护。有关详细信息,请参见 /etc/mail/cf/README
local_lmtp
缺省参数仍为 mail.local,该参数在此 Oracle Solaris 发行版中是具有 LMTP 功能的邮件程序。但是,在版本 8.13 中,如果使用其他具有 LMTP 功能的邮件程序,则可将其路径名指定为第二个参数,并且可在第三个参数中指定传递给第二个参数的参数。例如:
FEATURE(`local_lmtp', `/usr/local/bin/lmtp', `lmtp')
mtamark
对“在带有 TXT RR 的反向 DNS 中标记邮件传输代理”(MTAMark) 提供实验支持。有关详细信息,请参见 /etc/mail/cf/README
ratecontrol
access_db 规则集结合使用,用于控制主机的连接速率。有关详细信息,请参见 /etc/mail/cf/README
use_client_ptr
如果启用此 FEATURE(),规则集 check_relay 将使用参数 $&{client_ptr} 覆盖其第一个参数。