Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vallumd — 集中化或分布式IPset黑名单 | Kitploit
工具/GitHubGitHub/stintel/vallumd
防御工具配置审计网络安全入侵检测
GitHubstintel/vallumd

vallumd

集中化或分布式IPset黑名单

查看仓库网站
131196个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

vallumd

本程序允许您集中和分发 IP 黑名单。

如果您在互联网上维护一个服务器,很有可能会遇到一两次暴力破解攻击。没关系,只需安装 fail2ban 即可搞定。

但是,如果您运行着多个服务器,每个服务器都有各自的 fail2ban 实例,那么它们封禁的 IP 地址列表将各不相同。难道不想所有 fail2ban 实例共享一个封禁列表吗?或者,如果您所有的机器都位于您自己控制的路由器或防火墙后面,难道不想在网络边缘就拦截恶意流量吗?

这正是 vallumd 可以帮助您实现的目标。

工作原理

Vallumd 连接到 MQTT 代理,读取包含 IP 地址的消息,并将这些 IP 地址添加或删除到 ipset 中。就这么简单。

这意味着它本身并非独立有用,但这使得 vallumd 非常灵活。您可以自行决定引用该 ipset 的 iptables 规则类型。将其与 fail2ban 集成只需创建一个新的操作,使用 mosquitto_pub 向 MQTT 代理发送消息即可。由于大多数常用语言都有对应的 MQTT 库,因此将它与您喜爱的 IDS、IPS 或蜜罐集成应该也不难。

为什么取这个傻名字

vallumd 这个名字来源于拉丁语单词 "vallum",意为 "墙"。而 vallumd 所做的正是:建造一堵墙来保护您的数字帝国。

安装

安装任何软件包的最佳方式,是使用您的发行版的包管理工具。不过,由于本项目还很年轻,尚未被包含在许多发行版中。

Arch Linux

一个跟踪 git 主分支的包已在 AUR 中提供。

CentOS/RedHat

请确保您已启用 EPEL 仓库。

CentOS 7 依赖

root@kitploit:~
sudo yum -y install cmake3 ipset-devel mosquitto-devel openssl-devel pkgconfig '@Development Tools'

通用

现在您可以使用 cpack 生成 RPM 包:

root@kitploit:~
git clone https://codeberg.org/stintel/vallumd.git
cd vallumd
cmake3 .
cpack3 -G RPM

sudo yum -y localinstall build/*.rpm

已在 CentOS 7 上构建测试。

Debian/Ubuntu

您可以使用 cpack 生成 DEB 包:

root@kitploit:~
sudo apt-get -y install build-essential cmake file libipset-dev libmosquitto-dev libssl-dev pkg-config

git clone https://codeberg.org/stintel/vallumd.git
cd vallumd
cmake .
cpack -G DEB

sudo dpkg -i build/*.deb

已在 Debian 10, 11, 12, 13 及 Ubuntu 18.04, 20.04, 22.04, 24.04 上构建测试。

Gentoo

您可以在我的 Gentoo overlay 中找到 vallumd 的 live ebuild。

OpenWrt/LEDE

如果您运行的是 OpenWrt DD 快照版或 LEDE,vallumd 已在 packages feed 中提供,可通过 opkg 安装:

root@kitploit:~
opkg update
opkg install vallumd

手动安装

手动安装非常简单。 需求:

  • cmake
  • libipset
  • libmosquitto
  • libssl

步骤:

root@kitploit:~
git clone https://codeberg.org/stintel/vallumd.git
cd vallumd
cmake .
make
make install

使用

要使用 vallumd,您需要一个 MQTT 代理,例如 Mosquitto。根据您的设置,您可以将其运行在运行 vallumd 的同一主机上,但这并非必需。

接下来您需要一个 IPset。为了让您完全控制 IPset 的类型及其选项,vallumd 不会自行创建 IPset。您可以从以下 IPset 类型中选择:

  • bitmap:ip
  • bitmap:net
  • hash:ip
  • hash:net

IPset 创建示例: ipset create blacklist hash:ip timeout 3600

现在您可以启动 vallumd。以下是可用的命令行选项:

root@kitploit:~
 -h: 要连接的 MQTT 主机
 -p: 要连接的 MQTT 端口 (1883)
 -u: MQTT 用户名
 -P: MQTT 密码
 -t: MQTT 主题和 IPset 名称
 -V: 打印版本号并退出
 -c: CA 文件的路径
 -T: 使用 TLS

主机和主题选项是必需的,其他选项为可选(默认值)。可以指定多个主题。

启动 vallumd: vallumd -h 192.168.0.1 -t blacklist

这将监听位于 192.168.0.1 的 MQTT 代理上 blacklist 主题的消息,当收到消息时,消息中的 IP 地址将被添加或从名为 blacklist 的 IPset 中删除。

现在我们已经准备就绪,可以开始将 IP 添加到黑名单。我们只需将 IDS、IPS 或蜜罐配置为将恶意 IP 地址发送到我们的 MQTT 代理。

对于 fail2ban,可以通过 Mosquitto 客户端 mosquitto_pub 实现。在 /etc/fail2ban/action.d/vallumd.conf 中创建一个新操作:

root@kitploit:~
[Definition]
actionban = mosquitto_pub -h 192.168.0.1 -q 2 -t blacklist/add -m <ip>
actionunban = mosquitto_pub -h 192.168.0.1 -q 2 -t blacklist/del -m <ip>

然后配置您的 fail2ban 监狱以使用 vallumd 操作。

作为服务运行

使用 CPack 生成的包支持 OpenRC、Upstart 和 systemd。服务配置文件位于您发行版中预期的位置:

  • CentOS/RedHat:/etc/sysconfig/vallumd
  • Debian/Ubuntu:/etc/default/vallumd
  • Gentoo:/etc/conf.d/vallumd
  • OpenWrt/LEDE:/etc/config/vallumd

编辑适用于您发行版的文件后,像启动系统上任何其他服务一样启动 vallumd 服务。

日志

Vallumd 使用 syslog(3) 进行日志记录。

参与

  • 加入 #vallumd IRC 频道,服务器为 irc.oftc.net
下载工具