恶意IP远程登录Linux服务器脚本

#!/bin/sh

#auto drop ssh failed IP address

#定义变量

SEC_FILE=/var/log/secure

#如下为截取secure文件恶意ip 远程登录22端口,大于等于4次就写入防火墙,禁止以后再登录服务器的22端口

IP_ADDR=`tail -n 1000 /var/log/secure |grep "Failed password"| egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | sort -nr | uniq -c |awk ' $1>=4 {print $2}'`

IPTABLE_CONF=/etc/sysconfig/iptables

echo

cat <<EOF

++++++++++++++welcome to use ssh login drop failed ip+++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++------------------------------------++++++++++++++++++

EOF

#打印动态滚动条,参照老男孩博客-数组分析文章

echo -n "请等待5秒后开始执行 "

for ((j=0;j<=4;j++)) ;do echo -n "----------";sleep 1 ;done

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 "/lo/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

#最后重启iptables生效

/etc/init.d/iptables restart

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术/开源

开源API测试工具 Hitchhiker v0.7更新 - Schedule的对比diff

Hitchhiker 是一款开源的支持多人协作的 Restful Api 测试工具,支持Schedule, 数据对比,压力测试,支持脚本定制请求,可以轻松部署到...

3906
来自专栏潇涧技术专栏

Publish Gradle Android Library to jCenter Repository

本文主要介绍如何通过Gradle将Android库项目上传到jCenter仓库中。

723
来自专栏向治洪

Intellij IDEA 插件开发之自建插件仓库

Intellij IDEA 有一个自己的官方的插件仓库,但是当我们的开发的 Intellij IDEA 的插件不能够对外公开时,我们就需要搭建自己的 Intel...

4995
来自专栏乐沙弥的世界

使用CRM方式管理heartbeat

1、在heartbeat v2之后的版本,可以将haresources方式管理的资源转化为基于CIB方式进行管理 2、使用CRM(CIB)管理,需要配置ha...

1074
来自专栏云知识学习

Mount命令详解

首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。

61315
来自专栏Android相关

Gradle For Android(3)--管理依赖关系

依赖关系管理是Gradle的闪光点。在这个脚本中最好的一点,就是你所需要的只是添加一行到你的build.gradle中,然后Gradle就会从一个远程仓库中下载...

913
来自专栏Albert陈凯

Hadoop数据分析平台实战——200Spring+MyBatis+Mysql框架整合离线数据分析平台实战——200Spring+MyBatis+Mysql框架整合

离线数据分析平台实战——200Spring+MyBatis+Mysql框架整合 项目总体介绍 本项目分为三个模块,分别为: 日志收集模块, 数据分析模块以及...

35412
来自专栏python3

Centos7 安装python虚拟环境+Django

鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和...

1922
来自专栏前端布道

Ionic构建打包apk出现的问题集合

当我们写完 ionic 项目准备打包成 apk 时(比如执行 ionic cordova platform add android 或者 ionic cordo...

1113
来自专栏云计算教程系列

​如何使用Nginx反向代理配置SSL加密的Jenkins

默认情况下,Jenkins自带内置的Winstone网络服务器,可以通过8080端口进行监听,方便入门。但是,只要您认真使用Jenkins,就应该使用SSL保护...

2224

扫码关注云+社区