linux服务器主要是通过ssh进行登录,但是在华为公有云上,如何保证登录安全性呢?本次以centos7为例,对ssh登录进行安全加固

修改默认端口

在linux上,修改ssh登录的默认端口,比如修改到5000

vim  /etc/ssh/sshd_config

在第17行,将注释#删掉,修改为port 5000'

增加iptables开放端口5000

配置iptables

#iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 5000 -j ACCEPT 
#iptables-save

关闭密码登录,采用密钥登录

在华为云服务器上申请密钥对,同时修改ECS服务器启动采用密钥对登录方式 在完成密钥导入ECS服务器后,会自动在Linux配对密钥 编辑ssh配置文件,采用密钥登录,精致密码登录

vim  /etc/ssh/sshd_config

在最后几行按照如下配置 说明: 140 允许root账户登录 141 不允许使用密码登录 142 不允许DNS解析 143 客户端保持间隔时间 60分钟 完成后,保存配置文件,重启sshd服务

systemclt restart sshd

在xshell或其他ssh客户端连接,使用密码登录会被拒绝,则证明密钥对配置成功

编辑hosts.allow和hosts.deny

/etc/hosts.allow和/etc/hosts.deny两个文件是控制远程访问设置的,通过他可以允许或者拒绝某个ip或者ip段的客户访问linux的某项服务。 比如SSH服务,我们通常只对管理员开放,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段 因为云服务器需要在不同地点登录,建议编辑host.allow允许所有的ip地址登录,这样不会影响正常使用

vim /etc/hosts.allow

在最后一行增加sshd:ALL

我们可以使用一些工具,比如检查ssh状态,查看疑似恶意登录的Ip,然后在/etc/host.deny中将这些地址禁止 我使用logwatch工具,查看疑似恶意登录ip linux的安全机制,也会自动将一些异常的ip记录到拒绝登录中