1. 基线检测简介
数字中国时代,企业数字化转型不断深化,云安全市场发展持续高增,其安全更需自主可控、全程可信。病毒和黑客会利用服务器存在的安全配置缺陷入侵服务器盗取数据或是植入后门。基线检查功能针对服务器操作系统、数据库、软件和容器的配置进行安全检测,可以加固系统安全,降低入侵风险并满足安全合规要求。基于此,众多云厂商在其安全产品中增加基线检测的功能,保障云上资源的安全性,例如移动云和启明星辰共同打造了移动云|星辰安全品牌,聚力协行共筑安全云的压舱石,携手共塑中国云安全产业发展新格局。
2. 基线检测意义
服务器安全基线在信息安全防护中有着极其重要的意义,主要体现在以下三个方面:
恶意人员/代码直接利用安全基线弱点攻击服务器乃至其承载的服务器系统;例如由于未部署服务器账户口令复杂性策略,导致暴力猜测服务器管理员口令。
恶意人员/代码综合软件漏洞和安全基线弱点攻击服务器乃至其承载的服务器系统,这种情况下单独的软件漏洞可能并不能被利用来直接攻陷服务器系统,但由于安全基线不严格,导致两者结合被利用,常见例子包括网站代码包括一个上传漏洞,同时由于网站[ 虚拟主机 目录权限配置不严格,允许该目录下的文件具有执行权限,恶意人员可以直接上传木马程序到网站服务器上并远程执行。
同时,恶意人员/代码一旦攻击服务器系统成功后,下一步行动是需要建立后门或将移植的攻击代码隐藏起来,以便建立起长期有效的秘密控制通道,为实现这个目的,最常见的方法就是修改服务器安全配置,降低该服务器的安全基线,例如私开远程连接服务、添加秘密操作系统账号等。
结合上述分析,安全配置基线一方面是防范内外部恶意攻击的重要手段,同时生产服务器安全基线的变化也是发现恶意攻击/行为的重要手段,特别是当各种主动防御设备(防火墙、防病毒软件、入侵检测系统等)均被绕过时,往往安全基线设置是否严格以及是否产生变化成为防范恶意攻击的最后一道防线。
3. audit概述
audit是linux安全体系的重要组成部分,是一种“被动”的防御体系。在内核里有内核审计模块,记录系统中的各种动作和事件,比如系统调用,文件修改,执行的程序,系统登入登出和记录所有系统中所有的事件,它的主要目的是方便管理员根据日记审计系统是否允许有异常,是否有入侵等等,一言以蔽之就是把和系统安全有关的事件记录下来。在进行安全检查或者溯源时,我们能够通过audit日志文件快速排查系统异常。
3.1 auditd
auditd(或 auditd 守护进程)是Linux审计系统中用户空间的一个组件,其负责将审计记录写入磁盘(大部分操作系统中已经默认安装)可以通过 以下命令查看auditd状态,以及开启auditd服务。
# systemctl status auditd //查看auditd状态(active表示正在运行)
# systemctl --now enable auditd //启用auditd服务
3.2 audit配置文件
audit相关配置文件在**/etc/audit**目录下主要包括以下文件:
audit.rules:当前系统中永久生效的audit规则
audit.conf:audit的基本配置,如日志文件保存的位置,日志文件大小等
**rules.d/audit.rules:**通过编辑此文件添加或修改audit规则(重启auditd后规则生效:service audit restart)
audit.rules.perv:这是之前使用的审计规则文件的备份或旧版本。通常更改审计规则文件时,系统会保留先前的版本作为备份。
plugins.d:audit相关插件存放目录
audit-stop.rules: 这是一种特殊类型的审计规则文件,用于指定在停止审计守护进程 (auditd) 时要执行的操作。通常,这些规则用于清理和关闭审计日志记录
3.3 auditd相关命令
1. auditctl 即时控制审计守护进程的行为
我们可以直接通过auditctl 新增临时规则,在操作系统重启后新增的规则会被清除。如:auditctl -w [path] -p [rwxa] -k [value] 审核对特定文件或目录的任何类型的访问
auditctl -l 可以列出所有已设置的规则,我们可以用此命令查看新增的命令是否已经在系统中生效。
auditctl -D 清空所有规则
auditctl -d 清除一条规则
2. ausearch 查找审计事件
日志文件通常记录着庞大的数据,当我们想要查看某个规则是否触发时可以通过 ausearch -k [value] 快速找到此关键字对应规则的相关日志情况。
如 我们使用 如下命令监控对passwd文件的修改
# auditctl -w /etc/passwd -p wa -k identity
通过auditctl -l 列出已生效的命令,当前规则已配置成功。
当我们想查看此条规则是否被触发时,可以通过如下命令 快速查找日志中是否记录了passwd文件的修改情况。
# ausearch -k identity
下面对上图中的audit日志记录进行简要分析:
时间戳:
time->Tue Nov 14 17:43:45 2023
表示日志记录的时间戳为2023年11月14日17:43:45。