Linux操作系统安全测评
序号 测评指标 测评项 检测方法 预期结果
1 身份鉴别 身份标识唯一性 "手工检查:
1)第一种办法,使用命令
#cat /etc/passwd
#cat /etc/shadow
查看用户名和对应的 uid,确认是否存在相同 uid 的账户;
2)第二种办法,直接执行
#pwck -r
来验证/etc/passwd 和/etc/shadow 文件的完整性。" "1)不存在相同uid 的用户;
2)/etc/passwd和/etc/shadow
文件的完整性相同。"
身份标识和鉴别 "手工检查:
在 root 权限下,使用命令
#cat /etc/passwd
#cat /etc/shadow
查看文件中各用户名状态,记录密码一栏为空的用户名。" 不存在密码为空的用户名。
组合身份鉴别技术 "访谈:
访谈系统管理员,询问系统除用户名口另外有无其他身份鉴别方式,如生物 鉴别、令牌、动态口令等。" 存在其他身份鉴别技术。
管理用户身份标识不被冒用 "访谈:
访谈系统管理员,口令是否遵循一定的安全策略;
手工检查:
在 root 权限下,使用命令
#cat /etc/login.defs
查看该文件中对口令长度、复杂性和定期更新的定义,记录全部输出。 记录内容应包括 PASS_MAX_DAYS、PASS_MIN_DAYS、PASS_MIN_LEN。" 对口令启用一 定的安全策略。
登陆失败处理 "手工检查:
在 root 权限下,使用命令
#cat /etc/login.defs
#cat /etc/pam.d/system-auth
查看该文件的内容,利用 pam 可以对用户登陆进行限制,记录
/etc/pam.d/system-auth 文件中是否存在“account required
/lib/security/pam_tally.so deny=3 no_magic_root_reset”。" 对用户登录进行限制。
鉴别警示功能 "手工检查:
在 root 权限下,使用命令
#cat /etc/issue
#cat /etc/ssh/sshd_config
查看系统登录时的 banner 信息。" 存在警告性banner 信息。
对相连设备进行身份标识和鉴别 "访谈:
询问管理员是否使用证书等方式对设备身份进行鉴别。" 采取技术手段对相连设备进行身份鉴别。
远程管理加密 "手工检查:
在 root 权限下,使用命令查看是否运行了 sshd 服务: service –status-all | grep sshd 应保证使用加密的网络协议进行远程管理,放弃使用 telnet 等明文协议。" 没有使用 telnet、http 等明文网络协议。
2 自主访问控制 文件权限、默认共享 "手工检查:
在 root 权限下,查看文件权限是否满足以下要求:
#ls -l /etc/passwd 744
#ls -l /etc/shadow 740
#ls -l /etc/rc3.d 744
#ls -l /etc/profile 744
#ls -l /etc/inet.conf 744
#ls -l /etc/xinet.conf 744, 记录存在问题的目录或文件。" 不存在权限过大的目录或文件。
覆盖范围:主体、客体、操作 "访谈:
访谈系统管理员,访问控制的覆盖范围是否包括用户和文件、数据库表,以 及它们之间的读、写或执行操作。" 访问控制覆盖主体、客体和操作。
粒度:主体为用户级客体为文件、数 据库表级 "手工检查:
应检查主要服务器操作系统和主要数据库系统的访问控制列表,查看授权用户中是否存在过期的帐号和无用的帐号等;访问控制列表中的用户和权限,是 否与安全策略相一致。" 访问控制粒度满足要求。
授权的主体 "手工检查:
应检查主要服务器操作系统和主要数据库系统,查看客体(如文件,数据 库表、视图、存储过程和触发器等)的所有者是否可以改变其相应访问控制列表的 属性,得到授权的用户是否可以改变相应客体访问控制列表的属性。" 主体得到明确授权。
最小授权原则,且相互制约 "访谈:
访谈系统管理员,询问系统是否有完整的安全策略、是否遵循权限分离和最 小权限原则、系统主要有哪些角色、每个角色的权限是否相互制约、每个系统用户 是否被赋予相应的角色。" 遵循最小授权原则,且相互制约。
特权用户权限分离 "访谈:
结合系统管理员的组成情况,判断是否实现了该项要求。" 实现权限分离。
帐户整理 "手工检查:
查看是否有多余的、过期的账户,避免共享账户,进行记录。" 定期对账户进行整理。
限制默认用户访问权限 "手工检查:
在 root 权限下,使用命令
#cat /etc/passwd
#cat /etc/shadow
查看密码文件的内容,记录没有被禁用的系统默认用户名。" 默认用户的权限合理控制。
3 强制访问控制 重要主体设置敏感标记 "手工检查:
1.查看操作系统功能手册或相关文档,确认操作系统是否具备能对信息资源设置敏 感标记功能;
2.询问系统管理员是否对重要信息资源设置敏感标记。" 符合强制访问要求,且有明确配置或文档。
覆盖范围:主体、客体、操作 "访谈:
询问或查看目前的敏感标记策略的相关设置,如:如何划分敏感标记分类, 如何设定访问权限等。" 符合强制访问要求,且有明确配置或文档。
粒度:主体为用户级客体为文件、 数据库表级 "手工检查:
应检查服务器操作系统和主要数据库系统文档,查看强制访问控制是否 与用户身份鉴别、标识等安全功能密切配合,并且控制粒度达到主体为用户级,客 体为文件和数据库表级。" 符合强制访问要求,且有明确配置或文档。
4 安全审计 功能开启 "手工检查:
1)在 root 权限下,查看系统日志服务
#service syslog status
查看审计服务
#service auditd status
#ps -ef | grep auditd,记录日志服务和安全审计服务是否正常,若有第三方审计 工具或系统则记录其运行状态是否正常。
2)查看是否启用如下配置:
# grep “@priv-ops” /etc/audit/filter.conf
# grep “@mount-ops” /etc/audit/filter.conf
# grep “@system-ops” /etc/audit/filter.conf" 开启审计功能。
审计内容:重要用户行为、系统资 源的异常使用和重要系统命令的使 用 "手工检查:
在 root 权限下,查看 auditd 服务的配置文件
#cat /etc/audit/auditd.conf
#cat /etc/audit/audit.rules, 记录其内容。
Audit.rules 的规则可以查看 man auditctl,确认重要的行为是否得到记录。" 重要行为等得到审计。
审计记录:日期和时间、类型、主 体标识、客体标识、事件的结果等 "手工检查:
1)检查 audit 日志文件,默认位置是/var/log/audit/audit.log,记录是否包含了必要的审计要素。
2)若有第三方审计工具或系统,则查看其审计日志是否包括必要的审计要素。" 审计记录包含各要素。
审计报表 "访谈,核查:
访谈并查看对审计记录的查看、分析和生成审计报表情况。" 审计报表连续、可读且有备份。
特定事件提供实时报警 "访谈:
访谈系统管理员,主要服务器操作系统、重要终端操作系统和主要数据库系统能否对特定事件指定实时报警方式(如声音、EMAIL、短信等),并查看对应措施。" 支持实时报警。
审计进程保护 "访谈:
1.访谈对审计进程监控和保护的措施。
2.Auditd 是 Linux 中的审计守护进程,syslogd 是 Linux 中的 日志守护进程,因此可以通过 services 命令查看其状态。" 对审计进程有保护措施。
审计记录保护 "访谈:
访谈是否采取专用日志服务器等措施,对审计记录进行存储、备份和保护。
手工检查:
1.在 root 权限下,查看日志访问权限:ls –la /var/log/audit.d
2.查看 auditd 服务的配置文件
#cat /etc/audit/auditd.conf
记录全部输出,重点检查 num_logs、max_log_file、max_log_file_action、
disk_full_action、disk_error_action 等字段。" 审计记录被合理保护。
5 系统保护 手动或自动方式恢复运行 "访谈:
访谈系统管理员,询问哪些故障或其他原因会导致服务器系统中断,中断后能否以手动或自动方式恢复运行,是否有相应的操作规程,以前是否有类似事件发生。" 系统遭破坏后能以自动或手动方式恢复运行。
6 剩余信息保护 彻底清除用户鉴别信息 "访谈,核查:
访谈系统管理员,并检查 Linux 操作系统维护手册:
查看其是否明确 用户的鉴别信息存储空间,被释放或再分配给其他用户前的处理方法和过程。" 用户鉴别信息被彻底清除。
彻底清除系统敏感信息 "手工检查:
检查 Linux 操作系统维护手册:
系统内的文件、目录等资源所在的存储空间,被释放或重新分配给其他用户前的处理方法和过程。" 用户敏感信息被彻底清除。
7 入侵防范 主机资源监视 "访谈,手工检查:
访谈系统管理员,是否对主机的 CPU、硬盘、内存、网络等资源的使用情况进行监视,并给出资源使用历史记录;" 对资源使用情况进行监视和记录。
资源报警阀值 "访谈:
系统资源阀值告警。" 系统资源