使用 PostgreSQL 蜜罐 pghoney 追踪溯源内部攻击

这几天发现内网有个 PostgreSQL 数据库被入侵,内部数据被删除留下了勒索信息,数据库使用的是默认账号密码。通过磁盘恢复数据库好了几小时又被清空了,实在恼火,于是想了下,找了个 PostgreSQL 蜜罐程序,成功找出了内部攻击者的IP。

使用的是这个项目 https://github.com/betheroot/pghoney

这是一个使用 Go 开发的 PostgreSQL 蜜罐,虽然是个老项目了,想运行起来比较麻烦。刚好 docker hub 上有个别人打好的镜像,感谢这位好心人。

使用以下代码启动容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
docker run -d --name pgfish -p 5432:5432 \
-v `pwd`/pghoney.conf:/pghoney/src/pghoney/pghoney.conf \
--restart=always bjzgc/pghoney-docker


配置文件需要一些修改,这里我只改动了监听地址。

{
"port":5432,
"address":"0.0.0.0",
"pgUsers":["postgres"],
"debug":false,
"cleartext":false,
"server_timeout":10,
"hpfeedsConfig":{
"port":10000,
"host":"127.0.0.1",
"channel":"pghoney.events",
"ident":"abc123",
"secret":"def567",
"enabled":true
}
}

后续使用 docker logs 命令观察日志输出,耐心等待几小时后,顺利找出攻击者 IP。