想监控内网传输的文件?用Suricata这个功能就够了

admin 2026-03-30 00:22:02 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档详细介绍了利用Suricata进行内网文件传输监控的具体配置方法。主要步骤包括创建存储目录、修改配置文件开启文件提取功能、编写特定协议的提取规则以及通过测试验证提取效果。需开启file-store模块并设置哈希校验,规则编写需覆盖HTTP、SMTP等协议,最终文件以SHA256命名存储。 综合评分: 75 文章分类: 安全工具,实战经验,安全建设


cover_image

想监控内网传输的文件?用Suricata这个功能就够了

原创

网络安全菜鸟 网络安全菜鸟

安全孺子牛

2026年3月25日 22:58 陕西

植此青绿 拥抱春天

1.简介

Suricata本身支持文件提取功能,只需要配置suricata.yaml中相关的配置项,并构建相应的文件提取规则,Suricata即可基于规则实现对网络流量的文件提取。

1.1创建文件提取路径

# 文件路径
mkdir -p /var/log/suricata/files

1.2开启文件提取功能

vim /etc/suricata/suricata.yaml

- file-store:
    # This configures version 2 of the file-store.
    version: 2

    enabled: yes   #默认为不记录,开启记录

    # 设置文件存储目录。如果路径不是绝对路径,则相对于default-log-dir。
    dir: filestore

    # 为每次出现的文件写出一个fileinfo记录。默认情况下是禁用的,因为每次出现都已作为fileinfo记录记录到主eve日志中。
    write-fileinfo: yes

    # 强制存储所有文件。默认值:否。
    # force-filestore: yes

    # 覆盖我们要在其中执行文件提取的会话的全局流深度。设置为0表示无限制。
    stream-depth: 0

    # 取消注释以下变量,以定义Suricata可以为文件存储保持打开状态的文件数。默认值为0,这意味着每次写入后文件都会关闭
    max-open-files: 1000

    # 强制记录校验和,可用的哈希函数为md5,sha1和sha256。请注意,使用此输出模块会自动强制使用SHA256,因为它使用SHA256作为文件命名方案
    force-hash: [sha1, md5]

1.3测试文件提取

1)编写文件提取规则

注:必须有提取规则才能提取文件

cat > /root/test.rules << EOF
alert http any any -> any any (msg:"http file store all";flow:established,to_server;filestore;sid:1667;rev:331;)
alert smtp any any -> any any (msg:"smtp file store all";flow:established,to_server;filestore;sid:1668;rev:331;)
alert ftp-data any any -> any any (msg:"ftp file store all";flow:established,to_server;filestore;sid:1669;rev:331;)
alert nfs &nbsp;any any -> any any (msg:"nfs file store all";flow:established,to_server;filestore;sid:1670;rev:331;)
alert smb &nbsp;any any -> any any (msg:"smb file store all";flow:established,to_server;filestore;sid:1671;rev:331;)
EOF

2)抓取数据包

tcpdump -i ens33 &nbsp;-w http.pcap

3)测试文件提取

mkdir -p /opt/suricata
suricata -c /etc/suricata/suricata.yaml -S &nbsp;/root/test.rules -r http.pcap -k none -l /opt/suricata/

-c              # 指定配置文件
-S &nbsp; &nbsp; &nbsp; # 选项仅加载指定的规则文件,如果在suricata.yaml中启用了任何其他规则,则忽略它
-k &nbsp; &nbsp; &nbsp; # all:检测check_sum,none:不检测
-r &nbsp; &nbsp; &nbsp; # 指定pacp文件位置
-l &nbsp; &nbsp; &nbsp; # 指定输出位置

4 )查看文件名称和sha256

# 安装json解析文件
yum -y install jq

# 查看文件名称和sha256,上传的文件以sha256命名
more /opt/suricata/eve.json | grep filename | jq .fileinfo | jq ".filename,.sha256"

5 )查看文件

文件指定为指定的目录,与日志存放在一起。

文件存储在以sha256前两个值目录中

下载的文件是以jpg后缀的txt文件

file ba92cb29fbf84ffefd135ce7d833ef3eb415c3307a5c0d87ceaee1be91d05398

more ba92cb29fbf84ffefd135ce7d833ef3eb415c3307a5c0d87ceaee1be91d05398

the end


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全孺子牛 网络安全菜鸟 网络安全菜鸟《想监控内网传输的文件?用Suricata这个功能就够了》

评论:0   参与:  0