本节介绍使 PAM 框架使用特定安全策略所需执行的一些任务。应注意与 PAM 配置文件关联的某些安全问题。有关安全问题的信息,请参见规划 PAM 实现。
任务 |
说明 |
参考 |
---|---|---|
规划 PAM 安装。 |
开始软件配置过程之前,考虑配置问题并做出相关决定。 | |
添加新的 PAM 模块。 |
有时,必须写入并安装特定于站点的模块,以满足通用软件不包括的要求。此过程说明如何安装这些新的 PAM 模块。 | |
阻止访问 ~/.rhosts。 |
通过阻止访问 ~/.rhosts 来进一步提高安全性。 | |
启动错误日志。 |
通过 syslog 启动 PAM 错误消息日志。 |
所提供的 pam.conf 配置文件可实现标准的 Solaris 安全策略。此策略应适用于许多情况。如果需要实现其他安全策略,则应考虑以下问题:
确定需求,特别是应选择的 PAM 服务模块。
标识需要特殊配置选项的服务。使用 other(如果适用)。
决定运行模块的顺序。
选择每个模块的控制标志。有关所有控制标志的更多信息,请参见PAM 控制标志。
选择每个模块必需的所有选项。每个模块的手册页应列出所有的特殊选项。
以下是更改 PAM 配置文件之前要考虑的一些建议:
对每种模块类型使用 other 项,以便 /etc/pam.conf 中不必包括每个应用程序。
确保考虑 binding、sufficient 和 optional 控制标志所涉及的安全问题。
查看与模块关联的手册页。这些手册页有助于您了解每个模块的工作方式、可用的选项,以及堆叠模块之间的交互。
如果 PAM 配置文件配置错误或者被损坏,则可能没有用户能登录。由于 sulogin 命令不使用 PAM,因此,需要超级用户口令才能将计算机引导至单用户模式并修复问题。
更改 /etc/pam.conf 文件之后,在您仍具有系统访问权限的情况下,尽可能多地检查此文件以更正问题。对更改可能影响到的所有命令进行测试。例如,向 telnet 服务中添加新模块。在此示例中,将使用 telnet 命令并检验所做更改是否使服务按预期方式运行。
此过程说明如何添加新的 PAM 模块。可以创建新模块以提供特定于站点的安全策略或支持第三方应用程序。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见配置 RBAC(任务列表)。
确定应使用的控制标志和其他选项。
有关模块的信息,请参阅PAM 模块。
确保设置了拥有权和权限,以便模块文件由 root 拥有,并且权限为 555。
编辑 PAM 配置文件 /etc/pam.conf,并将此模块添加到相应的服务中。
检验是否正确添加了模块。
必须在重新引导系统之前进行测试,以防此配置文件配置错误。在重新引导系统之前,使用直接服务(例如 rlogin 或 telnet )登录,并运行 su 命令。此服务可能是引导系统时仅产生一次的守护进程。因此,必须先重新引导系统,然后才能检验是否已添加模块。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见配置 RBAC(任务列表)。
从 PAM 配置文件中删除所有包括 rhosts_auth.so.1 的行。
此步骤用于防止在 rlogin 会话期间读取 ~/.rhosts 文件。因此,此步骤可防止从远程系统对本地系统进行未经验证的访问。无论 ~/.rhosts 或 /etc/hosts.equiv 文件是否存在或包含什么内容,所有 rlogin 访问都需要口令。
禁用 rsh 服务。
要防止对 ~/.rhosts 文件进行其他未经验证的访问,请记住要禁用 rsh 服务。
# svcadm disable network/shell |
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见配置 RBAC(任务列表)。
为所需的日志级别配置 /etc/syslog.conf 文件。
有关日志级别的更多信息,请参见 syslog.conf(4)。
刷新 syslog 守护进程的配置信息。
# svcadm refresh system/system-log |