此脚本用于分析统计secure日记文件,对ssh登录错误次数较多的IP用iptables封掉。
$ g# A# t/ T, [7 x8 S# |: F- #!/bin/bash
+ C, y9 s$ i+ [- g+ D* V4 v6 [ - #Created by haiyun
$ O8 Y9 L" i% O# Z0 | - num=10 #上限
6 e m9 Q0 F# B+ ?, J& a - for i in `awk '/Failed/{print $(NF-3)}' /var/log/secure|sort|uniq -c|sort -rn|awk '{if ($1>$num){print $2}}'`
8 o* P8 q) y3 ~8 I - do- J$ n, Y; {& b- H9 o
- iptables -I INPUT -p tcp -s $i --dport 22 -j DROP
( F4 C1 z4 ]7 ?1 I$ x! w" K - done
复制代码 加入crontab计划任务
6 A, @ g* g2 O7 X3 x. { w# C- crontab -e/ e- ^8 p8 b$ U1 n) ~
- * */5 * * * sh /path/file.sh #5小时执行一次
复制代码
7 L1 q6 [9 w0 n* P' P! n1 [
# n4 o! ~' `; C: S, E+ X |