使用 fail2ban 封锁试图破解你 shadowsock 端口密码的 IP
今天介绍如何使用 fail2ban 结果那些想暴力破解你shadowsocks 的密码的ip
准备:
系统:ubuntu 14.04
fail2ban_v0.8.11
安装 fail2ban就不说了,就一条命令很简单。不论你是什么系统,自己google下解决
实现:
下载 shadowsocks.conf (其实这个可以复制代码自己建立就好)并把它放到 主机(翻墙服务器,不是你自己的电脑) 目录 /etc/fail2ban/filter.d 下。并与其他文件权限一致(自己google 怎么修改文件权限)。
2、修改刚下载的 shadowsocks.conf 。vim修改即可, 修改成这样(一下红色字体部分)
当然你也可以不修改
# Fail2Ban filter for openssh
#
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
[Definition]
_daemon = shadowsocks
failregex = ^\s+ERROR\s+can not parse header when handling connection from <HOST>:\d+$
ignoreregex =
#
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
[Definition]
_daemon = shadowsocks
failregex = ^\s+ERROR\s+can not parse header when handling connection from <HOST>:\d+$
ignoreregex =
3、修改fail2ban配置
编辑 路径 /etc/fail2ban/ 下的 jail.conf (vim 编辑即可)
需要修改项目:a、修改 [DEFAULT] 项目下的
bantime(封锁时间 单位秒(s)
findtime(该值含义是在多少时间内(就是findtime选项取值,单位也是秒)有多少次(次数是由 maxretry 定义))
maxretry (定义findtime 时间内的次数) (此处定义全局变量)
举例:我想在5分钟内有3次就封5分钟那么
bantime = 300 、 findtime = 300 、 maxretry = 3
b、建立 [shadowsocks] 项
内容是红色字体部分(请删除其他颜色文字自行添加必要内容,当然有些可以不必要修改)
[shadowsocks]
enabled = true
port = 添加自己的端口号,多个端口可以使用都好分开即可,例如 添加两个端口:5280,4325注 :该处不能填写 all 将会与其他监控相抵触导致无法奏效
enabled = true
port = 添加自己的端口号,多个端口可以使用都好分开即可,例如 添加两个端口:5280,4325注 :该处不能填写 all 将会与其他监控相抵触导致无法奏效
filter = shadowsocks 该处的取值将直接于路径/etc/fail2ban/filter.d 下的文件名对应,如果需要修改必须一并修改
logpath = 添加 shadowsocks 的日志路径,如果有多份日志需要监控则每个日志路径占一行。例如:/var/log/ss1.log
/var/log/ss2.log
/var/log/ss3.log
maxretry = 1
bantime = 43200
maxretry = 1
bantime = 43200
完整写法:
[shadowsocks]
enabled = true
port = 1712,1573,10085
filter = shadowsocks
logpath = /var/log/ss5_1.log
/var/log/ss5.log
/var/log/ss5_2.log
maxretry = 1
bantime = 43200
enabled = true
port = 1712,1573,10085
filter = shadowsocks
logpath = /var/log/ss5_1.log
/var/log/ss5.log
/var/log/ss5_2.log
maxretry = 1
bantime = 43200
以上为何还出现 maxretry 和 bantime ?
因为fail2ban可以检查很多日志,有这些选项可以不用跟随全局变量可以自定义。如果没有则沿用全局变量。
c、修改 fail2ban log 输出位置方便查看
编辑 /etc/fail2ban/fail2ban.conf
查找到 logtarget = syslog 修改为 /var/log/fail2ban.log (如果日志不是syslog 内就好)
4、测试 fail2ban 是否有效
这里需要将 文件 /etc/fail2ban/jail.conf 的 [shadowsocks] 的 bantime值修改成 300(暂时性的)
接着开3个终端链接致主机vps
并在每个终端中输入不同的命令
命令分别是 :实时查看 ss log 命令举例:tail -F /var/log/ss2.log
实时查看 fail2ban log 命令举例:tail -F /var/log/fail2ban.log
用于执行 fail2ban 重启命令。 命令(适用于ubuntu、centos):service fail2ban restart
附上成功图片:
Wynn Las Vegas & Encore Resort - JTG Hub
回复删除Wynn 화성 출장샵 Las 성남 출장안마 Vegas & Encore 영주 출장마사지 Resort features luxurious hotel rooms and suites, sensuous spa treatments, delectable 김천 출장마사지 dining and exciting casino 목포 출장마사지 gaming.