linux被恶意登录ssh、vsftpd,解决小脚本

偶然登录zabbix监控时突然看见显示进程过多,随即登录服务器杀死进程,查看/var/log/secure发现这样的错误:Feb  5 20:42:42 instance-m63fnpbp login: pam_securetty(remote:auth): access denied: tty 'pts/2' is not secure !
Feb  5 20:42:43 instance-m63fnpbp login: pam_unix(remote:auth): check pass; user unknown

Feb  5 20:42:43 instance-m63fnpbp login: pam_unix(remote:auth): authentication failure; logname= uid=0 euid=0 tty=pts/2 ruser= rhost=177-139-13-74.dsl.telesp.net.brFAILED LOGIN SESSION FROM 177-139-13-74.dsl.telesp.net.br FOR (unknown), User not known to the underlying authentication module

为了防止ip二次恶意登录,特意写了个脚本,脚本如下,(新手,欢迎大家批评指正!)

#!/bin/bash
max_limt=0
black_file=black.txt//得到的黑名单ip,包含恶意登录次数

if [ ! -f $black_file ];
then
touch $black_file
fi
cat /var/log/secure|grep 'Failed'|awk '{print $(NF-3)}'|sort|uniq -c>$black_file

awk '{print $(NF-0)}' $black_file>final_file.txt //只包含ip的文件,个人爱好,可用awk直接从黑名单中提取
for i in `cat final_file.txt`
do
 is_exist=$(grep "$i" /etc/hosts.deny|wc -l)//
        if [ "$is_exist" -eq "$max_limt" ];
        then
        echo  "sshd:$i">>/etc/hosts.deny
        echo  "vsftpd:$i">>/etc/hosts.deny
        fi
done

最后将其加入了crontab中,由于服务器恶意登录频繁,所以一小时检查一次,可根据个人情况实际选择。

59 * * * *  /root/xxxx.sh

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值