|
|
centos7用的是firewall 添加单个黑名单只需要把ip添加到 /etc/hosts.deny
" x6 Z- `, e1 j" U- Z0 C! ~0 \; ^格式 sshd IP:deny
& B, g# m3 w' [ vim /etc/hosts.deny 添加你要禁止的ip就可以了! V& k0 c4 z# \- Q

_( e9 o* a$ _/ D4 S这是允许的 /etc/hosts.allow
0 V5 c3 W: j, X3 ^2 lsshd:19.16.18.1:allow, j7 O1 {- s2 M5 ^3 s
sshd:19.16.18.2:allow5 i0 S7 v1 U! n+ I, E R2 b: ]
+ r1 }+ k: I: W( r$ k p+ E
找了个,多次失败登录即封掉IP,防止暴力破解的脚本 亲测有效 超过5次的就加到黑名单
( c+ D+ X& w5 _+ E; Y% w" W$ U: j4 I! k1 j# L+ _. J% q- `# F
1、编辑脚本 vim /usr/local/bin/secure_ssh.sh" b7 V3 _2 u* W
- #! /bin/bash5 R- a5 d& L% F; G. x4 C
- cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /usr/local/bin/black.txt5 o/ ?! y( U! J' P- @
- for i in `cat /usr/local/bin/black.txt`
4 |1 i+ T; Q; j4 }: G - do
- I: U+ x' _% j# H& { r - IP=`echo $i |awk -F= '{print $1}'`
4 q, b# z9 }& p9 ?, W - NUM=`echo $i|awk -F= '{print $2}'`# P+ i) Y0 N V' L9 l
- if [ $NUM -gt 5 ];then
) E' w) g& N1 ~: i2 G& r - grep $IP /etc/hosts.deny > /dev/null3 U4 j4 H5 A9 O% z! G
- if [ $? -gt 0 ];then
- [% P" p' R4 l# c9 Q - echo "sshd:$IP:deny" >> /etc/hosts.deny( q" k* ?$ b% C4 Z7 e
- fi5 M8 n4 |- s+ p
- fi$ ?8 M/ {4 \. v* o( Y7 k( `
- done
复制代码 2、创建记录登录失败次数的文件 touch /usr/local/bin/black.txt2 I! V; C7 W! B( a! [
6 ]: x$ y9 o4 |9 U9 r6 j! a3、添加定时 5分钟执行一次 2 x4 Z& e+ B3 a: H6 e7 r9 ~
7 }$ u# Y1 I; U8 y8 ` */5 * * * * sh /usr/local/bin/secure_ssh.sh, W# \2 w% }3 X
8 Y; G0 L3 X4 c }
4、测试 ssh登录147 ssh 192.168.1.147+ A1 L# ~2 b: Y% Z; W5 o2 D9 V. @/ n
3 z1 D0 N' p6 V
5、查看黑名单列表是否记录 cat /usr/local/bin/black.txt0 Y5 e3 h) ^7 G5 ` q

- h$ I5 ~8 I3 M6 v, U5 a6、查看黑名单列表看是否添加进去了 cat /etc/hosts.deny
* Z8 S" t. b0 T& h! t, r5 A % L* e3 l6 J$ q& I! F, O
5 i& j7 n9 @. w* \3 [* F& J
2 x2 d6 `& i- s3 U5 s- q
4 l! Z( J" Z: L& r( t, r; p$ v- M# w
|
|