关于我的服务器被爆破那些事以及fail2ban的简单使用教程


本篇是写给这些爱爆破的“黑客”的,希望你们能够喜欢\<3\

0x00起因

我有几台服务器 其中一台是上海这台 一台在国外(懒得看别的了
然后因为最近在搞流量转发的东西就上了国外的服务器 不看不知道一看吓一跳啊
在我登上ssh的时候跳出来在这之前有80条错误登录(具体显示几条忘了
我还在想是不是什么我得罪谁了 然后想看看源ip是什么看看是哪个地区的人
接着当我输入lastb的时候 吓人的来了 一大长穿的登录信息开始滚屏(以下仅列举


[root@hello ~]# lastb
root     ssh:notty    106.246.239.179  Fri Aug 11 06:00 - 06:00  (00:00)
promethe ssh:notty    68.183.87.207    Fri Aug 11 06:00 - 06:00  (00:00)
root     ssh:notty    106.246.239.179  Fri Aug 11 06:00 - 06:00  (00:00)
promethe ssh:notty    68.183.87.207    Fri Aug 11 06:00 - 06:00  (00:00)
root     ssh:notty    106.246.239.179  Fri Aug 11 06:00 - 06:00  (00:00)
promethe ssh:notty    68.183.87.207    Fri Aug 11 06:00 - 06:00  (00:00)
root     ssh:notty    106.246.239.179  Fri Aug 11 06:00 - 06:00  (00:00)
promethe ssh:notty    68.183.87.207    Fri Aug 11 06:00 - 06:00  (00:00)
teste    ssh:notty    141.98.11.11     Fri Aug 11 05:41 - 05:41  (00:00)
hadoop   ssh:notty    146.190.220.57   Fri Aug 11 05:39 - 05:39  (00:00)
hadoop   ssh:notty    146.190.220.57   Fri Aug 11 05:39 - 05:39  (00:00)
dbadmin  ssh:notty    128.199.170.109  Fri Aug 11 05:37 - 05:37  (00:00)
dbadmin  ssh:notty    128.199.170.109  Fri Aug 11 05:37 - 05:37  (00:00)
hadoop   ssh:notty    146.190.220.57   Fri Aug 11 05:33 - 05:33  (00:00)
hadoop   ssh:notty    146.190.220.57   Fri Aug 11 05:33 - 05:33  (00:00)
dbadmin  ssh:notty    128.199.170.109  Fri Aug 11 05:32 - 05:32  (00:00)
dbadmin  ssh:notty    128.199.170.109  Fri Aug 11 05:32 - 05:32  (00:00)
guest    ssh:notty    146.190.220.57   Fri Aug 11 05:27 - 05:27  (00:00)
guest    ssh:notty    146.190.220.57   Fri Aug 11 05:27 - 05:27  (00:00)
telegram ssh:notty    128.199.170.109  Fri Aug 11 05:27 - 05:27  (00:00)
telegram ssh:notty    128.199.170.109  Fri Aug 11 05:27 - 05:27  (00:00)
root     ssh:notty    31.41.244.61     Fri Aug 11 04:39 - 04:39  (00:00)
ubnt     ssh:notty    193.142.146.214  Fri Aug 11 04:39 - 04:39  (00:00)
admin    ssh:notty    193.142.146.214  Fri Aug 11 04:38 - 04:38  (00:00)

0x01 经过

我一看 好家伙这么多ip 大概率是拿肉鸡来爆破的 这是想把我也拐走当肉鸡啊 真是可恶

你要问我急不急 那我只能说不急哈哈哈哈哈哈哈哈哈 why?
可能我的密码是一个很抽象的密码 如果用字典爆破的话我只能劝你绕道 如果是暴力破解那我只能说——请加油!
本人密码组合:A-Z a-z 0-9 部分特殊符号 并且长度大于12 我完全不担心你可以爆破完我的密码
但是我真不急吗?小急 到底急不急? 小急

本人作为一个搞网络安全的对这种手段是再明白不过了 但是要说我啊没到这种地步 绝大部分机器的密码都是极其复杂的 除非是小白不然一般都不会设置弱口令 e.g 123456、toor、admin、Admin123等
实战不像比赛 比赛的垃圾靶机能让你爆破出来属于是题目需要 但是实际你几乎不会遇到太多的弱口令
回到主题 因为我国外的机器是比较差劲的配置 所以他这样没日没夜打我可能会把我机器打宕机(我说之前为什么老连不上
怎么办?我的解决办法如下:

  • 改端口(并不理想 因为我国内的机器早就改了还被爆破呢
  • 一个个banip(也不理想 国内机器只被一个ip打但是国外机器被成千上万个ip打 根本ban不过来

那怎么办呢 我上网一搜 fail2ban! 我对于这种防爆破方面的软件一直没太多了解 但是一看这个软件就让我眼前一亮
可能有人会说不是有成千上万个ip吗 ban了也没用 啊这 说到点子上了 确实ip很多 但是仔细看一下就能发现他并不是爆破一次换一次ip 他是一个多个ip同步爆破 所以大概率是肉鸡 但是你肉鸡也肯定不会太多啊 所以用这个办法是最方便快捷的
那fail2ban怎么用呢 对于centos来说直接yum下载就可以了 debian之类的可以apt下载
直接运行


yum install fail2ban -y

我们要了解fail2ban的配置文件默认是/etc/fail2ban/jail.conf 所以我们用vi去打开他修改配置


vi /etc/fail2ban/jail.conf

使用/sshd来定位 在第二个匹配项停下


#
# JAILS
#

#
# SSH servers
#

[sshd]

# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode   = normal
port    = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

如果是第一次使用则需要更改一些内容来让[sshd]配置内容来实现效果
我们在下面添加以下字段 // 以下内容参考 Github


enabled = true
filter = sshd
action = iptables[name=SSH,port=ssh,protocol=tcp]
logpath = /var/log/secure
bantime = 36000
findtime = 6000
maxretry = 2

请注意!这边需要开启某规则需要添加enabled = true千万不要打成enable = true
这里最主要的功能就是在规定时间内错误的登录次数达到多少次就ban了他且时间可以自定
所以我们修改最下面三行内容即可


bantime = 36000     // BAN多少时间 默认以秒为单位 可添加h m s作为单位
findtime = 6000     // 指定多少时间进行累加错误次数 同上
maxretry = 2        // 指定时间内所累加的错误次数

其他内容请自行Google 这边就不再赘述
wq保存之后直接reload就可以实现功能 命令是fail2ban-client reload
需要配合iptables使用喔
至此 大功告成
现在只要错误两次就直接ban你
你不会真的去试了吧?那我教你怎么解除封禁
非常简单 单一ip解除封禁 fail2ban-client unban <IP>
如果大赦天下那就是 fail2ban-client unban --all

0x02 结语

很高兴你能够看到这里 我的文章语言繁琐排版不是非常好 凑合凑合吧
一直到写这篇文章为止 我看了一眼日志发现内哥们还在爆破呢结果被ban了
喔对了日志文件在/var/log/fail2ban.log
还有193.42.33.60 80.94.92.35这俩ip的哥们别爆了 你应该学学另一个爆我国外机器的哥们 人家换着肉鸡爆 你这纯拿着一台机器爆
可能会有人问为什么不用私钥来登录ssh 可能我比较懒吧 我不喜欢每时每刻拿着个文件登录ssh
所以说如果简单那就不安全 如果安全那就不简单

以上就是本文全部内容 希望能够帮助到你们\<3\

  • 分享:
评论
还没有评论
    发表评论 说点什么