|
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny
0 h6 {2 W8 E+ F; c0 Z; }格式 sshdIP:deny6 a) x0 r1 v o% S* u
vim /etc/hosts.deny 添加你要禁止的ip就可以了! O, r l6 M4 d* T: c" M
0 C- S; `0 K, u
这是允许的 /etc/hosts.allow % b" B/ L3 ]1 v3 n8 C; b% E
sshd:19.16.18.1:allow, m6 m9 U6 {! q8 D- ?/ r
sshd:19.16.18.2:allow
. v" q* i9 U* t! s9 ?' X, G0 c% @0 ?1 l5 G
找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单
* `1 H8 Q4 O+ C
9 U8 F5 s6 l& S1、编辑脚本 vim /usr/local/bin/secure_ssh.sh0 s8 y7 H# @- p) Y
- #! /bin/bash2 \; [7 G0 ]" C$ i9 v( X% q
- cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
! ^" y4 y& Q( o% l! ?- \ - for i in `cat /usr/local/bin/black.txt`: R- W/ x* J3 a0 p, Z4 P# w
- do9 [8 K# `$ N0 L( ]. ` U, N6 C
- IP=`echo $i |awk -F= '{print $1}'`) B+ z! Q/ X3 F9 J
- NUM=`echo $i|awk -F= '{print $2}'` O% g# N. G5 ~
- if [ $NUM -gt 5 ];then8 ?. h& O7 Q9 a
- grep $IP /etc/hosts.deny > /dev/null$ A) w5 R2 r7 ]
- if [ $? -gt 0 ];then. h8 t6 d @6 c
- echo "sshd:$IP:deny" >> /etc/hosts.deny
^% K9 A4 y& p - fi
2 g8 ]- n3 o% q( | - fi
' H/ e$ F m" R! Q - done
复制代码 2、创建记录登录失败次数的文件 touch /usr/local/bin/black.txt5 N+ T J/ i$ e8 u6 Y0 w @
, j8 v+ O' T9 H5 K: [! V+ y3、添加定时 5分钟执行一次
$ q, u- ~: t1 W
: d! L8 S& W6 P6 c: Y# A, I */5 * * * * sh /usr/local/bin/secure_ssh.sh
W8 ]$ k4 `2 K. B$ L/ Z& w. ?& f' S% o
4、测试 ssh登录147 ssh 192.168.1.1477 Q e# z* L- q/ n3 U
$ p8 H0 N; z2 h" G8 L2 I& |
5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt1 \; _1 G/ I, f$ q7 Q
# v, d6 Q" o( I! j! G5 N1 n
6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
1 Z! O5 c) j, D% G8 c" o4 |4 S5 S4 |
+ T; Y0 I! B+ c& F R' q
[( S; x- ?6 H$ q
/ A5 n, f- U" b* D1 q, O |
|