三分钟让你的服务器自动拒绝恶意登录IP 地址

简介: 三分钟让你的服务器自动拒绝恶意登录IP 地址

shell 编程 拒绝恶意IP 登录服务器脚本



1.为什么要使用shell 编写


image.png


  • 前言


企业服务器暴露在外网,每天会有大量的人使用各种用户名和密码尝试登陆服务器,如果让其一直尝试,难免会猜出密码,通过开发Shell脚本,可以自动将尝试登陆服务器错误密码次数的IP列表加入到防火墙配置中。


这样一来,我们就不用手动拒绝了,从一定程度上减轻了运维人的压力,也提高了工作效率


2.编写脚本思路


  • Shell脚本实现服务器拒绝恶意IP登陆,编写思路如下:


登陆服务器日志/var/log/secure;


检查日志中认证失败的行并打印其IP地址;


将IP地址写入至防火墙;


禁止该IP访问服务器SSH 22端口;


将脚本加入Crontab实现自动禁止恶意IP;


3.代码实现


  • Shell脚本实现服务器拒绝恶意IP登陆:


#!/bin/bash
#Auto drop ssh failed IP address
#By author xx
SEC_FILE=/var/log/secure
IP_ADDR=`awk '{print $0}'  /var/log/secure|grep -i  "fail"| egrep -o "([0-9]{1,3}\.){3}[0-9]{1,3}" | sort -nr | uniq -c |awk '$1>=15 {print $2}'`
IPTABLE_CONF=/etc/sysconfig/iptables
echo
cat <<EOF
++++++++++++++welcome to use ssh login drop failed ip+++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++------------------------------------++++++++++++++++++
EOF
echo
for ((j=0;j<=6;j++)) ;do echo -n "-";sleep 1 ;done
echo
for i in `echo $IP_ADDR`
do
    cat $IPTABLE_CONF |grep $i >/dev/null
if
    [ $? -ne 0 ];then
sed -i "/lo/a -A INPUT -s $i -m state --state NEW -m tcp -p tcp --dport 22 -j DROP" $IPTABLE_CONF
fi
done
NUM=`find /etc/sysconfig/  -name iptables -a -mmin -1|wc -l`
        if [ $NUM -eq 1 ];then
                /etc/init.d/iptables restart
        fi



总结



  • 手动拒绝


6步拒绝恶意IP


  • shell 的重要性


  曾经有人说过,学习Linux不知道Shell编程,那就是不懂Linux,现在细细品味确实是这样。
  Shell是操作系统的最外层,Shell可以合并编程语言以控制进程和文件,以及启动和控制其它程序。
  现在很多linux 运维岗位,在招聘的时候都要求 会shell 或者Python中任意一门。可见自动化运维 还是蛮重要的,所以,我们的shell 一定要掌握好。后面我会详细的介绍 shell,从无到有,从青铜到王者。
相关文章
|
2天前
|
网络协议 物联网 Linux
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
|
3天前
|
安全 Linux 网络安全
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
14 0
|
10天前
|
数据安全/隐私保护 Windows
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-2
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问
|
10天前
|
存储 网络协议 文件存储
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-1
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问
|
10天前
|
缓存 网络安全 开发工具
Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
Git服务器报错:host key for (ip地址) has changed and you have requested strict checking
|
11天前
|
弹性计算 Shell Apache
某时间段访问apache 服务器的请求IP
【4月更文挑战第29天】
16 2
|
13天前
|
监控 负载均衡 网络协议
|
15天前
|
监控 Linux 网络安全
Linux服务器如何查询连接服务器的IP
【4月更文挑战第17天】Linux服务器如何查询连接服务器的IP
14 1
|
9天前
|
存储 弹性计算 固态存储
阿里云服务器CPU内存配置详细指南,如何选择合适云服务器配置?
阿里云服务器配置选择涉及CPU、内存、公网带宽和磁盘。个人开发者或中小企业推荐使用轻量应用服务器或ECS经济型e实例,如2核2G3M配置,适合低流量网站。企业用户则应选择企业级独享型ECS,如通用算力型u1、计算型c7或通用型g7,至少2核4G配置,公网带宽建议5M,系统盘可选SSD或ESSD云盘。选择时考虑实际应用需求和性能稳定性。
111 6
|
17小时前
|
存储 弹性计算 监控
探索阿里云弹性计算:如何优化云服务器ECS的性能与成本
在云时代,【阿里云ECS】的性能优化与成本控制至关重要。利用实例规格选择、自动伸缩、网络和存储配置,可增强性能、减少成本。结合监控工具和优化建议,用户能解决性能问题,提升应用稳定性,实现高效且经济的云计算运营。
6 1