shell脚本awk练习

该文章介绍了一个bash脚本,该脚本读取/var/log/secure日志,找出尝试登录时SSH密码输入错误超过4次的IP地址,并使用firewalld防火墙规则将这些IP阻止。通过解析日志文件并应用rich规则到firewalld,可以增强服务器的安全性。
摘要由CSDN通过智能技术生成

1、将密码输入错误超过4次的IP地址通过firewalld防火墙阻止访问

#通过awk命令以数组的方式获取/var/log/secure文件中输入密码错误超过4次的ip地址
[root@server day1.10]# awk '/Failed password/ { array[$(NF-3)]++ } END {for(a in array) {if (array[a]>4) print a }}' /var/log/secure
#事先用另一台虚拟机用ssh方式连接,故意输错密码4次以上

效果如图:
在这里插入图片描述

#编写脚本,通过上述命令以及防火墙规则,阻止错误超过4次以上的ip地址访问;脚本内容如下:
#!/bin/bash
ip=(`awk '/Failed password/ { array[$(NF-3)]++ } END {for(a in array) {if (array[a]>4) print a }}' /var/log/secure`)
for i in ${ip[*]}
do
        firewall-cmd --add-rich-rule="rule family=ipv4 source address=$i/32 service name=ssh reject"
done

检验:

[root@server day1.10]# bash 1.sh
[root@server day1.10]# firewall-cmd --list-all

效果如图:
在这里插入图片描述
在这里插入图片描述

再次用错误超4次以上的IP地址访问该主机地址,如图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值