|
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny
& L2 G) ~# m4 ^" O$ v% `格式 sshd IP:deny/ @( g! E' V$ W0 E1 v
vim /etc/hosts.deny 添加你要禁止的ip就可以了8 Z. D. k0 {- Y3 d1 n( D

- X6 P3 ?" |$ S7 a$ o m这是允许的 /etc/hosts.allow
: A7 u" ]$ q3 G. |* Xsshd:19.16.18.1:allow. l7 O! o5 u( y2 p: t! F+ i! A
sshd:19.16.18.2:allow
# {1 D5 V- k; x) n. v/ q3 [" R! P% t) a! S% K. y
找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单2 q1 `( s- z* W8 P
: ]& i' ^! w5 X$ H( _$ G* _8 r
1、编辑脚本 vim /usr/local/bin/secure_ssh.sh
: j+ j$ V8 S9 q( l' {- #! /bin/bash( |1 K6 i* i5 `$ F4 D1 I
- cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt
5 R- |8 t& G2 P# h - for i in `cat /usr/local/bin/black.txt`& _; u; S7 j5 B0 q( q; F, S
- do9 X1 O! w% S) {9 @
- IP=`echo $i |awk -F= '{print $1}'`
Q- ^, L% `. S0 v - NUM=`echo $i|awk -F= '{print $2}'`) Z& @6 j+ W1 @& w0 A, M6 s
- if [ $NUM -gt 5 ];then
, y9 l: c+ u7 U [! k' S - grep $IP /etc/hosts.deny > /dev/null6 `; Y1 p9 ^' P# O2 y
- if [ $? -gt 0 ];then, u$ k, F5 |0 p
- echo "sshd:$IP:deny" >> /etc/hosts.deny, N! R! R" ` ?8 v
- fi4 e; q4 u# L5 \- B, [# f6 k0 g
- fi+ B6 e- U& ~8 O. \* Q
- done
复制代码 2、创建记录登录失败次数的文件 touch /usr/local/bin/black.txt3 W8 T- ^2 Q9 N7 I, u2 O! D
) D ~. y+ N8 @
3、添加定时 5分钟执行一次
/ v: ~, ?5 `: ?+ A4 R: o
/ |2 q$ a# K: B/ y */5 * * * * sh /usr/local/bin/secure_ssh.sh
/ {7 e% E1 j4 F9 b- ]- Y7 e% a- ] Y9 X
4、测试 ssh登录147 ssh 192.168.1.147
|5 f9 p Z/ W* s / ]& _ X4 n3 Z
5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt
* [( q, _- a. @; a. J & k7 e6 u# ~. G
6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
. [% k. L/ }, b, T% b+ b% W 9 Y! {% S7 U! H
w# I. ?7 D2 B# B9 ^8 ]* K$ S3 U( C7 t& e
/ j. W0 K% B, b. m A$ {
|
|