Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)

云服务器主机安全加固

1.SSH登录尝试的系统日志信息

bash 复制代码
Last failed login: Sat Oct  7 14: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  7 13:42:50 2023 from xxx.xxx.xxx.xxx

2.安全加固方法

2.1 修改SSHD端口

修改SSHD的默认端口,它可以抵御一些简单的密码暴力破解脚本。

bash 复制代码
# 1.修改ssh配置文件
vim /etc/ssh/sshd_config
	# 添加
	Port 2200

# 2.重启ssh服务
systemctl restart sshd

2.2 禁用登陆失败的IP地址

bash 复制代码
# 1.查看登录失败的IP地址
grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr

# 2.通过下面的命令将这些登陆失败的 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)
bash 复制代码
# 1.打开cmd
# 2.生成密钥对
ssh-keygen -t rsa

# 3.复制公钥内容到远程服务器的authorized_keys文件内
  • 使用MobaXterm配置私钥进行登录
  • 可以使用密钥登录后关闭密码登录,以下命令在远程服务器上执行(Linux)
bash 复制代码
# 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会稍微复杂一些,但是更加安全。

相关推荐
CALL158119098457 分钟前
SVHC 247项与附录XVII限制物质,REACH测试项目有哪些?
运维·安全·安全性测试
言钰解珏8 分钟前
记一次自研ai扫描器漏洞能力检测到rce全过程
安全
对空六课8 分钟前
指标口径生效时间的版本查询实现
大数据·服务器·前端·算法·数据分析
flytalei10 分钟前
Ubuntu 24.04 单节点 K3s 部署实践:从环境评估到故障排查与验收
linux·运维·ubuntu
对空六课13 分钟前
RFM分层边界变化的回溯计算
大数据·服务器·前端·数据库·人工智能·算法·数据分析
Starry-sky(jing)32 分钟前
Hermes Agent 部署后怎么升级?v0.21.7 Linux 源代码版实测
linux·人工智能·ai agent·版本升级·hermes agent
水饺编程35 分钟前
第2章:Linux 基础,clear 命令
linux·c语言·汇编
程序猿老A1 小时前
云服务器ECS怎么配置多IP?
运维·服务器·tcp/ip
看着博客敲代码1 小时前
gobuster 报 the server returns a status code that matches 与 目录爆破用法
安全·网络安全·系统安全
Dreamboat-L1 小时前
日志级别基础 + Spring Boot 日志实践指南
java·服务器·数据库·java-ee·springboot