|
|
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny7 v& v0 S# v5 k- x* }0 z3 d' P8 |5 R
格式 sshd IP:deny: c8 K3 _5 v5 K' q4 D: F! ]6 P
vim /etc/hosts.deny 添加你要禁止的ip就可以了6 a* n/ F5 s! S3 b" U- }& K
& V9 {( T1 k$ J+ h0 E. D4 l: z1 L
这是允许的 /etc/hosts.allow , `( H9 Q8 l4 F6 v( O, @, ^# v
sshd:19.16.18.1:allow" I1 [% p5 a* \, g2 ~
sshd:19.16.18.2:allow5 J# T7 Q: A7 x% _
( t$ k8 ~( u, w8 C5 Q! Y, U; w
找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单
" `2 r3 g r" z1 U4 n
" b: O$ A/ K$ ?! U# |1、编辑脚本 vim /usr/local/bin/secure_ssh.sh
( m' A' B" {/ r( A3 z- #! /bin/bash/ w! X$ g8 V0 R. v
- cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
& M- r* D2 Q, R - for i in `cat /usr/local/bin/black.txt`
( y" c$ w% N1 u E2 l \9 d, E) {9 ` - do
/ w6 z6 u* r6 o$ M* a$ K; X4 p - IP=`echo $i |awk -F= '{print $1}'`
% H" x, `/ t% g+ U$ ^+ { u - NUM=`echo $i|awk -F= '{print $2}'`0 S4 ^0 S- f- [0 D
- if [ $NUM -gt 5 ];then ^/ ]$ h: K7 T5 Y
- grep $IP /etc/hosts.deny > /dev/null" N- T9 y0 x( z+ Y: }" N: [: ~
- if [ $? -gt 0 ];then
% R) @& E$ h7 K6 T% E- P% {, v - echo "sshd:$IP:deny" >> /etc/hosts.deny" [9 ^1 m2 V# f I
- fi
% L( ^0 {" D1 `. C7 H, g6 v - fi
1 Z1 f% u/ i7 l2 `8 _* u - done
复制代码 2、创建记录登录失败次数的文件 touch /usr/local/bin/black.txt
/ ? P3 D1 }, v d. x; J2 y1 c6 b: f' P
3、添加定时 5分钟执行一次
9 Z. L( v6 a" y+ }5 c. I; N4 l3 T
! V. M, f. K" i */5 * * * * sh /usr/local/bin/secure_ssh.sh/ E+ t# r6 g$ d% X$ Q) p+ m/ U2 N
: I* D; J) r; X
4、测试 ssh登录147 ssh 192.168.1.147, a0 X, O- Q0 [' u R
! `# A/ E- }: r* W2 V; \- [
5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt6 N) c J" e4 N+ J: ]
C- S5 P. X. D+ T
6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
1 K( W/ b' H, Y; g9 r ) `* E. X$ f! d$ d* i" K
- G+ h3 ] K: D" m, g3 b; L+ O' C0 r; O+ P5 _: K) U! d* J& m
" } C) b$ I- j, r; y/ ] |
|