|
|
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny" ^5 t/ b$ z! h1 c6 g8 D
格式 sshd IP:deny
. d. m& N- F" V vim /etc/hosts.deny 添加你要禁止的ip就可以了
, Z& D q' W1 \3 L' W3 V1 | & H, F9 ^6 ~: o4 Y- c, K% K
这是允许的 /etc/hosts.allow 0 Y3 I# V( d. p' m
sshd:19.16.18.1:allow
7 ~1 }/ W3 o7 m. n# i$ U3 [sshd:19.16.18.2:allow2 z; u$ L" o+ R4 a+ r! m; D
8 c( ?! B/ R! I8 s5 `4 g( M1 h找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单+ d& [% b, L1 m$ k) B7 a# I
' ]. H0 q2 ^3 s) Z8 l
1、编辑脚本 vim /usr/local/bin/secure_ssh.sh# F: H0 n" d+ G2 [* x
- #! /bin/bash- p1 t8 i4 C4 [$ E
- cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
. j$ e R+ r# X, d - for i in `cat /usr/local/bin/black.txt`, S) ?) Z: E" I& |0 r. Y3 X
- do2 z- b& Y6 {- f8 `! z, N
- IP=`echo $i |awk -F= '{print $1}'`; c; _- ~- B1 o
- NUM=`echo $i|awk -F= '{print $2}'`2 K/ Q" F! ]( _+ e' V! @, i
- if [ $NUM -gt 5 ];then
* q1 ` v6 \$ |3 q6 f5 y3 { - grep $IP /etc/hosts.deny > /dev/null7 A4 B) e* [$ q4 o
- if [ $? -gt 0 ];then# Z5 X. Z) f9 C* H
- echo "sshd:$IP:deny" >> /etc/hosts.deny
3 u( l* }, G. j/ g7 C; B4 e9 K - fi( f! a @% F, p) a1 ]. y
- fi
6 e( ~# t$ f( J% z1 ^1 T. l: V% | - done
复制代码 2、创建记录登录失败次数的文件 touch /usr/local/bin/black.txt
! _) x! T' C( O
& G* s# W" H4 s- v* r' `3、添加定时 5分钟执行一次
9 p9 j2 ]# I. |
$ F3 r/ D& `6 ^; z */5 * * * * sh /usr/local/bin/secure_ssh.sh
/ G F$ ?2 u& m* D" h1 p) W) o
8 @* V6 R, D* n4、测试 ssh登录147 ssh 192.168.1.147
: }; Z- }' m& u, K1 d6 {& F
6 j B& E; n& X! F# Y- t# {- ]5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt
# t: Y0 d$ n0 ?- P
' v0 q# g- t( O+ W) b7 G6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
. t7 \5 O# G" b4 s$ \- h3 z% B 9 U2 l* _( z' |( E9 @8 e* c1 c
& p; m d( |$ j3 K% N+ N, o
" R" f9 c0 i% R# e! V
}) |2 Y/ U+ K# C ?. }. V( U |
|