跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 安全和强化指南 / 本地安全性 / 使用 seccheck 进行自动安全检查
适用范围 SUSE Linux Enterprise Server 15 SP3

11 使用 seccheck 进行自动安全检查

seccheck SUSE 安全检查器是一组外壳脚本,旨在定期自动检查系统的本地安全,并通过电子邮件向 root 用户或管理员配置的任何用户发送报告。

如果 seccheck 未安装(在您的系统上),请使用 sudo zypper in seccheck 进行安装。这些脚本由 systemd 计时器进行控制,该计时器默认未启用,必须由管理员进行启用。

11.1 Seccheck 计时器

有以下四种 seccheck 计时器:

  • /usr/lib/systemd/system/seccheck-daily.timer

  • /usr/lib/systemd/system/seccheck-monthly.timer

  • /usr/lib/systemd/system/seccheck-weekly.timer

  • /usr/lib/systemd/system/seccheck-autologout.timer

seccheck-daily.timerseccheck-monthly.timerseccheck-weekly.timer 运行多项检查,如第 11.3 节 “每日、每周和每月检查”中所述。seccheck-autologout.timer 可注销非活动用户,请参见第 11.4 节 “自动注销”

您可以将 seccheck 邮件的收件人由 root 更改为 /etc/sysconfig/seccheck 中的任何用户。以下示例将其更改为名为 firewall 的管理员用户:

SECCHK_USER="firewall"

11.2 启用 seccheck 计时器

使用 systemctl 管理您的计时器,如同任何其他 systemd 计时器一样。以下示例启用并启动 seccheck-daily.timer

tux > sudo systemctl enable --now seccheck-daily.timer

列出所有活动计时器:

tux > sudo systemctl list-timers

列出所有已启用的活动和非活动计时器:

tux > sudo systemctl list-timers --all

11.3 每日、每周和每月检查

seccheck 执行下列每日检查:

/etc/passwd 检查

字段的长度/数量/内容,具有相同 UID 的帐户,UID/GID 为 0 或 1 的帐户(root 和 bin 除外)

/etc/shadow 检查

字段的长度/数量/内容,没有口令的帐户

/etc/group 检查

字段的长度/数量/内容

用户 root 检查

安全 umask 和 PATH

/etc/ftpusers

检查是否将重要的系统用户置于此处

/etc/aliases

检查执行程序的邮件别名

.rhosts 检查

检查用户的 .rhosts 文件是否包含 + 符号

用户主目录

检查主目录是否可写入或被其他用户拥有

点文件检查

检查主目录中的众多点文件是否具有正确的所有权和权限

邮箱检查

检查用户邮箱是否由正确的用户拥有,以及是否可读

NFS 导出检查

不应进行全局导出

NFS 导入检查

NFS 装入应设置 nosuid 选项

混杂检查

检查网卡是否处于混杂模式

列表模块

列出装载的模块

列表套接字

列出打开的端口

下表列出了每周检查:

口令检查

运行 john 以破解口令文件;用户将收到更改其口令的电子邮件通知

RPM md5 检查

通过 RPM 的 MD5 校验和功能检查已更改文件

suid/sgid 检查

列出所有 suid 和 sgid 文件

可执行文件组写入

列出组可写/全局可写的所有可执行文件

可写入检查

列出全局可写的所有文件(包括可执行文件)

设备检查

列出所有设备

重要
重要:使用 john 审计口令

要启用口令审计,必须先安装软件包 john,即 John the Ripper 快速口令破解程序。该软件包可从 https://build.opensuse.org/package/show/security/john 上的 openSUSE Build Service 获取。

每月检查会列显一份完整的报告,每日检查和每周检查的列显内容则不相同。

11.4 自动注销

seccheck-autologout.timer 计时器每隔 10 分钟运行一次,检查远程和本地终端会话是否处于非活动状态,并在超过空闲时间后终止会话。

/etc/security/autologout.conf 文件中配置您需要的超时。参数包括默认的空闲和注销延迟时间,以及限制特定于用户、组、TTY 设备和 SSH 会话的最大空闲时间的配置。/etc/security/autologout.conf 包含多个配置示例。