|
|
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny
; c& ?) K* p& d( U, y( s$ e; ^格式 sshd IP:deny9 j! m3 z2 f3 l+ u+ ]
vim /etc/hosts.deny 添加你要禁止的ip就可以了: l$ j8 l& o& w0 U; k6 `$ z7 M
9 \* n0 g$ Y( q" E
这是允许的 /etc/hosts.allow 9 Z5 f: l1 I3 w- @& ^* ~
sshd:19.16.18.1:allow6 u. l; ~) i: O y h
sshd:19.16.18.2:allow
, y, i- g- T* b% \# |# L- t4 `0 F) B: t
找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单
; |# G8 @3 z; b$ z; ~; m5 z8 c8 H9 z3 ]" J$ m& ^4 `6 m
1、编辑脚本 vim /usr/local/bin/secure_ssh.sh& J" F* v9 x9 V2 v
- #! /bin/bash# R; z5 n' x" K5 E# Z S
- cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt9 Y. R& ]( b7 Y8 C
- for i in `cat /usr/local/bin/black.txt`
7 M/ ^$ j: N$ I6 N4 T - do
# a* D) r; z- I# E( O, X4 ?. S - IP=`echo $i |awk -F= '{print $1}'`1 ?! G, B7 S Y
- NUM=`echo $i|awk -F= '{print $2}'`7 T: C% {9 z# P8 R8 j
- if [ $NUM -gt 5 ];then- w6 ]- |4 I7 Y2 k4 x( j9 L
- grep $IP /etc/hosts.deny > /dev/null
" l: c/ B6 F& A! L6 T { - if [ $? -gt 0 ];then$ F" L8 ^! O' e4 R: C* d, s9 {
- echo "sshd:$IP:deny" >> /etc/hosts.deny. j/ ~+ [! k' V+ w; l3 a
- fi4 j" z- h* g; a, d$ _3 e. v {1 L8 d
- fi
& v! ^2 g' |9 g5 _. a - done
复制代码 2、创建记录登录失败次数的文件 touch /usr/local/bin/black.txt
7 i/ t- m" ^- s: {1 K
; U# r0 u; e/ I; x3、添加定时 5分钟执行一次
' }! m% f- N" d2 J! d' I) b
% u9 T8 V; M' X */5 * * * * sh /usr/local/bin/secure_ssh.sh! v+ O) [: Y) x: m
( \" ~0 q$ o+ t( E. r0 ~4、测试 ssh登录147 ssh 192.168.1.147
; f+ _; n! n8 K, x& N: l + y+ h. K2 P; g- W$ |
5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt
5 T. Y. f! {1 p! s4 s' \6 y( w 9 U1 I, h9 ^2 Z- f+ W
6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
/ ?! h6 J' S2 Y% }8 d" N4 @/ }
( _4 i( T$ j# h. W* D- K1 J1 n7 `' u$ r4 ~+ N; H" h/ `7 a
9 w5 X1 W) t) i
# E" @; S9 Z$ ]* E! j
|
|