您需要 登录 才可以下载或查看,没有账号?注册
x
在公司运维的生产环境中,我们发现有人在破解你的root密码。那么任何才能让被人不能破解你的密码,并且访问其他服务可以正常使用。 - 查看TCP连接
netstat -an|grep -i es - 用于统计登录失败次数,及登录的IP信息
tail -n 100 /var/log/secure |grep "Failed password"|awk '{print $11}'|sort|uniq -c|sort -nr
vim /etc/sysconfig/iptables -A INPUT -s 【IP信息】 -j DROP 禁止该IP访问任何端口 /etc/init.d/iptables restart 重新启动iptables 测试: 攻击者为10.0.0.52 被攻击者为10.0.0.51
从上图可以看出,该ip不能在访问,已经被拒绝方案2:脚本实现防止破解服务器密码
#!/bin/bash
#auto drop ssh failed IP address
#定义变量
SEC_FILE=/var/log/secure
#如下为截取secure文件恶意ip远程登录22端口,大于等于4次就写入防火墙,禁止以后再登录服务器22端口,egrep -o "([0-9]{1,3}.){3}[0-9]{1,3}"是匹配IP的意思,[0-9]表示任意的一个数,{1,3}表示匹配1-3次
IP_ADDR=tail -n 100 /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}' $SEC_FILE
IPTABLE_conf=/etc/sysconfig/iptables
echo
cat <<EOF
+++++++++++++welcome to use login drop failed ip+++++++++++
EOF for i in echo $IP_ADDR
do #查看iptables配置文件是否还有提取的IP信息
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" $IPTABE_conf
else
echo "This is $i is exist in iptables,please exit......"
fi
done
/etc/init.d/iptables restart
|