Linux服务器拒绝恶意IP登录脚本

小柒博客 Shell1 80.3K3字数 1447阅读4分49秒阅读模式

随着整个IT行业的发展,安全对于人们来说非常的重要,小到个人电脑,到IT企业大数据存储,大到整个互联网安全,其实要做好安全,不能光看整体,有时候细节才是最重要的,相对而言,个人电脑的安全,需要我们从多方面来防御,例如使用目前权威主流的360杀毒软件,然后结合自己上网的习惯,不要打开来历不明的东西等等。

那对于服务器级别的安全,我们该如何来做呢,首先是服务器本身处在的机房环境安全,人为操作安全,以及操作系统方面的安全,禁止不必要的端口和服务、配置服务器自身防火墙,例如iptables,除了这些,服务器就安全了吗,就算我们做到这些,也只是相对的安全。安全是要靠长期和点滴来保证。

当我们已经配置了iptables防火墙,我们允许22端口对外网所有人访问,当然这也是为了方便,我们在任何地方都连接上,没有做VPN,也没有做ssh密钥验证,但是我们的密码设置得非常复杂,大小写、特殊符、数字 32位,连自己都记不住,就别人扫描没有3-5年是无法攻破的 哈哈。所以每天看/var/log/secure文件里面,全部是恶意攻击的ip,那怎么拒绝这些ip下次再攻击,或者怎么让这些IP尝试3-5次就拒绝访问22端口了

测试环境:CentOS 7.4

[root@localhost ~]# vim /data/shell/auto_deny_login.sh

#!/bin/bash
#2017-11-30 14:47:53
#by author yangxz
#deny ssh login drop failed ip

#如下为截取secure文件恶意ip 远程登录22端口,大于等于5次就写入防火墙,禁止以后再登录服务器的22端口
IP_ADDR=`cat /var/log/secure |grep -i "failed" | egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | sort -nr | uniq -c |awk '$1>=5 {print $2}'`
IPTABLE_CONF=/etc/sysconfig/iptables
NUM=`find /etc/sysconfig/ -name iptables -a -mmin -1|wc -l`

echo
for i in `echo $IP_ADDR`
do
    #查看iptables配置文件是否含有提取的IP信息
    cat $IPTABLE_CONF|grep $i >/dev/null
    if [ $? -ne 0 ];then
        #判断iptables配置文件里面是否存在已拒绝的ip,如过不存在就添加相应条目
        sed -i "/OUTPUT ACCEPT/a-A INPUT -s $i -m state --state NEW -m tcp -p tcp --dport 22 -j DROP" $IPTABLE_CONF
    else
        #如果存在的话,就打印提示信息即可
        echo  "This is $i is exist in iptables,please exit ......"
    fi
done
if [ $NUM -eq 1 ];then
    #最后重启iptables生效
   /etc/init.d/iptables restart
fi
如上脚本编写完毕,如何实现自动添加恶意IP呢,执行如下命令,添加到crontab即可,实现每5分钟自动执行该脚本。

[root@localhost ~]# echo  "*/5 * * * *  /bin/sh /data/shell/auto_deny_login.sh >>/data/logs/login/login.log 2>&1" >>/var/spool/cron/root

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信公众号
微信扫一扫,关注我!
weinxin
Shell最后更新:2024-1-24
小柒博客
  • 本文由 小柒博客 发表于 2018年1月18日15:22:48
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/1076.html
    • 运维老司机
      运维老司机 6

      亲测,写的不错,感谢博主 :razz:

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    拖动滑块以完成验证