linux 安全防护

     这些都是破解失败记录。

     网络暴力破解的系统登陆安全日志查看:

[root@zwlbsweb ~]# cd /var/log
[root@zwlbsweb log]# ll -h
-------------------------省略部分信息------------------------------
-rw-------  1 root  root  4.9M Jul 17 10:10 secure
-rw-------  1 root  root   38M Jun 24 03:29 secure-20190624
-rw-------  1 root  root   64M Jun 30 03:10 secure-20190630
-rw-------  1 root  root   46M Jul  7 03:37 secure-20190707
-rw-------  1 root  root   14M Jul 15 03:41 secure-20190715
-------------------------省略部分信息------------------------------

 

1、禁止root用户ssh登陆

      需要编辑/etc/ssh/sshd_config。

vim /etc/ssh/sshd_config

     找到 PermitRootLogin,改为 PermitRootLogin no

     保存退出配置文件后,重启sshd服务

systemctl restart sshd.service    如果是centos7一下的版本,命令为:service sshd restart

2、将登录失败超过5次的ip添加到/etc/hosts.deny

将/var/log/secure日志中登录失败的记录,添加到/root/sshPrevent/black.txt中。将登录失败超过5次的ip,加入/etc/hosts.deny中

#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/sshPrevent/black.txt
DEFINE="5"
for i in `cat  /root/sshPrevent/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" >> /etc/hosts.deny
          fi
        fi
done

该文件拷贝会有格式问题。
用:set ff?可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用:set ff=unix把它强制为unix格式的, 然后存盘退出即可。

     添加到计划任务:

[root@zwlbsweb ~]# crontab -e
5 * * * * /bin/bash /sshPrevent/ssh_pervent.sh
# 每个小时检查一次

     检查是否成功

[root@zwlbsweb ~]# cat /sshPrevent/black.txt 
103.101.232.208=1 103.108.187.4=2 103.248.220.249=15 104.131.93.33=1 104.236.122.193=2 104.236.186.24=2 104.236.246.16=1 104.244.79.33=4 104.248.211.180=2
[root@zwlbsweb ~]# cat /etc/hosts.deny

sshd:103.248.220.249
sshd:104.248.88.106
sshd:106.12.18.37
sshd:106.51.230.186
sshd:106.75.17.91
sshd:112.21.188.183
sshd:112.221.179.133

 

posted @ 2020-01-12 13:17  JackGIS  阅读(261)  评论(0编辑  收藏  举报