ubuntu

应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换
  1. 1.身份具有唯一性
  2. cat /etc/passwd |awk -F ":" {'print $1'} |uniq -c
  3. 2.身份鉴别信息具有复杂度要求并定期更换
  4. 复杂度:
  5. cat /etc/pam.d/common-password |grep password|grep requisite
  6. retry=5 定义登录、或修改密码失败后,可以重复的次数
  7. dcredit=-1 至少一个数字
  8. lcredit=-1 至少一个小写
  9. ucredit=-1 至少一个大写
  10. ocredit=-1 至少一个特殊字符
  11. minlen=8 密码最短长度为8
  12. remember=5 不能重复使用前5次使用过的密码
  13. 定期更换:
  14. cat /etc/login.defs |grep "PASS_MAX_DAYS"
  15. passwd-S:仅 root 用户可用;
  16. cat /etc/shadow |awk -F ":" {'print $1,$5'}
  17. 3.确认空口令用户
  18. awk -F: 'length($2)==0 {print $1}' /etc/shadow
  19. 验证:
  20. useradd test
  21. passwd -d test #-d为删除密码

应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施
  1. 1.失败处理
  2. cat /etc/pam.d/sshd ssh远程登录)
  3. 查看日志:cat /etc/log/secure
  4. vim /etc/pam.d/common-auth (本地登录)
  5. 主要字段
  6. even_deny_root 也限制root用户;
  7. deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
  8. unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
  9. root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
  10. 解锁:
  11. pam_tally2 --user root --reset
  12. 2. 连接超时自动退出
  13. echo $TMOUT
  14. cat /etc/profile |grep TMOUT

当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
  1. telnet 传输信息过程未加密明文传输 wireshark抓包 ip.addr == ip && telnet
  2. ssh 传输信息过程加密传输

应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现
  1. https://lexiangla.com/docs/35918070fb6411ebaa49668ed4e75e9a?company_from=e1b6e064ce4a11e985645254002f1020

应对登录的用户分配账户和权限;
  1. 可登录用户:
  2. cat /etc/passwd |grep /bin/bash
  3. 超级管理员用户:
  4. cat /etc/passwd |awk -F":" '$3==0 {print $1}'

应重命名或删除默认账户,修改默认账户的默认口令;
  1. 空密码:cat /etc/shadow |awk -F: 'length($2)==0 {print $1}'

应及时删除或停用多余的、过期的账户,避免共享账户的存在;

  1. 查看用户登录信息:
  2. last 主要查看是否有相同用户相同时间不同IP的登录
  3. 过期账户:
  4. chage -l root

应授予管理用户所需的最小权限,实现管理用户的权限分离;
  1. 1.查看可登录用户
  2. 2.查看超级管理员用户
  3. 3.登录普通用户执行超级管理员命令
  4. 4.访问用户每个用户的作用
  5. 5:查看/etc/sudoers具体策略

应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
  1. 1. 使用命令#cat /etc/passwd,核查是否由管理用户负责配置访问控制策略;
  2. 2. root权限登录系统,使用命令#grep -vE '#|^$' /etc/profile,查看是否设置所有用户的默认umask值,建议将umask设置为027,对于权限要求较严格的场合,建议设置为077
  3. 3. 查看服务器是否限制只有wheel组用户可使用su命令切换到root账户,使用命令#grep -vE '#|^$' /etc/pam.d/su,查看auth required pam_wheel.so use_uid此行是否生效(未被注释),使用命令#cat /etc/login.defs,查看是否存在SU_WHEEL_ONLY yes代码;
  4. 4. 使用命令#grep -vE '#|^$' /etc/sudoers,查看是否限制了sudo命令的使用,如user ALL=(root) /usr/bin/passwduser用户可使用sudoroot权限执行passwd命令);
  5. 5. 使用普通权限用户登录,测试是否可以越权操作,如使用普通权限用户访问/etc/pam.d文件夹下的配置文件。

访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
  1. 1. 核查操作系统是否通过限制不同文件的权限实现对系统重要文件的访问控制;
  2. 2. 核查操作系统重要文件是否可以允许/拒绝不同用户的访问;
  3. 3. 使用命令#ls l,查看重要文件的访问权限,重要文件包括:/etc/passwd、/etc/shadow、/etc/profile、/etc/group、/etc/xinetd.conf、/etc/security、/etc/ssh/sshd_config、/etc/sudoers、/etc/pam.d等。
  4. 注:重要文件权限设置基本原则是配置文件不能大于644,可执行文件不能大于755

应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问
  1. 1.核查操作系统是否对系统资源数据进行严格划分,进行分级标记,形成完整的资源分级和访问权限控制结构体系;
  2. 2. 核查系统是否开启安全增强型Linux子系统SElinux,使用命令sestatus -v,查看SELinux status是否为enabled
  3. 3. 测试操作系统是否依据安全标记实现强制访问控制。
  4. "1. 核查操作系统是否对系统资源数据进行严格划分,进行分级标记,形成完整的资源分级和访问权限控制结构体系;
  5. 4. 核查系统是否开启安全增强型Linux子系统SElinux,使用命令sestatus -v,查看SELinux status是否为enabled;
  6. 5. 测试操作系统是否依据安全标记实现强制访问控制。" "执行步骤1),操作系统已对系统资源数据进行严格划分,进行分级标记,形成完整的资源分级和访问权限控制结构体系;
  7. 执行步骤2),操作系统开启了安全增强型Linux子系统SELinux;
  8. 执行步骤3),操作系统是否依据安全标记实现强制访问控制;

应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
  1. 1.确认是否开启审计
  2. ps aux |grep auditd
  3. 2.确认覆盖范围
  4. 3.转换时间确认是否是实时日志
  5. date -d@1645074016.841

审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
  1. 1.查看日志权限
  2. 普通用户进入日志目录
  3. 2.查看是否定期备份
  4. 查看是否有定时备份脚本
  5. 查看sys配置,grep -vE '#|^$' /etc/rsyslog.conf
  6. 访谈其他备份方式

应对审计进程进行保护,防止未经授权的中断;
  1. 已普通用户执行
  2. ps aux |grep audit
  3. kill -9

应遵循最小安装的原则,仅安装需要的组件和应用程序
  1. apt list --installed

应关闭不需要的系统服务、默认共享和高危端口;
  1. 不必要的服务:
  2. ps aux | inetd //等等等
  3. 高位端口:
  4. netstat -anpt 如:(25,110,11121,23
  5. 默认共享:
  6. 确认是否有sambaftp等共享目录
  7. 查看cat /etc/exports

应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;
  1. cat /etc/hosts.allow|grep -v "#"
  2. cat /etc/hosts.deny|grep -v "#"
  3. 查看防火墙策略:
  4. ufw status

应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;
  1. 查看本机是否安装杀毒、防毒软件
  2. 查看网络区域边界是否安装杀毒、防毒安全设备

应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
  1. 检查防火墙策略
  2. 检查是否安装能够安装能够报警的程序、产品。

应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断;
  1. 检查是否安装杀毒、防毒软件
  2. 检查病毒库版本是否为1个月内


主体和客体的概念
  1. 主体:一个主动的实体,它请求对客体或客体内的数据进行访问。
  2. 客体:包含被访问信息或者所需功能的被动实体。
  3. 主体在一个系统或区域内应当可问责。确保可问责性的唯一方法是主体能够被唯一标识,且记录在案。
  4. 主体访问客体的要素:身份标识(你是谁)、身份验证(我是谁、我知道什么、我拥有什么)、
  5. 授权(可以干什么,访问控制)