云服务器主机安全加固
1.SSH登录尝试的系统日志信息
Last failed login: Sat Oct 714:10:39 CST 2023 from xxx.xx.xx.xxx on ssh:notty
There were 10 failed login attempts since the last successful login.
Last login: Sat Oct 713:42:50 2023 from xxx.xxx.xxx.xxx
2.安全加固方法
2.1 修改SSHD端口
修改SSHD的默认端口,它可以抵御一些简单的密码暴力破解脚本。
# 1.修改ssh配置文件vim /etc/ssh/sshd_config
# 添加
Port 2200# 2.重启ssh服务
systemctl restart sshd
2.2 禁用登陆失败的IP地址
- 查看登录失败的IP地址
grep"Failed password for invalid user" /var/log/secure |awk'{print $13}'|sort|uniq-c|sort-nr
- 通过下面的命令将这些登陆失败的IP加入服务器访问限制名单【失败次数最多的10个IP】
cat /var/log/secure |grep"Failed password for invalid user"|awk'{print $13}'|sort|uniq-c|sort-n|tail-10|awk'{print "sshd:"$2":deny"}'>> /etc/hosts.allow
2.3 使用密钥登录
使用SSH密钥,并禁用密码登录,以MobaXterm为例进行说明。
- 以下命令在本机上执行(Windows)
# 1.打开cmd# 2.生成密钥对
ssh-keygen -t rsa
# 3.复制公钥内容到远程服务器的authorized_keys文件内# Linux此文件的路径为 /root/.ssh/authorized_keys
- 使用MobaXterm配置私钥进行登录
登录时会闪现以下信息:
Authenticating with public key "Imported-Openssh-Key: C:\\User\\Administrator\\.ssh\\id_rsa"
- 可以使用密钥登录后关闭密码登录,以下命令在远程服务器上执行(Linux)
# 4.禁用密码登录vim /etc/ssh/sshd_config
# 默认为yes修改为no
PasswordAuthentication no
# 默认不开启
PubkeyAuthentication yes# 5.重启ssh服务
systemctl restart sshd
# 尝试使用密码登录将报错
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
PasswordAuthentication: (默认为
yes
)当设置为
no
时,用户不能通过提供密码进行SSH登录。必须使用其他允许的身份验证方法,比如使用SSH密钥(公钥)。这两个配置参数也是用于SSH服务器的sshd配置文件(通常位于/etc/ssh/sshd_config),用于控制用户通过SSH进行远程访问时的身份验证方式。
PubkeyAuthentication: (默认被注释)当设置为
yes
时,允许用户使用公钥进行身份验证,包括但不限于RSA密钥。这是一种基于密钥对的身份验证方式,用户在其本地生成密钥对,将公钥上传到SSH服务器上。只有拥有相应私钥的用户才能成功进行身份验证。这通常比基于密码的身份验证更加安全。
3.总结
方法1和2有一定的防护作用,方法3会稍微复杂一些,但是更加安全。
版权归原作者 シ風箏 所有, 如有侵权,请联系我们删除。