SuckerPot

帮助网络

三条命令。无需仪表盘。无需 VPN。

在一台闲置机器上运行传感器,打开安装程序打印的端口,你就加入了。选择此模式即表示你同意加入 SuckerPot 网络。

shell
git clone --depth 1 --branch v0.9.0 https://github.com/selfhostr/suckerpot.git
cd suckerpot
./scripts/install.sh --participant

将 v0.9.0 替换为你想要的发布版本。SuckerPot 的设计目的就是被攻击:请使用一台专用机器,不要在上面存放任何你在意的其他内容。

你需要什么

一台 Linux 机器和一台你可以控制的路由器。

仅需传感器、数据库和网络节点,大约 2 GiB 内存。

机器Linux 虚拟机或服务器,x86_64 或 aarch64,至少 2 GiB 内存和 15 GiB 可用磁盘空间。
软件Docker Engine 24+(推荐 28)及 Compose 插件、git、curl 和 Bash 4+。你的用户必须能够不使用 sudo 运行 docker。
路由器你可以将端口转发到这台机器。
VPN不需要。

你同意共享的内容

关于攻击者的事实。绝不包括你。

安装程序会打印它将共享的内容,并在加入前询问一个问题。使用 --yes 时它不会询问,这被视为你的同意。

  • 攻击过你的传感器的地址,附带它们使用的服务、它们的操作以及取整后的计数。每天一次,会延迟几小时。
  • 攻击者尝试过的下载链接,以哈希形式提供。只有当两个或更多传感器看到同一链接时,明文链接才会发送到中心。
  • 恶意软件哈希和命令与控制地址,但仅当你拥有 VPN 且收集器已开启时。
  • 绝不包括密码、命令、你的端口、你自己的地址或任何你的名字。

完整说明见网络页面。

开放端口

安装后你唯一需要做的事。

安装程序最后会给出一张端口表。将每个路由器端口转发到这台机器。切勿转发你自己的管理 SSH 端口,也不要使用路由器的 DMZ:它会转发所有端口。安装程序从不修改你的 SSH 设置。

路由器端口本机协议传感器
2222TCPssh
2323TCPtelnet
8080TCPweb
443443TCPweb

安装程序打印内容的示例。如果机器上的 22 端口已被占用,SSH 传感器将使用 2222。

无 VPN 的隐私

中心能看到一个地址,但不保存它。

没有 VPN 时,你的机器连接时,中心会看到你的家庭地址。中心前面的隧道服务商同样会看到。中心不会存储或记录它,但该地址并没有被隐藏。

  • 在此模式下,只有一个服务有对外路由。它只把连接转发到中心主机,别无其他。
  • 负责解析攻击者数据的接收服务没有对外路由。你的传感器从不下载任何东西。
  • 随时可以添加 VPN:./scripts/participant.sh vpn /path/to/wireguard.conf。

掌控全局

检查、更新,随时退出。

命令作用
./scripts/status.sh显示传感器及其端口、你的状态、与中心最近一次联系,以及每天发送的内容。
./scripts/participant.sh ports-check判断互联网是否已能访问你的传感器。
./scripts/participant.sh firewall加载主机防火墙(需要 sudo),或将其移除。
./scripts/participant.sh leave退出网络。传感器继续运行。
./scripts/participant.sh join再次显示同意条款并加入。
./scripts/participant.sh vpn FILE将所有流量通过你的 VPN 发送。
./scripts/participant.sh auto-update off关闭每日更新计划。
./scripts/participant.sh uninstall退出网络,停止服务栈并移除计划任务。它会打印删除数据的命令,但从不自行运行。

自动更新

已签名的版本每天自动安装一次,在发布后至少 48 小时,并且仅限同一主版本内。安装前会先备份数据库,更新失败时会恢复到之前的版本。如果发布渠道曾被入侵,启用自动更新的参与者会受到影响:签名和延迟可以降低这种风险,但无法消除它。一条命令即可关闭更新。

验证节点

大多数参与者从不下载恶意软件。验证节点是一种自愿加入的节点,配有 VPN 和收集器,可以获取由两个节点报告的链接并描述文件。它还需要中心运营者授予角色。

切换到完整模式

./scripts/install.sh --full 会添加仪表盘,并保留你的数据和成员身份。反向切换,即从完整模式切换到参与者模式,不受支持。参见安装。