|
|
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny- W3 v' [' ` W; S, ?2 k, {# U
格式 sshd IP:deny9 e- o, q1 `0 D$ X0 G; {
vim /etc/hosts.deny 添加你要禁止的ip就可以了
* u' M/ {# E4 i* \1 } - A( D: [* o) I! r% ]
这是允许的 /etc/hosts.allow
8 p, f/ _$ t& A1 Fsshd:19.16.18.1:allow
( j! e0 T7 B/ c) qsshd:19.16.18.2:allow9 C* c9 k3 M7 m) m
$ s/ ~8 t; v5 M4 [5 H$ n
找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单
7 n$ V& B0 r) s5 Y1 f' ^
! O5 Q; o; G) }' v# i$ S' y6 O1、编辑脚本 vim /usr/local/bin/secure_ssh.sh) K4 o5 s! Q3 r! D3 S5 N
- #! /bin/bash
0 B) R* T& F: c. C - cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
6 _, O' X9 ]* u" R6 s - for i in `cat /usr/local/bin/black.txt`
" f" X7 I0 q) u2 n7 G - do
! `+ E: q9 l! P& p - IP=`echo $i |awk -F= '{print $1}'`
1 T9 w7 _9 R+ X- T - NUM=`echo $i|awk -F= '{print $2}'`6 V% [/ f! F$ z, q- L1 V- _
- if [ $NUM -gt 5 ];then
& o- s" z; ~. H3 i" ~ - grep $IP /etc/hosts.deny > /dev/null
% X/ P/ l6 }( V" {. Z7 U' g: ^ - if [ $? -gt 0 ];then
1 S8 j) K2 @' P1 l' z - echo "sshd:$IP:deny" >> /etc/hosts.deny/ f6 Q" r+ I. h8 }" H. e
- fi
, A" M/ I5 A. Q% j. ~7 ~! ` - fi6 q7 k" g% y$ W) z* O
- done
复制代码 2、创建记录登录失败次数的文件 touch /usr/local/bin/black.txt& a" i7 h3 `1 D/ F2 x
: j p$ _- @0 S! S+ _3、添加定时 5分钟执行一次 ( D. d' I. {4 c: q/ O7 q' c
) v, G6 v! ~ u1 }) d */5 * * * * sh /usr/local/bin/secure_ssh.sh
1 k9 I5 p; g8 O4 S+ y& z6 w7 O& b/ x G6 b' ^
4、测试 ssh登录147 ssh 192.168.1.147
" v' z* q; {' U5 d7 P! e 6 r0 R$ ?/ h- G0 L
5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt" `9 y" [# _5 G! D

! i' S& U c7 B' k$ r7 m6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
5 Q8 p5 T$ U- h
. b8 Y( a- X4 j& N
8 p; Z0 U6 p' ]6 R3 L- P2 Z$ a! E8 x5 H
5 d; E* I3 P% f# n5 A |
|