标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-581]   作者: ecawen 发表于: [2017-09-07]

本文共 [642] 位读者顶过

请教一个入侵感知建设的问题,如何利用Linux自身日志或审计系统记录进程启动信息(至少包括启动进程名与父进程名),类似于windows中的sysmon?

[出自:jiwo.org]

Answer 1

日志文件正则标准化处理以后,定时用命令通过syslog发出来,这个自身日志好像没有记录,应该能满足一般的审计要求吧。

Answer 2

用audit能捕获到,但是父进程是以PID形式给出,仍然需要处理。说到进程了,也要考虑网络连接是不是也应该记录下来。

Answer 3

内核有个netlink接口通知可以使用,每次进程启动的时候会通知进程PID以及父进程PID给应用层!Linux自身好像没有哪个日志或者审计系统会完全记录这个。



QUESTION

还是要外部脚本或客户端咯?


Answer

Sysmon基于底层驱动来做很多行为捕捉,Linux光靠系统自带很多行为捕捉不到。

脚本就可以,入侵比较小。需求多了,脚本日积月累,也就成了客户端,脚本or客户端,还是看具体需求。




Linux系统


拥有灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出需要的信息。


Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以会把它们写到日志文件中去。


完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。


审计提供了一种用来追踪用户活动的办法,在Unix/Linux中可以使用syslogd这样的一个守护进程来进行审计,通过配置这样的一个后台程序可以提供各种水平的系统审计和指定输出目录。



本文根据各位企业安全负责人在工作中常遇到的问题,整理了最常探讨的三类问题:


1  Auditd的日志量会有多大?


日志每天产生,数量难以统计。现在企业对安全人才紧俏,没有时间每天去检查日志,有些日志基本上就成为落尘的存储物。


But,audit可以加过滤条件,只对execve系统调用做监控,量可以保持不会很大。


2  子进程与父进程


父进程和子进程的关系是子进程是父进程的一个副本,创建子进程后,子进程会有自己的空间,然后把父进程的数据拷贝到子进程的空间里。运行时,谁先运行是不确定的,父子没有明确的先后顺序,有可能多次运行时的表现是不一样的。编程时,也不能依赖这个先后顺序。


子进程和父进程不是一个shell环境,子进程的变量不能传递给父进程,子进程结束时,所有子进程的变量都会消失。如果所有的进程都在一个shell环境里,想想会怎么样?不过有个指令可以是操作或脚本在当前shell下运行,而不是重新创建一个新的子进程。


3  采了这些东西,你们有什么CASE,用来发现啥?


说到点子上了,某些企业现在Linux只采集了系统日志和操作命令。因为内核只会给进程id,估计auditd也是用的netlink那个接口,是需要自己去做进程名关联。进程和网络连接监控 Linux下没听说有现成的工具。audit可以过滤,但是过滤完人工分析也很麻烦。Linux下主动防御可以看看ossec工具,pstrace和lkm这些来实现进程注入和拦截监控。


有一些较为明显的疑点:


比如windows下如果出现w3wp.exe调用起cmd.exe这就很可疑了;

Linux下tomcat的java进程调用起bash也是;

关于进程,父进程信息这个是用在检等webshell等远控的。


当然,这类的规则应该直接事前被拦截掉,不用在进程监控来处理,特别是进程启动阶段的分析。没有去监控进程行为,要第一时间发现那几个异常场景,应该相对比较困难。用户权限、进程调用的能力等,是非常已知的被入侵规则,拦不拦截这个可以控制,毕竟在互联网场景,拦截动作在一些行业是强需求。


大家对Linux日志与审计有问题,也欢迎留言提问或讨论。

评论

暂无
发表评论
 返回顶部 
热度(642)
 关注微信