三级的
安全计算环境-操作系统中标麒麟
这里只记录路径啊,参数怎么定,见仁见智呐
1身份鉴别
001应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换。
密码复杂度: cat /etc/pam.d/system-auth
retry =N:登录失败次数
minlen=N:新密码的最小长度
dcredit=N:当N>0时表示新密码中数字出现的最多次数;当N<0时表示新密码中数字出现最少次数;
ucredit=N: 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数;
lcredit=N: 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数;
ocredit=N:当N>0时表示新密码中特殊字符出现的最多次数;当N<0时表示新密码中特殊字符出现最少次数;
maxrepeat=N:拒绝包含多于N个相同连续字符的密码。 默认值为0表示禁用此检查;
maxsequence=N:拒绝包含长于N的单调字符序列的密码。默认值为0表示禁用此检查。
身份标识唯一:
cat /etc/passwd
如:root:x:0:0:root:/bin/bash 抽象为1:2:3:4:5:6
1、用户名;
2、密码,为了保密需要用x或*代替,要查密码可以看cat /etc/shadow,虽然看不到明文;
3、用户标识号,是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500;
4、组标识号,用户所属的组;
5、注释性描述,注释,没啥用;
6、主目录,工作目录(文件夹)。
定期更换:cat /etc/login.defs
PASS_MAX_DAYS 99999 注:一个密码最长可以使用的天数;
PASS_MIN_DAYS 0 注:更换密码的最小天数;
PASS_MIN_LEN 5 注:密码的最小长度;
PASS_WARN_AGE 7 注:密码失效前提前多少天数开始警告;
ENCRYPT_METHOD SHA512 注:MD5密码加密
空口令账户:cat /etc/shadow 用于存储 Linux 系统中用户的密码信息
如root: $6$9w5Td6lg$bgpsy3olsq9WwWvS5Sst2W3ZiJpuCGDY.4w4MRk3ob/i85fl38RH15wzVoom ff9isV1 PzdcXmixzhnMVhMxbvO:15775:0:99999:7:::bin:*:15513:0:99999:7:::daemon:*:15513:0:99999:7:::
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
002应具有登录失败处理功能,应配置并启用结束会话,限制非法登录次数和当登录连接超时自动退出等相关措施。
失败处理功能:
1、cat /etc/pam.d/system-auth | grep deny 系统有没有配置deny
2、cat /etc/pam.d/sshd | grep deny SSHD有没有配置deny
登录超时自动退出:cat /etc/profile | grep timeout 在profile文件里面查找有没有配置timeout参数
003当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听。
systemctl status sshd 查看sshd远程服务的运行状态
或者 ps -ef | grep sshd
systemctl status telnet 查看Telnet远程服务的运行状态
telnet是明文传送,ssh是加密传送;
telnet的默认端口号为23;ssh的默认端口号为22;
ssh使用公钥对访问的服务器的用户验证身份,进一步提高的安全性;telnet没有使用公钥。
004应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
口令:账号密码啦
数字证书:秘钥啦,CA证书啦
生物技术:瞳孔啦,指纹啦,声纹啦,面部特征啦
2访问控制
005应对登录的用户分配账户和权限。
一般看系统重要配置目录的用户权限合不合理
查看重要系统目录的权限
cd /etc
ll
配置文件的权限值不大于644。可执行文件的权限值不大于755 。
r为读,w为写,x为执行。
rwxr-xrw-的意思为属主权限读-写-执行,属组权限为读-执行,其他用户权限为读写。
006应重命名或删除默认账户,修改默认账户的默认口令。
查看操作系统用户:
cat /etc/passwd查看有没有默认账户,并访谈管理员有没有修改密码。
007应及时删除或停用多余的、过期的账户,避免共享账户的存在。
管理员才知道哪些是多余的、过期的账户,要询问日常使用这个管理账号的有多少个人,个人觉得多于一个就是共享账号了哈。
008应授予管理用户所需的最小权限,实现管理用户的权限分离。
三权分立(立法、行政和司法,大雾),主要是要废除超级管理员,然后形成系统管理员、安全员、审计员在满足工作的前提下权限互相制约的局面。先询问管理员,操作系统是不是具备了这三种账号
系统管理员负责系统的安装和配置等
安全管理员负责安全层面的工作,如访问控制、入侵防御、漏洞扫描、修复补丁等
审计管理员负责日志、审计和备份等
009应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则。
先问授权主体(人或者系统)是谁,除了他,其他人能不能更改访问控制配置。
查看重要目录的配置是否符合访问控制策略。
010访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级。
1、判断主体是用户级、进程级还是其他什么;
2、判断客体是文件级、数据库表级还是其他什么;
3、访问控制策略合不合理,生不生效。
011应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
访谈管理员,主体和客体有没有参数能代表他们的安全、敏感等级。
cat /etc/selinux/config | grep SELinux 全是注释,未配置该功能
3安全审计
012应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。
Linux操作系统的auditd进程主要用于记录安全信息及对系统安全事件进行追溯,
rsyslog进程用于记录系统中的各种信息(例如硬件报警信息和软件日志)
systemctl status auditd 查看autitd运行状态,哩个就冇运行了
systemctl status rsyslog 查看 rsyslog 运行状态,如果没有rsyslog,可以试下 syslog
或者有第三方的审计软件。
013审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
tail -20 /var/log/audit/audit.log
tail -20 /var/log/message
查看最新的20条日志,审计记录应至少包括事件的日期和时间、用户、事件类型、事件是否成功
014应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等。
要询问管理员有没有定期备份的规定,并查看备份记录,如果没有就不符合
015应对审计进程进行保护,防止未经授权的中断。
非安全审计人员身份中断审计进程,验证审计进程的访问权限设置是否合理 (应为无法中断审计过程)。
4入侵防范
016应遵循最小安装的原则,仅安装需要的组件和应用程序。
询问管理员哪些是无关紧要的软件,没有自然就符合。
yum list installed 查找已安装的软件
017应关闭不需要的系统服务、默认共享和高危端口。
netstat -tlnp
-t - 显示 TCP 端口。
-u - 显示 UDP 端口。
-n - 显示数字地址而不是主机名。
-l - 仅显示侦听端口。
-p - 显示进程的 PID 和名称。
不需要的系统服务:
重点看一下alerter、remote registry service、messenger、task scheduler、server、print sploor是否开了
alerter:通知所选用户和计算机有关系统管理级警报。不必要的服务。
remote registry service:使远程用户能修改此计算机上的注册表设置。危险的服务。
messenger:俗称信使服务,电脑用户在局域网内可以利用它进行资料交换。会有垃圾邮件和垃圾广告,MSBlast和Slammer病毒
task scheduler:可以用来在未来某个时间运行程序。可以做后门。
server:共享文件夹。
print sploor:将文件加载到内存中以便稍后打印。有漏洞。
不存在默认共享。
高危端口:
端口
高危端口:TCP135、139、445、593、1025、2745、3127、6129等 UDP135、137、138、445等
018应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制。
cat /etc/hosts.allow,hosts.allow 文件用于控制可以访问本机的IP地址
cat /etc/hosts.deny , hosts.deny文件用于控制禁止访问本机的IP地 址
或者依靠硬件设备例如防火墙、交换机等
019应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求。
GB/T 28448-2019对此项测评指标的对象为业务应用系统、中间件和系统管理软件及系统设计文档,当前测评对象不适用。
020应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞。
有没有漏扫,没有打补丁记录,补丁最新版本多少。
021应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
内部:有没有安装主机入侵检测软件,能不能报警(短信、邮件等)
外部:有没有部署IPS(入侵检测系统)、IDS(入侵防御系统)
5恶意代码防范
022应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。
可信验证一般都没有,看操作系统有没有安装杀毒软件,看病毒库最新版本和当前版本,询问管理员病毒库的更新策略等
023可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。
1、通信设备(交换机、路由器等)具有可信根芯片或硬件;
2、启动过程基于可信根对系统引导程序、系统程序、重要配置参数和关键应用程序等进行可信验证度量;
3、在检测到设备的可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心;
4、安全管理中心可以接收设备的验证结果记录。