一、安全计算环境
身份鉴别:
a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
linux操作系统查看uid对用户进行身份标识和鉴别,可以查看/etc/passwd文件,可以和访问控制a项一起查看。
密码复杂度查看 :cat /etc/security/pwquality.conf,因为练习机,我就不加了,也可以直接使用命令查看: chage -l 用户名 (这个方法需要root权限)
英语不好,下面是从大佬那里抄来的:等保测评-麒麟kylinOS_中标麒麟v10等保测试-CSDN博客
difok 代表不得与上次密码相同的字符个数;
minlen 为密码最小长度;
dcredit 为密码中最少包含数字的个数;
ucredit 为密码中最少包含大写字母的个数;
lcredit 为密码中最少包含小写字母的个数;
ocredit 为密码中最少包含特殊字符的个数;
maxrepeat 为密码中相同字符出现最多的次数;
usercheck 为检测密码是否与用户名相似。
数值为-1 时代表至少需要相应字符一位、数值为-2时代表需要需要相应字符两位,依次类推
然后是定期更换:cat /etc/login.defs 文件太长直接过滤一下
-
PASS_MAX_DAYS 后数值为密码最长有效期
-
PASS_MIN_DAYS 后数值为密码最短有效期
-
PASS_WARN_AGE 后数值为密码过期前告警天数
b) 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
查看登陆失败次数和锁定时间,看配置文件: vim /etc/pam.d/common-password,可以在文件
查看连接超时自动退出时间:cat /etc/profile ,文件里有TMOUT=‘秒数’,说明添加了设置 ,export TMOUT=300
c) 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
需要开启ssh服务,关闭telnet服务,因为前者加密,后者是明文传输
d) 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
核查用户登录服务器外是否还需要动态令牌等另一种验证
访问控制:
a) 应对登录的用户分配账户和权限;
查看用户文件:cat /etc/passwd 后缀/bin/bash为可登录的账户
b) 应重命名或删除默认账户,修改默认账户的默认口令;
kylin同Linux一样,默认账户root账户无法被重命名,检查root的口令是否修改
c) 应及时删除或停用多余的、过期的账户,避免共享账户的存在;
删除或停用多余、过期账户,避免账户共享
d) 应授予管理用户所需的最小权限,实现管理用户的权限分离;
查看是否设置了三权分立,需要拥有系统管理员、安全管理员、审计管理员。
查看文件:cat /etc/passwd
查看用户的权限是否合理,其他用户不应拥有roo权限,sudo权限查看:cat /etc/sudoers (101行)
e) 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
查看是否设置了acl:使用getfacl+路径 :getfacl /root (-c参数可以去除注释)
解释:分别代表用户、组、其他的权限。第一个:后面是可以加具体名称,第二个:后面是文件权限
比如: user:root:rwx 这个代表了/root目录只有root用户可以执行读、写、执行的权限
f) 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
查看敏感文件权限,文件权限需要在644以下
g) 应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
getenforce //查看selinux级别
SELinux是一个内核级别的安全机制,是对于强制访问控制的实现。在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件,提供了强有力的安全保护。
Disabled:关闭
Permissive:宽松模式(仅告警)
Enforcing:强制模式
安全审计
a) 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计;
查看安全审计服务、日志是否正常: systemctl status auditd systemctl status rsyslog
进程是否开启: ps -ef | grep auditd ps -ef | gref rsyslog
查看审计日志最后 20行: tail -20 /var/log/audit/audit.log
因为是刚装的,安全服务audit没开,这里就不截图了
b) 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;
查看审计日志最后 20行: tail -20 /var/log/audit/audit.log
c) 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等;
(1) 访谈系统管理员,了解审计记录的存储、备份和保护措施。
(2) 核查是否定时将操作系统日志发送到日志服务器等,如果部署了日志服务器,则登录日志服务器,核查被测操作系统的日志是否在收集范围内。
重要操作、安全事件日志的留存时间不少于六个月
d) 应对审计进程进行保护,防止未经授权的中断。
ps -elf | grep -E 'rsyslogd|auditd' //查询守护进程是否开启
入侵防范
a) 应遵循最小安装的原则,仅安装需要的组件和应用程序;
yum list installed 或者dpkg -l
b) 应关闭不需要的系统服务、默认共享和高危端口;
查看开启的端口:netstst -antupl
查看开启的服务: systemctl | grep running
c) 应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制;
管控接入终端的方法有很多种,这里主要是看白名单与黑名单的文件
查看黑名单文件: cat /etc/hosts.deny (ALL:ALL 禁止所有请求)
查看白名单文件: cat /etc/hosts.allow (有限制ip及方式)
例如:sshd:192.168.1.10/255.255.255.0
e) 应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞;
定期进行漏洞扫描,发现安全风险后及时进行抢修
f) 应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
是否在网络链路或者主机本身上安装安全设备(软件或硬件都行),并可识别入侵事件并提供报警
恶意代码防范:
应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。
(1) 部署了网络版防病毒软件,病毒库为最新版本,支持防恶意代码统一管理。
(2) 部署了主动免疫可信验证机制,可及时阻断病毒入侵行为。
可信验证:
可基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心。