设为首页 收藏本站
查看: 803|回复: 0

[经验分享] 防止暴力破解ssh远程连接

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-6 09:55:08 | 显示全部楼层 |阅读模式
一、系统:CentOS 6.5 64位
二、方法:读取/var/log/secure,查找关键字 Failed,例如(注:文中的IP地址特意做了删减):
1
2
3
4
Sep 17 09:08:09 localhost sshd[29087]: Failed password for root from 13.7.3.6 port 44367 ssh2
Sep 17 09:08:20 localhost sshd[29087]: Failed password for root from 13.7.3.6 port 44367 ssh2
Sep 17 09:10:02 localhost sshd[29223]: Failed password for root from 13.7.3.6 port 56482 ssh2
Sep 17 09:10:14 localhost sshd[29223]: Failed password for root from 13.7.3.6 port 56482 ssh2



从这些行中提取IP地址,如果次数达到5次则将该IP写到 /etc/hosts.deny中。
三、步骤:
1、先把始终允许的IP填入 /etc/hosts.allow ,这很重要!比如:

1
2
sshd:19.16.18.1:allow
sshd:19.16.18.2:allow



2、脚本 /root/sh/secure_ssh.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' >/var/log/sshlogin.log
DEFINE="5"
for i in `cat  /var/log/sshlogin.log`
do
  IP=`echo $i |awk -F '{print $1}'`
  NUM=`echo $i|awk -F '{print $2}'`
  if [ $NUM -gt $DEFINE ];then
    grep $IP /etc/hosts.deny > /dev/null
      if [ $? -gt 0 ];then
          echo "sshd:$IP:deny" >> /etc/hosts.deny
      fi
    fi
done



3、将secure_ssh.sh脚本放入cron计划任务,每1分钟执行一次。

1
2
# crontab -e
*/1 * * * *  sh /root/sh/secure_ssh.sh



四、测试:
1、开两个终端窗口,一个ssh连上服务器,另一个用错误的密码连接服务器几次。
很快,服务器上黑名单文件里已经有记录了:

1
2
[iyunv@ ~]# $ cat /var/log/sshlogin.log
13.26.21.27=3



再看看服务器上的hosts.deny

1
2
3
4
5
6
[iyunv@ ~]# cat /etc/hosts.deny
sshd:13.7.3.6:deny
sshd:92.4.0.4:deny
sshd:94.10.4.2:deny
sshd:94.4.1.6:deny
sshd:11.64.11.5:deny



2、从另一个终端窗口继续“暴力”连接服务器。
看看服务器上的黑名单文件:

1
2
[iyunv@ ~]# /var/log/sshlogin.log
13.26.21.27=6



再看看服务器上的hosts.deny

1
2
3
4
5
6
7
8
9
10
11
12
13
[iyunv@ ~]# cat /etc/hosts.deny

sshd:13.7.3.6:deny

sshd:92.4.0.4:deny

sshd:94.10.4.2:deny

sshd:94.4.1.6:deny

sshd:11.64.11.5:deny

sshd:13.26.21.27:deny



IP 已经被加入到服务器的hosts.deny,再用正确的密码连接服务器,被拒绝:

1
2
3
$ ssh root@myserver.mydomain.com -p 2333

ssh_exchange_identification: Connection closed by remote host



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-200340-1-1.html 上篇帖子: SecureCRT在linux与windows本地互传文件 下篇帖子: liunx下把网站文件压缩为zip文件备份提供给ftp下载 暴力
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表