如何利用HTTP Basic Auth给MeTube加把安全锁?

昨天安装了一个MeTube容器,以后下载喜欢的油管视频方便多了,但是这个开源工具非常简单,没有登录功能,太不安全了。

安装了HTTP Basic Auth,优点是多了一层防护,最明显的缺点有两个,第一,它缺乏防暴力破解机制,应对方法就是下面提到的用Fail2ban防止暴力破解;第二,这个工具是密码明文传输,应对方法是开启ssl证书。

下面我说一下如何利用HTTP Basic Auth给MeTube加把安全锁。

第一,设置HTTP Basic Auth

1,设置用户名和密码,用如下代码在ssh运行一下∶

mkdir -p /www/server/pass && printf "登录名:$(openssl passwd -crypt '这里改成你的密码')\n" > /www/server/pass/metube.conf

2,打开宝塔面板 反向代理 的 “配置文件”,找到 location / 这一块,在内部追加下面两行

auth_basic "Restricted Access";
auth_basic_user_file /www/server/pass/metube.conf;

第二,Nginx Basic Auth防爆破配置

1,建立日志

在ssh端运行下面代码,域名写自己的。

touch /www/wwwlogs/域名.error.log

2,配置正则匹配规则

编辑/etc/fail2ban/filter.d/nginx-basic-auth.conf文件,把原来的代码换成下面的代码。

[Definition]
failregex = ^.*user ".*": password mismatch, client: <HOST>,
            ^.*user ".*" was not found in ".*", client: <HOST>,
ignoreregex =

3,在宝塔面板中追加 Jail 防护规则

编辑 /etc/fail2ban/jail.local 文件,把下面代码放在最后。

[nginx-basic-auth]
enabled = true
port = http,https
filter = nginx-basic-auth
logpath = /www/wwwlogs/dk.tlmm123.com.error.log
maxretry = 5
findtime = 300
bantime = 86400

上面设置好,最后运行下面代码让上面的配置生效∶

fail2ban-server -x -b -s /www/server/panel/plugin/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -c /etc/fail2ban

最后验证HTTP Basic Auth拦截规则是否生效,用如下代码∶

fail2ban-client -s /www/server/panel/plugin/fail2ban/fail2ban.sock status nginx-basic-auth

设置完毕,大家可以在浏览器试着输入几次错误密码,上面代码有数字变动,说明我们设置成功。


通过以上设置,没有登录功能的MeTube多了一把安全锁,安全性大大提高了。以后大家遇到这种情况,也可以试试HTTP Basic Auth。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

6 − 3 =

滚动至顶部