ssh安全配置

发布 : 2019-01-13 分类 : Linux 浏览 :

最近SSH被人疯狂试探secure都快1G了这样下去迟早出事…
赶紧百度提高一下SSH安全配置

修改ssh端口

修改配置文件sshd_config里端口号

1
2
3
#编辑ssh配置
vim /etc/ssh/sshd_config
Port 22 #将注释打开,并且修改22端口号为其他的端口

在防火墙中添加端口 并重启ssh

1
2
3
4
5
6
#添加22防火墙端口
firewall-cmd --zone=public --add-port=22/tcp --permanen
#重启防火墙
systemctl restart firewalld
#重启ssh
service sshd restart

访问

1
ssh -p 22 root@0.0.0.0

添加ip黑名单和白名单

白名单

1
2
3
4
vim /etc/hosts.allow

#白名单
sshd:0.0.0.0:allow

黑名单

1
2
3
vim /etc/hosts.deny
#黑名单
sshd:0.0.0.0:deny

如果黑名单一个个添加很不现实
所以需要做到自动化添加

作者:Wiil
来源:CSDN
原文:https://blog.csdn.net/ztq157677114/article/details/50337711

自动添加黑名单脚本

编写脚本 /root/secure_ssh.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/warning_black.txt
DEFINE="5"
for i in `cat /root/warning_black.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ];then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ];then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done

定时执行

将secure_ssh.sh脚本放入cron计划任务,每1分钟执行一次

1
2
# crontab -e
*/1 * * * * bash /root/secure_ssh.sh
本文作者 : zhouinfo
原文链接 : http://blog.zhouinfo.site/2019/01/13/ssh%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE/
版权声明 : 本博客所有文章除特别声明外,均采用 CC Apache License 2.0 许可协议。转载请注明出处!
留下足迹