如何利用 Linux Audit 保护进程安全? (linux audit 保护进程)
作为一种开放源代码的操作系统,Linux 不仅稳定、高效、安全,同时也被越来越多的企业、开发者和安全专家所青睐。然而,随着技术的不断发展,Linux 系统的安全性亦面临着新的威胁和挑战。如何在保障系统功能完整性的同时,保证Linux 系统进程安全呢?这时候就需要借助 Linux 的 Audit 功能。
1. 什么是 Linux Audit?
在 Linux 系统中,Audit 是一种源于内核的行为审计框架,可用于记录对系统中某个对象的访问、更改等行为。一旦启用 Audit 功能,系统将会对所监控的对象进行记录,这些对象包括进程、口令、审核规则等等。
在 Linux 系统中,Audit 被广泛用作执行安全审核和监测 Linux 系统中各个用户、进程和服务活动行为的工具,主要应用于 IT 安全、合规性审计、重要数据防护等方面。
2. 如何使用 Linux Audit?
启用 Audit 功能:
在 RedHat/CentOS 操作系统中,要启用 Audit 功能,需要进行如下步骤:
2.1 安装 Audit 工具包
[root@localhost ~]# yum install audit
2.2 启动 Audit 守护进程:
[root@localhost ~]# systemctl start auditd.service
2.3 查看 Audit 服务的启动状态:
[root@localhost ~]# systemctl status auditd.service
运行命令后,可看到 Audit 服务被成功启用的状态。
记录系统变更:
启动完成后,就可以使用 auditctl 命令进行查看或设置规则,设置需要审计的事件。例如,若要对用户登录、更改权限、重启所生效的任何更改等进行审计,可在终端输入以下命令:
[root@localhost ~]# auditctl -w /etc/shadow -p rwxa -k shadow-change
[root@localhost ~]# auditctl -w /etc/group -p rwxa -k group-change
[root@localhost ~]# auditctl -w /etc/passwd -p rwxa -k passwd-change
[root@localhost ~]# auditctl -w /etc/sudoers -p rwxa -k sudoer-change
其中,”-w” 参数指定了需要审计的文件或目录,”-p” 参数指定了文件操作方式,”-k” 参数指定了一个关键词以便于查找 Audit 日志。
显示系统变更日志:
以上步骤完成后,就可以查看系统的审计日志了。Linux 系统的审计日志记录在 /var/log/audit/audit.log 中,使用 ausearch 工具可以对审计日志进行查询。
[root@localhost ~]# ausearch -f /etc/passwd
使用 ausearch 工具可查询所关心的内容,并进行审理分析,从而帮助管理员及时发现系统的变更、入侵事件和漏洞等宏观信息。而对于入侵和风险分析专家,可以进一步通过可视化的方式查询审计日志,例如通过 BindPlane 平台接入 Elastic Stack、微软 Sentinel 及 Google Chronicle 等多种产品,或使用 Graylog、LogRhythm 等邮件、短信或手机客户端进行高效的实时告警和响应工作。
3. 如何保护进程安全?
由此可见,Linux Audit 工具可以方便、快捷地实现系统变更的记录和查询,在不同层次上为 IT 管理员、风险管理员及入侵分析、安全审计和合规性监督等专业人士提供了很好的支持和保障。
在具体应用中,如何利用 Audit 工具保障 Linux 系统中进程的安全呢?
保护进程安全的核心在于识别进程、记录进程行为以及监测和预防进程异常行为,针对不同的威胁因素,可通过定义审计规则保证系统进程的安全。
3.1 识别进程
针对不同的应用场景,管理员需要确定需要审计的进程,一般情况下,可按进程的重要性、访问频率等因素进行识别,以确保审计过程的实际价值。
3.2 记录进程行为
Audit 工具能够帮助管理员记录进程行为,并可筛选、筛选并移除无关记录,以便于管理员快速地定位需要审计的数据。
例如,对于 Apache 进程,管理员可通过以下命令进行配置:
[root@localhost ~]# auditctl -w /usr/in/httpd -p xr -k httpd
[root@localhost ~]# auditctl -w /var/log/httpd -p wa -k httpd
其中,之一个命令表示对进程路径 /usr/in/httpd 的执行情况进行审计,类型为 exe(执行),如果出现了相关事件,则记录该键值 k=httpd条目。第二个命令表示对/var/log/httpd 目录的文件更改情况进行审计,类型为write、append,记录 k=httpd。
3.3 监测和预防进程异常行为
在审计日志中,除了对应用及进程路径的执行行为进行审计之外,还可进行异常行为的监测,以便于及时发现潜在的威胁因素。
例如,可针对 Apache 进程的异常行为进行审计:
[root@localhost ~]# auditctl -a exit,always -F arch=b64 -S setresuid,setresgid,setgroups,fchown,chown,fchownat,chmod,fchmodat -F path=/usr/in/httpd -k httpd
其中,arch=b64 表示观察 64 位机器上的进程异常行为,path=/usr/in/httpd 表示观察这个路径上的 HTTP 服务器,-S 参数指定套件各种系统调用,例如,setresuid, setresgid 等都是更改 UID、GID、权限以及目录或文件的权限变更相关系统调用。
4.
由此可见,使用 Linux Audit 工具进行进程安全控制能够为企业和个人带来很好的支持和保障。在应用 Audit 工具时,需要确保审计规则的科学性和完备性,及时修补潜在的漏洞,并通过可视化的方式对审计日志进行分析,从而更好地保护系统和进程的安全。wwwnci.top