TLSMGR(8)                                                            TLSMGR(8)

名称
       tlsmgr - Postfix TLS 会话缓存及伪随机数生成器(PRNG)管理器

概述
       tlsmgr [通用 Postfix 守护进程选项]

描述
       tlsmgr(8) 负责管理 Postfix 的 TLS 会话缓存。该服务会根据 smtpd(8)smtp(8) 进程的请求存储和检索缓存条目,并定期清理已过期的缓存记录。

       此外,tlsmgr(8) 还负责管理伪随机数生成器(PRNG)池。它会响应 smtpd(8)smtp(8) 进程的请求,为这些进程内部的 PRNG 池提供随机数种子。

       该服务的 PRNG 池初始化时会从外部源(如 EGD、/dev/urandom 或普通文件)获取熵值。系统会按照可配置的时间间隔从外部源更新熵值,同时也会定期使用 TLS 会话缓存条目中的数据和当前时间戳来更新熵值池。每当有进程请求 tlsmgr(8) 服务时,系统都会用当前时间戳更新熵值池。

       tlsmgr(8) 会定期将 PRNG 状态保存到交换文件中,在服务终止时也会执行此操作。当服务初始化时,会从交换文件中读取 PRNG 状态。

安全性
       tlsmgr(8) 不属于安全敏感服务。其维护外部和内部 PRNG 池的代码不会"信任"所操作的数据,而维护 TLS 会话缓存的代码除了为内部 PRNG 池提供种子外,不会接触缓存条目的实际内容。

       该服务可以在 chroot 环境和降权状态下运行。在进程启动时,它会连接到熵源和交换文件,并创建或清空可选的 TLS 会话缓存文件。

       从 Postfix 2.5 版本开始,tlsmgr(8) 在打开缓存文件时不再需要 root 权限。这些缓存文件现在应该存放在 Postfix 专属的 data_directory 目录下。为了兼容旧版本,当尝试打开非 Postfix 目录下的缓存文件时,系统会自动重定向到 Postfix 专属的 data_directory 目录,同时会记录警告信息。

诊断
       问题和事务日志会被记录到 syslogd(8) 或 postlogd(8) 中。

已知问题
       目前系统无法自动限制 TLS 会话缓存中的条目数量,也无法自动控制 TLS 缓存文件的大小。

配置参数
       由于 tlsmgr(8) 是持久化进程,修改 main.cf 后需要执行 "postfix reload" 命令才能使配置生效。

       以下仅列出参数摘要,详细说明和示例请参阅 postconf(5) 文档。

TLS 会话缓存
       lmtp_tls_loglevel (0)
              smtp_tls_loglevel 配置参数的 LMTP 专用版本

       lmtp_tls_session_cache_database (空)
              smtp_tls_session_cache_database 配置参数的 LMTP 专用版本

       lmtp_tls_session_cache_timeout (3600s)
              smtp_tls_session_cache_timeout 配置参数的 LMTP 专用版本

       smtp_tls_loglevel (0)
              启用 Postfix SMTP 客户端 TLS 活动的额外日志记录

       smtp_tls_session_cache_database (空)
              指定 Postfix SMTP 客户端 TLS 会话缓存的文件路径

       smtp_tls_session_cache_timeout (3600s)
              设置 Postfix SMTP 客户端 TLS 会话缓存信息的过期时间

       smtpd_tls_loglevel (0)
              启用 Postfix SMTP 服务器 TLS 活动的额外日志记录

       smtpd_tls_session_cache_database (空)
              指定 Postfix SMTP 服务器 TLS 会话缓存的文件路径

       smtpd_tls_session_cache_timeout (3600s)
              设置 Postfix SMTP 服务器 TLS 会话缓存信息的过期时间

伪随机数生成器
       tls_random_source (参见 'postconf -d' 输出)
              指定 tlsmgr(8) 内存中伪随机数生成器(PRNG)池的外部熵源

       tls_random_bytes (32)
              设置 tlsmgr(8) 从 $tls_random_source 读取的字节数,用于(重新)初始化内存中的 PRNG 池

       tls_random_exchange_name (参见 'postconf -d' 输出)
              指定由 tlsmgr(8) 维护的 PRNG 状态文件路径

       tls_random_prng_update_period (3600s)
              设置 tlsmgr(8) 将 PRNG 状态保存到 $tls_random_exchange_name 指定文件的间隔时间

       tls_random_reseed_period (3600s)
              设置 tlsmgr(8) 从外部源重新初始化内存中 PRNG 池的最大间隔时间

其他控制参数
       config_directory (参见 'postconf -d' 输出)
              指定 Postfix main.cfmaster.cf 配置文件的默认存储目录

       data_directory (参见 'postconf -d' 输出)
              指定 Postfix 可写入数据文件(如缓存、伪随机数等)的存储目录

       daemon_timeout (18000s)
              设置 Postfix 守护进程处理请求的超时时间,超过此时限将被看门狗定时器终止

       process_id (只读)
              显示 Postfix 命令或守护进程的进程 ID

       process_name (只读)
              显示 Postfix 命令或守护进程的进程名称

       syslog_facility (mail)
              设置 Postfix 日志的 syslog 设施

       syslog_name (参见 'postconf -d' 输出)
              设置 syslog 记录中进程名称的前缀,例如将 "smtpd" 显示为 "prefix/smtpd"

       Postfix 3.3 及以上版本新增:

       service_name (只读)
              显示 Postfix 守护进程在 master.cf 中定义的服务名称

参见
       smtp(8), Postfix SMTP 客户端
       smtpd(8), Postfix SMTP 服务器
       postconf(5), 配置参数
       master(5), 通用守护进程选项
       master(8), 进程管理器
       postlogd(8), Postfix 日志记录
       syslogd(8), 系统日志记录

参考文档
       TLS_README, Postfix TLS 配置与操作指南

许可
       使用本软件需遵守 Secure Mailer 许可证条款。

历史
       本服务首次出现于 Postfix 2.2 版本。

作者
       Lutz Jaenicke
       德国科特布斯工业大学
       电子工程系
       Universitaetsplatz 3-4
       德国科特布斯 D-03044

       改编:
       Wietse Venema
       IBM T.J. Watson 研究中心
       邮政信箱 704
       美国纽约州约克镇高地 10598

       Wietse Venema
       Google 公司
       纽约第八大道 111 号
       美国纽约州纽约市 10011

                                                                     TLSMGR(8)