尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

OpenCanary 蜜罐实战:内网部署 10 分钟,收到第一条攻击告警

OpenCanary 蜜罐实战:内网部署 10 分钟,收到第一条攻击告警 OpenCanary 蜜罐实战内网部署 10 分钟收到第一条攻击告警【免费下载链接】opencanaryModular and decentralised honeypot项目地址: https://gitcode.com/gh_mirrors/op/opencanary攻击者已经进你的内网了你能多快发现OpenCanary 是一个轻量级的多协议网络蜜罐把它跑在内网机器上它会伪装成 FTP、SSH、HTTP 等真实服务谁一连接、一尝试登录带着来源 IP 的告警就落到你的日志里。这篇实战带你从一台干净机器走到第一条告警全程大约 10 分钟。⏱ 00:00 搭虚拟环境装上 OpenCanary先建一个独立的 Python 虚拟环境要求 Python 3.10避免 OpenCanary 的依赖和其他项目打架# 基础依赖Ubuntu 22.04/24.04 sudo apt-get install python3-dev python3-pip python3-virtualenv python3-venv # 建虚拟环境、激活、安装 virtualenv env source env/bin/activate pip install opencanaryOpenCanary 是 Python 写的守护进程资源占用极低1G 内存的旧虚拟机就能跑。安装时如果报 OpenSSL 编译错误通常是机器上混装了多个 OpenSSL 版本装好对应的 openssl 再重试pip install即可。02:00 生成配置文件改对两个关键值以 root 身份运行把默认配置生成出来opencanaryd --copyconfig文件落在/etc/opencanaryd/opencanary.conf普通用户运行时则是~/.opencanary.conf。它是 JSON 格式服务很多但你现在只需要动这几处{ device.node_id: idc-baseline-canary-01, ftp.enabled: true, http.enabled: true, logger: { class: PyLogger, kwargs: { handlers: { file: { class: logging.FileHandler, filename: /var/log/canary/alerts.log } } } } }这些值定错会发生什么device.node_id是这台蜜罐的身份证。两台蜜罐写同一个值告警混在一起你无法定位是哪台被打了。改成你一眼能认出的名字比如idc-baseline-canary-01。*.enabled决定伪装哪些服务默认只有ftp.enabled: true。这里顺手打开 HTTP并用内置的http.skin: nasLogin把页面伪装成群晖 NAS 登录页——看着像真设备攻击者更容易伸手。logger.handlers.file.filename是告警输出路径。目录不存在服务会直接起不来先mkdir -p /var/log/canary。配置项速查配置项示例值定错的后果device.node_ididc-baseline-canary-01多蜜罐告警无法区分机器ftp.enabled / ftp.porttrue / 21服务不监听无法诱捕http.skinnasLoginHTTP 伪装成裸 Apache诱惑力低logger.handlers.file.filename/var/log/canary/alerts.log告警无处落盘启动报错ip.ignorelist[10.0.9.0/24]内部扫描工具刷出大量误报还有一个坑这份配置以 root 权限读取如果普通用户可写存在提权风险。改完执行chown root:root、chmod 600。保存前不确定 JSON 改没改坏用jq . /etc/opencanaryd/opencanary.conf验证报错就先修好再启动。05:00 拉起服务制造一次 FTP 探测以降权方式启动绑定完端口后丢弃 root 权限opencanaryd --start --uidnobody --gidnogroup起不来时按这个顺序排查报 address already in use 就是端口被真实服务占了改服务端口或释放端口前台输出只有一行错误看不清原因改用opencanaryd --dev前台跑能看到完整堆栈改完配置不用杀进程opencanaryd --restart即可。现象常见原因处理启动即退出提示端口占用真实服务占了同端口改端口或停掉占用进程只有一句笼统报错守护进程模式吞了日志opencanaryd --dev前台调试改配置后服务行为没变配置未重载opencanaryd --restart接着在同网段的另一台机器上用 FTP 客户端指向蜜罐用户名输admin、密码输default凭据本身不重要目的是制造登录行为ftp 192.168.3.21 07:00 到日志文件里验收告警cat /var/log/canary/alerts.log应该能看到一行带最新时间戳的 JSON{src_host: 192.168.3.50, src_port: 41882, dst_host: 192.168.3.21, dst_port: 21, local_time: 2026-08-23 14:07:32.114902, node_id: idc-baseline-canary-01, logtype: 2000, logdata: {USERNAME: admin, PASSWORD: default}}src_host/src_port是对方地址dst_host/dst_port是被触发的蜜罐与服务logdata记录了输入的凭据logtype2000 表示 FTP 登录事件。浏览器打开 HTTP 访问时同理那个 NAS 登录页被尝试登录时同样会告警配置文件里还有 SSH、MySQL、Redis、VNC、Telnet、Git、TFTP、NTP、SNMP、端口扫描监控等服务的开关需要扩大伪装面时把对应enabled改成true再重启即可。你现在已经完成了「安装 → 配置 → 触发 → 收告警」的闭环下一步建议把file处理器换成远程通道syslog 或 Webhook让告警实时进 SIEM——蜜罐机器本身可能被攻击本地日志未必留得住。把内部扫描工具、NAT 网关地址加进ip.ignorelist压低误报。每周翻一次告警统计攻击者碰过的端口和凭据组合据此调整伪装服务的 banner 和版本。【免费下载链接】opencanaryModular and decentralised honeypot项目地址: https://gitcode.com/gh_mirrors/op/opencanary创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表