在云平台买了2台服务器,发现有两个ip在爆破root 密码,虽然已经设置密码强度很复杂,但是还是怕被人惦记也。
一、根据以前做企业网络安全经验,思考一下服务器防止爆破的手段:
1)禁止账号密码登录,使用SSH KEY登录,这样即使知道账号密码但没有SSH KEY也登录不了服务器。
2)限制登录的IP地址,也就是仅放通我自己的运维电脑的IP可以登录服务器,其他IP都不允许登录我的服务器。
3)当然最好还是修改一下端口以免无聊的人盲扫到我服务器端口进行测试。
4)使用堡垒机或者跳板机管理服务器的远程登录,也就是禁止其他IP登录服务器,仅允许通过堡垒机和跳板机登录远程服务器。
5)设置账号密码登录错误次数限制,比如登录错误10次锁定10分钟。这个也是可以的,当然也要考虑一些无聊的人或误操作10次锁定10分钟会对服务器里面影响有多大。
由于是个人的linux服务器,也只有两台,数量不多,因此采用了第1种和第2种方法。
一、生成和使用ssh key
对于云平台可以在控制台一键生成ssh key,这里不介绍。
这里介绍一下使用了linux系统生成ssh key,以及如何使用ssh key登录服务器。
1)生成公钥和私钥
[root@localhost Desktop]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -N '123456'
#123456是key的密码,以后登录就需要使用
可以看到root/.ssh/目录中多了id_rsa.pub(公钥,要放在服务器),id_rsa(私钥,客户端使用)
2)修改公钥配置
[root@localhost .ssh]# vi /root/.ssh/authorized_keys
把id_rsa.pub(公钥)的内容,复制到服务端的authorized_keys中,保存。
二、客户端使用key登录
先把id_rsa(私钥)拷贝到客户端中。
1)Linux远程使用key登录
如把id_rsa保存在/root/.ssh/,使用id_rsa私钥远程登录192.168.xx.xx
第一次登录需要确认,输入yes即可
2)也可以把私钥导出来在Xshell登录:
三、关闭密码认证登陆,使用key登陆
修改sshd 的主配置文件,关闭密码认证登陆,使用key登陆。
vim /etc/ssh/sshd_config
找到 PasswordAuthentication yes
改成 PasswordAuthentication no
操作如下:
[root@localhost ~]# service sshd restart //要重启才会生效
使用密码登录不了了,提示只能使用KEY登录.
四、仅允许自己运维机登录服务器
可以使用firewalld或iptables来设置,这里我是使用云平台的防火墙进行限制,仅放通我自己电脑的IP访问服务器。
举报/反馈