审计日志模式的安全监控
砖的计算资源经典的数据平面,比如虚拟机集群和pro或经典SQL仓库,使额外的监控代理有以下特点:
对于serverless SQL仓库、监视代理如果合规启用安全性配置文件和运行该地区支持serverless SQL仓库与合规安全概要文件。
这些特性的监视工具的输出数据砖内是可用的审计日志。
访问日志:
作为一个管理员,设置审计日志交付你自己的Amazon S3 bucket。
定期检查日志基于以下部分的新行。
模式文件完整性监测
审计日志的总体模式,看到审计日志模式示例。
审计日志字段重要文件完整性监测:
名
:总是capsule8-alerts-dataplane
。时间戳
:时间,这个事件创建的工具。workspaceId
:工作区与这个事件有关。requestId
原始事件:独特的UUID。requestParams
:这个JSON对象总是只有一个请求参数instanceId
场,这是实例id
(主机)的ID发出这个审核日志条目。响应
:一个JSON对象。这总是一个
statusCode
属性设置为200。一个
结果
字段包含原始JSON值的事件。JSON可以随检测触发它。为完整的模式参考,见下面第三方文件条警惕JSON模式。JSON值编码为一个字符串对象,而不是一个嵌套的JSON值,所以期待逃引用标志如下:“响应”:{“statusCode”:200年,“结果”:“{\“actionName \”, \“Wget计划黑名单\“}”}
accountId
这个工作区:砖帐户ID。auditLevel
:总是WORKSPACE_LEVEL
。actionName
:动作名称。下列值之一:心跳
:一个常规事件确认监控。目前每10分钟运行一次,但这在未来可能会改变。内存标志着可执行的
通常为:内存执行为了让恶意代码执行当应用程序被剥削。警报当一个程序集堆或堆栈内存可执行权限。这可能会导致假阳性对某些应用程序服务器。文件完整性监控
:监控重要的系统文件的完整性。警报在任何未经授权的更改这些文件。砖定义特定的系统路径集的图像,和这组路径可能随时间改变。Systemd单位文件修改
:改变systemd单位可能导致安全控制放松或禁用,或恶意的安装服务。警报时systemd
文件修改的程序以外的单位systemctl
。重复程序崩溃
:重复程序崩溃可能表明攻击者正试图利用内存腐败漏洞,或者有一个受影响的应用程序的稳定问题。警报当超过5个人的实例程序崩溃通过段错误。Userfaultfd使用
:某些Linux功能几乎完全利用时使用内核漏洞,通常与特权升级的目标。警报当一个二进制执行userfaultfd
系统调用。新文件执行在容器
:容器通常是静态的工作负载,这个警报可能意味着,攻击者破坏容器,并试图安装和运行一个后门。警报当文件被创建或修改在30分钟内执行一个容器。可疑的互动壳牌
:交互式shell是罕见的出现在现代生产的基础设施。警报当交互式shell启动参数通常用于反向贝壳。用户命令日志记录逃避
:逃避命令日志对攻击者是常见的做法,但也可能表明一个合法的用户执行未经授权的操作或试图逃避政策。警报当改变用户命令历史记录发现,表明用户试图逃避命令日志记录。带通滤波器程序执行
:检测某些类型的内核后门。加载一个新的伯克利包过滤(瘘)计划可能意味着,攻击者是加载BPF-based rootkit获得持久性和避免检测。警报当进程加载一个新的特权带通滤波器程序,如果过程已经进行的一个事件。内核模块加载
:攻击者通常加载恶意内核模块(rootkit)逃避检测和维护持久性妥协节点上。提醒一个内核模块加载时,如果程序已经持续事件的一部分。可疑的程序的名字Executed-Space后文件
:攻击者可以创建或重命名恶意二进制文件包括一个空间的名称以伪装成合法的系统程序或服务。警报当程序执行程序名后的空间。非法海拔高度的特权
:内核特权升级利用通常允许非特权用户获得根权限没有通过标准盖茨权限更改。警报当一个程序试图通过不寻常的手段提升特权。这可以假阳性问题警报与重要节点的工作负载。内核利用
:内部不定期访问内核函数程序,如果,是一个强大的内核开发执行指标,攻击者可以完全控制节点。警报当内核函数出人意料地返回用户空间。处理器保护禁用
:SMEP和SMAP处理器内核利用成功的保护,增加困难,和禁用这些限制是一种常见的内核利用早期的一步。警报当程序篡改内核SMEP / SMAP配置。容器逃避通过内核剥削
警报:当一个程序使用内核函数中常用容器逃脱利用,表明攻击者从container-access特权升级到节点访问。享有特权的容器推出了
:特权容器直接访问主机资源,导致受损时影响更大。警报特权容器启动时,如果容器不是一个已知的特权kube-proxy等形象。这可以为合法特权容器问题不必要的警报。用户态容器逃避
:许多容器逃强迫主机执行二次容器内,导致攻击者获得完全控制受影响的节点。警报当container-created文件执行以外的一个容器。AppArmor对禁用在内核
:修改某些AppArmor对属性只能发生内核,表明AppArmor对已禁用内核开发或rootkit。AppArmor对状态改变时警报从AppArmor对配置传感器启动时检测到。AppArmor对配置文件修改
:攻击者可以尝试禁用执行AppArmor对配置文件作为逃避检测的一部分。警报执行命令修改AppArmor对概要文件时,如果它不是由用户执行SSH会话。引导文件修改
:如果不是由一个可信的源(如包管理器或配置管理工具),修改启动文件可以表明攻击者修改内核或它的选项,以获得持续访问主机。更改文件时警报/ boot
,表明安装一个新内核或启动配置。日志文件删除
:日志删除不是由一个日志管理工具可能表明攻击者正试图删除指标的妥协。警报在删除系统日志文件。新文件执行
:新创建的文件系统更新程序以外的来源可能是后门,内核利用或开发链的一部分。警报,当一个文件被创建或修改在30分钟内就执行,不包括文件由系统更新程序。根证书商店修改
:修改根证书存储可以表明一个流氓证书颁发机构的安装,使拦截网络流量或绕过代码签名验证。警报系统CA证书存储时改变。Setuid / Setgid位集在文件
:设置setuid
/setgid
位可以用来提供一个持久的方法为特权升级节点。警报时setuid
或setgid
设置在一个文件修改文件权限
系统调用的家庭。隐藏的文件创建
:攻击者经常创建隐藏文件的模糊工具和有效载荷破坏主机上。警报当创建一个隐藏的文件的过程与一个正在进行的事件。修改的常见的系统公用事业公司
:攻击者可能会修改系统实用程序,以执行恶意载荷时这些实用程序正在运行。警报时,一个常见的系统实用程序是由未经授权的修改过程。网络服务扫描仪执行
:攻击者或恶意用户可能使用或安装这些程序调查连接网络的附加节点妥协。警报当常见的网络扫描程序执行的工具。网络服务创建
:攻击者可能会启动一个新的网络服务提供方便地访问主机后妥协。警报程序启动一个新的网络服务时,如果程序已经持续事件的一部分。网络嗅探程序执行
:攻击者或流氓用户可以执行网络嗅探命令获取证书,个人身份信息(PII),或其他敏感信息。警报当程序执行,允许网络捕获。远程文件复制检测到
:文件传输工具的使用可能表明攻击者正试图工具集移动到其他主机或漏出数据到远程系统。警报当一个程序与执行远程文件复制,如果程序已经持续事件的一部分。不寻常的出站连接检测到
:命令和控制通道和cryptocoin矿工经常创建新的出站端口上的网络连接。警报当程序启动一个新的连接在一个不常见的端口,如果程序已经持续事件的一部分。数据存档通过程序
:进入系统后,攻击者可以创建一个压缩的档案文件的文件,以减少漏出的数据的大小。警报当执行数据压缩程序,如果程序已经持续事件的一部分。过程注射
:使用过程注入技术通常表明用户调试一个程序,但也可能表明攻击者是阅读秘密或向其他进程注入代码。当一个程序使用警报ptrace
(调试)机制与另一个进程进行交互。账户枚举通过程序
:攻击者往往会利用账户枚举程序确定的访问级别,看看其他用户正在登录节点。警报当程序执行与账户相关的枚举,如果程序已经持续事件的一部分。文件和目录发现通过程序
:探索文件系统是常见的post-exploitation行为攻击者寻找感兴趣的凭证和数据。警报当一个程序与文件和目录执行枚举,如果程序已经持续事件的一部分。网络配置枚举通过程序
:攻击者可以询问当地网络和路由信息来确定相邻的主机和网络的横向运动。警报当一个程序与执行网络配置枚举,如果程序已经持续事件的一部分。过程枚举通过程序
:攻击者经常运行程序列表以确定节点的目的和是否安全或监视工具。警报当一个程序与流程执行枚举,如果程序已经持续事件的一部分。系统信息枚举通过程序
:攻击者通常执行系统枚举命令确定Linux内核和发行版本和特性,通常确定如果节点是受特定的漏洞。警报当一个程序与系统信息执行枚举,如果程序已经持续事件的一部分。计划任务修改通过程序
:修改预定的任务是一种常见的方法建立持久性妥协节点上。警报时定时任务
,在
,或批处理
命令用来修改计划任务配置。Systemctl使用检测到
:改变systemd单位可能导致安全控制放松或禁用,或恶意的安装服务。警报时systemctl
命令是用来修改systemd单位。用户执行的苏命令
:明确升级根用户减少的能力相关联的特权活动到一个特定的用户。警报时苏
命令执行。用户执行的sudo命令
:警报时sudo
命令执行。用户命令历史清除
:删除历史文件是不寻常的,通常由攻击者隐藏活动,或通过合法用户有意规避审计控制。警报当命令行历史文件删除。新系统用户添加
:攻击者可能会添加一个新用户主机提供一个可靠的访问方法。警告如果一个新用户实体添加到本地帐户管理文件/ etc / passwd
如果实体没有补充说,系统更新程序。密码数据库修改
:攻击者可以直接修改标志文件系统添加一个新用户。警报当文件与用户密码修改的程序与更新现有用户信息无关。SSH授权键修改
:添加一个新的SSH公钥是一种常见的方法,获得持续访问主机。警报当试图写入用户的SSHauthorized_keys
文件被观察到,如果程序已经持续事件的一部分。用户账户创建通过CLI
:添加一个新用户是一种常见的一步攻击者在建立持久性妥协节点。警报当一个身份管理程序执行一个程序包管理器。用户配置变化
:用户配置文件和配置文件经常修改的方法坚持以用户登录时执行一个程序。警报当. bash_profile bashrc(以及相关文件)(一个程序修改系统更新工具。
下面是一个示例文件完整性监控审核日志条目:
{“版本”:“2.0”,“时间戳”:1625959170109,“workspaceId”:“2417130538620110”,“名”:“capsule8-alerts-dataplane”,“actionName”:“Wget程序黑名单”,“requestId”:“318 a87db - 4 cfe - 4532 - 9110 - 09 - edc262275e”,“requestParams”:{“instanceId”:“i-0a3c9d63bb295eb4f”},“响应”:{“statusCode”:200年,“结果”:“< original-alert-json >”},“accountId”:“82 d65820 b5e4 - 4 - ab0 96 - e6 0 - cba825a5687”,“auditLevel”:“WORKSPACE_LEVEL”}
模式的防病毒监测
审计日志的总体模式,看到审计日志模式示例。
重要的审计日志字段杀毒监控:
名
:总是clamAVScanService-dataplane
。actionName
:总是clamAVScanAction
。时间戳
:当工具生成此日志行。workspaceId
:工作区ID与此相关日志。requestId
为原始扫描事件:独特的UUID。requestParams
:这个JSON对象总是只有一个请求参数instanceId
场,这是实例id
(主机)的ID发出这个审核日志条目。响应
:这是反应总是有一个JSON对象statusCode
200年和一个结果
场,包括一行的原始扫描结果。每个扫描结果表示通常由多个审计日志记录、原始扫描的每一行输出。可能出现在这个文件的详细信息,参见下面的第三方文件。accountId
:砖帐户ID与此相关的日志。auditLevel
:总是WORKSPACE_LEVEL
。
下面是一个例子杀毒审核日志条目显示的扫描的开始response.result
字段:
{“版本”:“2.0”,“时间戳”:1625959170109,“workspaceId”:“2417130538620110”,“名”:“clamAVScanService-dataplane”,“actionName”:“clamAVScanAction”,“requestId”:“318 a87db - 4 cfe - 4532 - 9110 - 09 - edc262275e”,“requestParams”:{“instanceId”:“i-0a3c9d63bb295eb4f”},“响应”:{“statusCode”:200年,“结果”:“开始每日clamav扫描:我2021年10月25日06:25:01 UTC \ \ n”},“accountId”:“82 d65820 b5e4 - 4 - ab0 96 - e6 0 - cba825a5687”,“auditLevel”:“WORKSPACE_LEVEL”}
一个例子杀毒日志文件:
- - - - - - - - - - - -总结- - - - - - - - - - - -已知的病毒扫描:8556227引擎版本:0.103.2扫描目录:6扫描文件:446被感染文件:0数据扫描:74.50 MB数据读:164.43 MB(比0.45:1)时间:37.874秒(0米37秒)开始日期:2021:07:27 21:47:36结束日期:2021:07:27 21:48:14
系统日志模式
审计日志的总体模式,看到审计日志模式示例。
重要的系统日志审计日志字段:
名
:总是syslog
。actionName
:总是processEvent
。时间戳
:系统日志生成这个日志的时候行。workspaceId
:工作区ID与此相关日志。requestId
:独特的UUID为原系统日志事件。requestParams
:这个请求参数JSON对象有以下键:instanceId
:实例id
(主机)的ID发出这个审核日志条目。processName
:内部生成的过程,这一事件的名称。这个字段是用于先进的诊断和其内容如有更改,恕。
响应
:一个JSON对象statusCode
200年和一个结果
领域,包括原来的系统日志内容。accountId
:砖帐户ID与此相关的日志。auditLevel
:总是WORKSPACE_LEVEL
。
系统日志的事件:一个例子
{“版本”:“2.0”,“时间戳”:1633220481000,“workspaceId”:“2417130538620110”,“sessionId”:“2710”,“名”:“syslog”,“actionName”:“processEvent”,“requestId”:“1054 f4c8 - 741 d - 3 - d80 b168 ca2cb891aa7a”,“requestParams”:{“instanceId”:“i-00edf5b73b4c68221”,“processName”:“<进程名称>”},“响应”:{“statusCode”:200年,“结果”:“< > syslog内容”},“accountId”:“82 d65820 b5e4 - 4 - ab0 96 - e6 0 - cba825a5687”,“auditLevel”:“WORKSPACE_LEVEL”}
模式的过程监控
审计日志的总体模式,看到审计日志模式示例。
重要的审计日志字段过程监控日志:
名
:总是monit
。actionName
:下列之一:processNotRunning
(监控正在运行),processRestarting
(监视器是重新启动),processStarted
(监视器开始),或processRunning
(监控正在运行)。时间戳
:监控日志生成这个日志的时候行。workspaceId
:工作区ID与此相关日志。requestId
:独特的UUID为原系统日志事件。requestParams
:这个请求参数JSON对象有以下键:instanceId
:实例id
(主机)的ID发出这个审核日志条目。processName
:被监控内部过程的名称。这个字段是用于先进的诊断和其内容如有更改,恕。
响应
:一个JSON对象statusCode
200股。accountId
:砖帐户ID与此相关的日志。auditLevel
:总是WORKSPACE_LEVEL
。
一个示例事件过程监控日志:
{“版本”:“2.0”,“时间戳”:1626857554000,“workspaceId”:“2417130538620110”,“名”:“monit”,“actionName”:“processRestarting”,“requestId”:“48 bb4060 - 7685 - 3 - a19 9 -数据备份系统——f83d2afaf346”,“requestParams”:{“instanceId”:“i-0c48619b79d4056f2”,“processName”:“<进程名称>”},“响应”:{“statusCode”:200年},“accountId”:“82 d65820 b5e4 - 4 - ab0 96 - e6 0 - cba825a5687”,“auditLevel”:“WORKSPACE_LEVEL”}