监控 /tmp 目录下无扩展名的恶意文件并自动将检测到的文件移到隔离区。

一、使用 OSSEC 监控 /tmp 目录中的无扩展名文件

1. 添加监控规则

在 /var/ossec/etc/rules/local_rules.xml 文件中添加以下内容:

<group name=”local,”>
<rule id=”100005″ level=”5″>
<decoded_as>syscheck</decoded_as>
<description>Suspicious file detected without extension in /tmp</description>
<field name=”filename”>/tmp/[^/]+</field>
<options>no_full_log</options>
</rule>
</group>

触发条件:

  • 文件位于 /tmp 目录
  • 文件名没有扩展名
  • OSSEC 的 syscheck 模块检测到了某些文件的创建、修改或删除事件

规则解释:

<group name=”local,”>

定义规则所属的分组。local 是分组名称,通常用于将特定的规则分组在一起,以便于管理和查找。

<rule id=”100005″ level=”5″>

id=”100005″: 唯一标识规则的 ID。每条规则都应该有一个独特的 ID,以便在日志中引用和管理。

level=”5″: 指定规则触发的严重性级别。级别范围通常从 0(信息)到 10(致命),级别越高表示问题越严重。级别为 5 表示中等严重性,通常需要注意,但不一定是紧急情况。

<decoded_as>syscheck</decoded_as>

规定该规则适用于的解码类型或事件类型。在这里,syscheck 表示这条规则适用于文件完整性检查的事件。

<description></description>

规则的简短描述,描述检测到的事件或情况。这有助于管理员理解规则的目的。

<field name=”filename”>/tmp/[^/]+</field>

要匹配的特定字段。在这里,它匹配的字段是 filename,表示被检测的文件名。

/tmp/:确保文件位于 /tmp 目录。

[^/]+:表示文件名可以是一个或多个非 / 字符,这样就可以匹配没有扩展名的文件名。

<options>no_full_log</options>

指定规则的额外选项。在这里,no_full_log 表示在记录事件时不输出完整日志,仅输出简短的信息。

2.配置响应策略

要在检测到无扩展名的恶意文件时自动将其移到隔离区,您需要在 OSSEC 中设置一个主动响应命令。

在 /var/ossec/etc/rules/local_rules.xml 中添加响应配置:

<command>
<name>move_to_isolation</name>
<command>/var/ossec/active-response/bin/move-to-isolation.sh</command>
<timeout>10</timeout>
</command>

然后,在 OSSEC 的响应配置文件中指定该命令。

打开 /var/ossec/etc/ossec.conf 文件,添加以下内容:

<active-response>
<command>move_to_isolation</command>
<level>5</level>
<location>local</location>
</active-response>

3. 创建移动脚本

创建一个名为 move-to-isolation.sh 的脚本,路径为 /var/ossec/active-response/bin/move-to-isolation.sh,并赋予其可执行权限:

sudo touch /var/ossec/active-response/bin/move-to-isolation.sh
sudo chmod +x /var/ossec/active-response/bin/move-to-isolation.sh

然后编辑该脚本,内容如下:

#!/bin/bash

# 获取文件路径作为参数
FILE=”$1″

# 设置隔离目录
ISOLATION_DIR=”/var/ossec/isolated_files”

# 创建隔离目录(如果不存在)
mkdir -p “$ISOLATION_DIR”

# 移动文件到隔离目录
mv “$FILE” “$ISOLATION_DIR”

# 记录操作
echo “Moved $FILE to $ISOLATION_DIR” >> /var/ossec/logs/isolated_files.log

4. 重启 OSSEC

在完成以上配置后,重启 OSSEC 服务以使更改生效:

sudo /var/ossec/bin/ossec-control restart

二、识别和处理恶意文件

1)结合其他检测工具

 

  • 病毒扫描: 使用集成的病毒扫描工具(如 ClamAV)定期扫描 /tmp 目录中的文件。可以通过设置定期扫描的计划任务或结合 OSSEC 的主动响应功能,将可疑文件提交给病毒扫描引擎进行检测。
  • 文件内容分析: 编写脚本自动分析文件的内容,例如检查是否包含恶意代码或可疑模式。这可以与 OSSEC 结合,通过规则和响应来执行。

2)引入文件信誉评分

可以使用一些外部的信誉数据库(如 VirusTotal)对检测到的无扩展名文件进行查验。您可以编写脚本,将文件哈希值提交到这些服务,查看文件是否被标记为恶意。

3)自动化处理

在 OSSEC 中,可以设置规则触发时执行自定义脚本。例如,您可以编写一个脚本,当检测到无扩展名文件时,自动将文件移动到隔离区并触发病毒扫描。

4)结合行为监控

监控 /tmp 目录下文件的访问模式和运行的进程。可疑的访问模式(例如,频繁创建无扩展名文件)可能是恶意活动的指标。

5)增强日志分析

查与文件相关的系统日志(如 auth.logsyslog)以识别是否存在异常行为,如频繁的文件创建、访问权限变化等。

优化 /var/ossec/active-response/bin/move-to-isolation.sh 文件:

#!/bin/bash

#!/bin/bash

# 获取文件路径作为参数
FILE=”$1″

# 设置隔离目录
ISOLATION_DIR=”/var/ossec/isolated_files”

# 创建隔离目录(如果不存在)
mkdir -p “$ISOLATION_DIR”

# 移动文件到隔离目录
mv “$FILE” “$ISOLATION_DIR”

# 记录操作
echo “Moved $FILE to $ISOLATION_DIR” >> /var/ossec/logs/isolated_files.log

# 执行 ClamAV 扫描
clamscan “$ISOLATION_DIR/$(basename “$FILE”)” >> /var/ossec/logs/clamav_scan.log

# 检查扫描结果
if [ $? -eq 0 ]; then
echo “Scan completed successfully for $(basename “$FILE”)” >> /var/ossec/logs/clamav_scan.log
else
echo “Scan detected a problem with $(basename “$FILE”)” >> /var/ossec/logs/clamav_scan.log
fi

 

 

作者 admin

百度广告效果展示