使用 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 =

 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 将会与其他监控相抵触导致无法奏效
filter  = shadowsocks 该处的取值将直接于路径/etc/fail2ban/filter.d 下的文件名对应如果需要修改必须一并修改
logpath = 添加 shadowsocks 的日志路径,如果有多份日志需要监控则每个日志路径占一行。例如:/var/log/ss1.log
                 /var/log/ss2.log
                 /var/log/ss3.log
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 
  以上为何还出现 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
 附上成功图片:




评论

  1. 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.

    回复删除

发表评论