Linux 防暴力破解
1.生成复杂密码,将Linux密码加固到16位或者更高
打开百度,搜索"密码生成器",点击第一个应用,来生成一个16位或者更多的复杂密码.
用Xshell登录服务器,执行 passwd ,然后输入2次新的加固密码即可,看到passwd: all authentication tokens updated successfully.就表示密码更改成功.
2.使用Xshell生成key
您需要一个七牛云或者又拍云的存储空间(必须设置为公开),用来存储Xshell生成转换的authorized_keys.
必须先用Xshell来生成KEY才能执行下面第三步提供的脚本!
执行前我们首先需要生成一个密钥文件,然后转换为authorized_keys
Xshell-工具-新建用户密钥生成向导
选择密钥类型 RSA ,密钥长度一般1024即可,需要更高强度安全的可以选择2048或者3072,但是连接服务器速度会稍微慢点.
密钥名称请自定义为容易记住的名字,一定要设置密钥密码,然后点击下一步(重要)!
这只密钥密码以后,拿到密钥没有密码也没有办法使用的,安全性很高.
这里点击界面右下方的保存为文件,将公匙保存到桌面或者其他地方,然后回到桌面将公匙文件复制一份以后重命名为authorized_keys,
然后将authorized_keys文件上传到支持外链的空间,七牛云又拍云等都可以.
3.下载使用脚本快速设置远程端口和导入authorized_keys,启用DenyHosts自动屏蔽IP
为了方便新手,写了一个sh脚本,只需下载执行,即可1.更改端口,2.设置使用自己密钥KEY登录,3.设置启用DenyHosts
设置完毕以后在没有密钥的情况下连接到服务器就会自动被中断,也就无法进行暴力猜解了,密钥和公匙请做好备份。
例如我们要设置服务器远程控制SSH端口为:12345
自己的公匙authorized_keys下载地址为:testssh.qiniudn.com/authorized_keys
那么执行以下脚本:
cd ~
wget http://testssh.qiniudn.com/txsshsafe.sh && chmod +x txsshsafe.sh && ./txsshsafe.sh
运行脚本以后按照提示设置,然后按任意键执行:
执行完毕以后将会显示您设置的端口和authorized_keys地址.
然后回到Xshell,选择需要编辑的服务器,右键属性,修改端口号和用户身份认证.
设置完毕以后,如果没有授权非法连接服务器,将会被自动中断,超过5次尝试将会被DenyHosts直接列入黑名单,无法在继续尝试连接.
4.终端IP连接认证,动态域名IP自动获取认证(高阶操作,新手需谨慎操作!如无需求,新手请勿尝试.)
请注意,本步里面的操作涉及到部分系统功能,需要仔细操作,操作失误将会无法挽回,没有VNC的情况下只能重装.
动态域名申请请到花生壳,然后本地安装花生壳6.0登录,参见上文win里面的说明.
下载sh脚本文件修改:http://testssh.qiniudn.com/hostsallow.sh
请务必使用EditPlus 编辑器来修改脚本,因为其他编辑器会把Unix脚本转换为Windows格式,导致编辑以后运行报错.
修改说明:将文件里面的txtest.wicp.net修改为自己申请的动态域名,如果有多个动态域名或者有固定IP怎么办呢?
按照下文增加ipadd2 ipadd3 即可,静态IP直接添加即可,修改完毕上传到服务器,
执行 chmod +x hostsallow.sh&& ./hostsallow.sh 即可.
ipadd=`ping txtest.wicp.net -c1 | grep PING | awk '{ print $3 }' | cut -c 2- | cut -d\) -f1`
echo -e "ALL:$ipadd:ALLOW" >> /etc/hosts.allow
#多个动态域名IP添加ipadd2
ipadd2=`ping txtest2.wicp.net -c1 | grep PING | awk '{ print $3 }' | cut -c 2- | cut -d\) -f1`
echo -e "ALL:$ipadd2:ALLOW" >> /etc/hosts.allow
#静态IP添加,例如27.121.121.121
echo -e "ALL:27.121.121.121:ALLOW" >> /etc/hosts.allow
因为动态域名的IP随着我们使用的网络IP变动,那么就需要将脚本加到 定时执行(Crontab) 来每隔10分钟定时更新获取IP:
运行 crontab -e ,按下键盘上的 I 键进入编辑模式,输入以下信息,然后ESC,接着Shift+:,输入wq,回车即可保存生效.
*/10 * * * * /root/hostsallow.sh
设置完毕以后,就表示服务器将会每隔10分钟来ping设置的动态域名,然后将获得的IP加到服务器授权列表中,只有获得授权的机器才能连接服务器进行管理,其他服务器试图链接将会直接遭到拒绝.