LINUX服务器一般开放SSH登陆,这样就难免被菜鸟黑客用软件指令之类的通过密码指令进行暴力破解。

        怎么破呢?

        一、改端口

        默认SSH登陆端口是22,修改成其它高位非固定端口,如2222,编辑ssh/sshd_config,用vi /etc/ssh/sshd_config,在#Port 22下边添加 Port 2222 退出保存。改之前记得如果有防火墙,要用iptables -I INPUT -s 0.0.0.0 -p tcp --dport 2222 -j ACCEPT指令放行下这个端口。

        然后重启ssh,指令是service sshd restart,使端口生效,可以用netstat -tlun查看是否有tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN显示出来,有的话就是改端口成功啦。

        二、封ip

        在/var/log/secure保存ssh2的登陆记录,因此可以用脚本进行过滤出想要的多次尝试登陆失败的IP,将它们加入到/etc/hosts.deny,然后用crontab定时执行这个脚本,即可。脚本如下:

#! /bin/bash

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt
for i in `cat  /root/black.txt`
do
  IP=`echo $i |awk -F= '{print $1}'`
  NUM=`echo $i|awk -F= '{print $2}'`
  if [ ${#NUM} -gt 1 ]; then
    grep $IP /etc/hosts.deny > /dev/null
    if [ $? -gt 0 ];then
      echo "sshd:$IP:deny" >> /etc/hosts.deny
    fi
  fi
done
QQ图片20170329231444.png