shell示例6
-
编写脚本/root/bin/checkip.sh,每 5 分钟检查一次,如果发现通过 ssh 登录失败 次数超过 10 次,
自动将此远程 IP 放入 Tcp Wrapper 的黑名单中予以禁止防问!/bin/bash
while true;do
mounth=$(date +%b)
mday=$(date +%d)
hour=$(date +%H)
min=$(date +%M)
IP=awk ' /sshd.*Failed password/ { if("'$mounth'" == $1 && "'$mday'" == $2){ split($3,array,":") # 时间判断5min内出现错误的次数 if("'$hour'" == array[1]){ if("'$min'" < array[2] + 5) allert[$11]++; } else{ if("'$min'"+60-array[2] < 5) allert[$11]++; } } } END{ # 打印结果: 出现大于10次的 IP for(IP in allert){ if(allert[IP]>10) print(IP) } } ' /var/log/secure
for I in $IP;do
echo "sshd: ${I}" >> /etc/hosts.deny
done
sleep $((5*60))
done -
配置 magedu 用户的 sudo 权限,允许 magedu 用户拥有 root 权限
visudo
magedu ALL=(ALL) ALL

浙公网安备 33010602011771号