一次基于sshsftp服务器被***实记

 

         前段时间12月分左右,公司需要搭建了台sftp服务器,当时想只是传下文件,何况我这还是基于SSHSSL加密的sftp,也没有太再次安全问题,结果这个月每天晚上有人在暴力***,安装设置我以前的博文中有写到,这里记录下被***,以及防***的实录。centos6.X

  • 查看ssh登录日志

  • 分析日志

  • 防***措施

  • 自己写了个脚本

 

查看日志

         ssh 登录日志一般在 /var/log/secure,有些linux版本可能再/var/log/messages,我们只要修改ssh配置文件sshd_config,在配置文件中加入SyslogFacility  authpriv,然后重启sshd 服务,以后sftp服务器就会将日志记录在/var/log/secure

分析日志

我们来查看下服务器日志,用命令cat /var/log/secure|morewKioL1TbHo6gwd8dAALR26GDqVo226.jpg

那到底有多少次暴力***呢?用命令 cat /var/log/secure|grep  Failed |wc -l

wKiom1TbHbWi7jlyAADXDKvl5qQ929.jpg

这次都次连接***,要赶紧防范罗。

防***措施

要防范当时首先想到的/etc/passwd 和修改ssh配置文件,还有linux自带的 TCP Wrappers啊。

对于/etc/passwd文件,我们要做是禁止不必要账号本地登录服务器,像mysqloracle,以及上次做sftp登录时的账号delcom03等,修改最后一项为/sbin/nologin即可,这样这些账号就只能网络认证,不能登录本地服务器。wKioL1TbHsOx60bhAAKGHD3n1zE030.jpg

更安全一点我可以修改root为其它名字,这样不管人家怎么用root暴力破解也没用。wKioL1TbHv6R4DNqAABu8B2b5Yc910.jpg

接下我们修改sftp服务器配置文件Vim /etc/ssh/sshd_config修改如下图:wKiom1TbHe_Dc1KqAACAo0A91Zs294.jpgwKioL1TbHyeSlb4CAAHlVPQoH1g238.jpg

经过上面配置文件的修改,实现了只有 192.168.0.0172.17.0.0两个网络可以用root账号sshsftp登录,不是这两网络的只能用delcom03账号sftp登录。

再来修改下TCP Wrapper这个简易防火墙,它主要由两个文件组成/etc/hosts.allow/etc/hosts.deny

hosts.allow相当于白名单,hosts.deny相于黑名单,当两个冲突时以白名单为准,可不是拒绝优先哦。

执行命令vim /etc/hosts.allow,先加入白名单到服务器,注意下格式为sshd:ip (进程:IP) ,如下图:wKioL1TbH1jgMbocAAEQDuQnxwc404.jpg

再来加入我在日志中发现在的所有非法IP/etc/hosts.deny。执行命令vim /etc/hosts.deny即可。如下图。

 wKiom1TbHnGTZI_xAADdU2o_490736.jpg

 

自己写的脚本

由于手动查看日志然后再将非法IP加入到/etc/hosts.deny,效率低,也不具有时时性,因此用脚本是最好的方法,且错误性少了很多比手动。

脚本实现功能:

  1. 只检查当天的日志记录。

  2. 发现有账号登录成功,自动记录该IP

  3. 当天用正确帐号输入错误密码10次或者以上时,自动禁用该非法IP

  4. 当天用错误帐号试登录了10次或者以上时,自动禁用该非法IP

wKioL1T1Fp3jqMluAAYL8mDdb30568.jpg

最后,根据服务器被***频率,性能啊,将期加入到定时任务中去,可执行crontab –e

 wKioL1TbH6vjUBj6AABwWFuPvdE379.jpg

 

上面脚本跑了半个月确实没问题,很稳定哦,可还是发现在了一个问题,当日期小于10号时,唉,奇怪了脚本竟然不跑了,检查了1个多少时也没查出什么问题来。最后发现linux系统日志在输出时格式不同。

linux日志中日期少于10时,/var/log/secure日志中的月和天之间有两个空格,反之则为一个空格。

wKiom1T1Fc-hKMUWAAJrDtBwd2M257.jpg

为此我又将脚本改了下,在前面加下了的判断语句如下图wKioL1T1F0TRVGJuAAD2ZEgrSCY106.jpg

最后,我们还要修改原脚本,加入变量$TODAY,就OK了哦。

wKiom1T1Fm7itGfCAAR-aQz1PCA379.jpg

 

本文是 巧妙绝情 一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。
支持我,请 用力 点击 巧妙绝情  谢谢

 

参考资料:

鸟哥 第九章、防火墙与 NAT 服务器http://vbird.dic.ksu.edu.tw/linux_server/0250simple_firewall.php#tcp_wrappers