mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1883 字
5 分钟
7天捕获4197次攻击:我的蜜罐部署实战笔记
2026-06-15

7天捕获4197次攻击:我的蜜罐部署实战笔记#

说实话,最开始部署蜜罐纯粹是好奇——想知道我的服务器每天都在被谁扫。结果一部署才发现,互联网上比我想象的”热闹”多了。

这篇文章记录了我从零搭建蜜罐矩阵的全过程,包括踩过的坑、7天内捕获的真实攻击数据,以及一些安全加固的经验。如果你也想了解自己服务器的安全状况,这篇文章应该能帮到你。

一、为什么我要部署蜜罐#

事情是这样的:我有一台阿里云 ECS 跑着个人博客,配置不高(1.8GB 内存),但我想知道这台服务器每天都在经历什么。

之前看过一些安全报告说”暴露在公网的服务器每分钟都会被扫描”,我一开始没当回事。直到我看了 SSH 登录日志——每天都有几十次暴力破解尝试,来自世界各地的 IP。

于是我决定:部署蜜罐,看看这些攻击者到底在干什么。

二、蜜罐选型:我踩过的坑#

2.1 最初的选择:HFish#

一开始我选了 HFish,一个国产蜜罐,有 Web 管理界面,看起来很方便。但部署后发现一个问题:它吃了 1.1GB 内存。我的服务器总共才 1.8GB,这直接把内存占满了。

教训:选蜜罐一定要看资源占用,别被功能多迷惑了。

2.2 最终方案:Cowrie + 自定义 Web 蜜罐#

后来我换了方案:

  1. Cowrie(Docker 部署)— SSH/Telnet 蜜罐,只吃 56MB 内存
  2. 自定义 Web 蜜罐(Python)— 模拟 phpMyAdmin、WordPress 等高价值目标,只吃 8.8MB

两个蜜罐加起来不到 70MB,比 HFish 轻了 15 倍。

2.3 为什么选择这个组合#

  • Cowrie 负责捕获 SSH 暴力破解和命令执行
  • Web 蜜罐 负责捕获 Web 攻击(SQL 注入、XSS、文件上传)

两者互补,覆盖了最常见的攻击面。

三、Cowrie 部署:Docker 一把梭#

Cowrie 的部署很简单,Docker 一把梭:

`ash

创建工作目录#

mkdir -p /opt/honeypots && cd /opt/honeypots

创建 docker-compose.yml#

cat > docker-compose.yml << ‘EOF’ services: cowrie: image: cowrie/cowrie container_name: cowrie restart: always ports: - “2222:2222” - “2223:2223” volumes: - cowrie-data:/cowrie/cowrie-git/var environment: - COWRIE_TELNET_ENABLED=yes deploy: resources: limits: memory: 512M cpus: “0.5” logging: driver: json-file options: max-size: “50m” max-file: “3” security_opt: - no-new-privileges

volumes: cowrie-data: EOF

启动#

docker-compose up -d `

部署完之后,我把 SSH 端口改成了 22222(非标准端口),把 2222 端口让给了蜜罐。这样攻击者扫描 2222 端口时,就会进入蜜罐。

3.1 踩坑记录#

坑 1:端口冲突

一开始我没改 SSH 端口,结果蜜罐和 SSH 服务抢 22 端口。解决办法:SSH 改到 22222,蜜罐用 2222。

坑 2:日志太大

Cowrie 的日志增长很快,7 天就积累了 50000+ 行。后来我加了日志轮转,每周归档一次。

四、Web 蜜罐:自定义方案#

Web 蜜罐我选择了自己写,原因很简单:现有的 Web 蜜罐要么太重(需要 Docker),要么太简单(只记录请求)。

我的需求很简单:

  1. 模拟几个高价值目标(phpMyAdmin、WordPress)
  2. 记录所有攻击请求
  3. 能识别常见攻击类型

于是用 Python 写了一个简单的 HTTP 服务器,大概 200 行代码:

