前言

整理笔记的时候发现自己还有一台之前特价买的,用来白嫖 IPv6 流量的 VPS,一直没到期。上去看了看,发现都是以前瞎折腾弄得文件系统乱七八糟的,正好赶上ubuntu 22.04 lts发布,索性直接重装系统,顺便梳理一下安装过程。国外的 VPS 默认只有基本的防火墙,没有国内这种阿里云盾,腾讯安全监控之类乱七八糟的东西,正好可以自己下手折腾研究研究。

一、DenyHost

Denyhosts 是一个通过读取登录日志进行自动的 IP 屏蔽的安全工具,虽然最后一次更新已经是 2015 年了,但是基本的功能还是可以使用的。

稳定版本的 2.x 目前已经无法有效的支持默认的 python3 环境,最后一个 beta 版本 3.1 可以直接从 github 的release 页面获取。

二、安装部署

2.1 安装

python2 生命周期已经结束,新版 Ubuntu 系统默认环境也已经提升到 python3,为此需要直接从源码安装 beta 版本的 denyhosts。

1
2
3
4
5
6
7
8
9
10
11
wget https://github.com/denyhosts/denyhosts/archive/refs/tags/v3.1.tar.gz

tar -zxf ./v3.1.tar.gz

cd denyhosts-3.1/

# install deps
pip install ipaddr

python3 setup.py install

2.2 配置

安装成功以后,配置文件的路径是/etc/denyhosts.conf,具体配置参数文件中都写的比较详细,这里不再进行赘述。

配置文件修改完成以后,需要将 denyhosts 添加到系统服务当中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 进入denyhosts的解压后的存储目录
cd ~/denyhosts-3.1/

# 将服务文件复制到系统目录
cp denyhosts.service /etc/systemd/system/

# 为服务文件添加执行权限
chmod +777 /etc/systemd/system/denyhosts.service

# 默认服务文件中对denyhosts可执行文件的位置设置存在问题,需要修改
vi /etc/systemd/system/denyhosts.service

# 修改第八行内容如下(/usr/bin/denyhosts.py -> /usr/local/bin/denyhosts.py)
ExecStart=/usr/local/bin/denyhosts.py --daemon --config=/etc/denyhosts.conf

# 启动服务
systemctl daemon-reload
systemctl start denyhosts.service

# 查看屏蔽列表
cat /etc/hosts.deny

参考文档