`python

核心逻辑很简单#

1. 根据请求路径返回对应的”假”页面#

2. 记录所有请求到 JSON 文件#

3. 检测攻击类型(SQLi、XSS、命令注入等)#

`

部署成 systemd 服务,开机自启,内存占用 8.8MB。

五、7天攻击数据分析#

这才是最有意思的部分。部署蜜罐 7 天后,我导出了所有日志进行分析。

5.1 总体数据#

指标数值
日志总行数50,188 行
总连接数4,197 次
攻击源 IP230 个
登录尝试1,140 次
执行命令494 条
捕获恶意软件1 个

5.2 攻击者都在用什么密码#

这个数据挺有意思的。攻击者尝试最多的密码:

排名密码次数
112312362
2admin57
312348
411111147
512345642

看到这个数据,我只想说:如果你的服务器密码还是 123456,那真的该换了。

5.3 攻击者来自哪里#

地区占比说明
美国(DigitalOcean)45%云服务器扫描器
中国(阿里云/腾讯云)30%被入侵的服务器
俄罗斯8%僵尸网络节点
欧洲6%各种扫描器

5.4 最有意思的一个攻击#

在第 4 天,我捕获了一个完整的恶意软件投毒攻击:

  1. 攻击者用 oot/Aa@123456 登录蜜罐
  2. 执行 uname -a 收集系统信息
  3. 用 curl 从 60.170.253.77 下载恶意程序
  4. 设置后门密码
  5. 执行恶意程序

整个攻击链被完整记录下来了。这个恶意程序是 UPX 加壳的 Linux 二进制文件,疑似 Mirai 僵尸网络变种。

这就是蜜罐的价值:它不仅能告诉你”有人在攻击你”,还能告诉你”他们用的什么工具、什么手法”。

六、安全加固经验#

部署蜜罐本身也有安全风险——如果蜜罐被攻破,攻击者可能利用它作为跳板攻击其他系统。所以我做了以下加固:

6.1 资源限制#

`yaml

Docker 容器限制#

deploy: resources: limits: memory: 512M # 内存上限 cpus: “0.5” # CPU 上限 `

6.2 出站流量控制#

`ash

只允许 DNS、HTTP、HTTPS 出站#

iptables -A HONEYPOT_OUT -p udp —dport 53 -j ACCEPT iptables -A HONEYPOT_OUT -p tcp —dport 80 -j ACCEPT iptables -A HONEYPOT_OUT -p tcp —dport 443 -j ACCEPT iptables -A HONEYPOT_OUT -j DROP # 其他全部阻止 `

为什么不完全禁止出站?因为攻击者下载恶意软件的 URL 本身就是高价值情报。

6.3 日志管理#

  • 每周归档一次日志
  • 保留 7 天活跃日志
  • 超过 30 天的归档压缩存储

七、总结与建议#

7.1 部署蜜罐的收获#

  1. 了解攻击态势 — 知道服务器每天都在被谁攻击、用什么手法
  2. 收集威胁情报 — 攻击者的 IP、工具、恶意软件样本
  3. 学习红队技术 — 通过分析攻击者的行为,学习他们的手法

7.2 给想部署蜜罐的朋友的建议#

  1. 选轻量级方案 — 服务器资源有限,别选太重的蜜罐
  2. 做好安全加固 — 蜜罐本身也有安全风险
  3. 定期分析日志 — 蜜罐的价值在于分析,不在于部署
  4. 记录一切 — 攻击者的每一个操作都可能是情报

7.3 后续计划#

  • 扩展蜜罐类型(数据库蜜罐、API 蜜罐)
  • 建立自动化告警机制
  • 定期发布攻击分析报告

关于作者:Lansame,网络安全爱好者,个人博客 lansame.top

相关资源

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

7天捕获4197次攻击:我的蜜罐部署实战笔记
https://lansame.top/posts/honeypot-matrix-7days-4197-attacks/
作者
Lansame
发布于
2026-06-15
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录