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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: Linux【安全 01】云服务器主机安全加固(修改SSHD端口、禁用登陆失败的IP地址、使用密钥登录)

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

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的默认端口,它可以抵御一些简单的密码暴力破解脚本。

# 1.修改ssh配置文件
vim /etc/ssh/sshd_config
  # 添加
  Port 2200
# 2.重启ssh服务
systemctl restart sshd

2.2 禁用登陆失败的IP地址

  1. 查看登录失败的IP地址
grep "Failed password for invalid user" /var/log/secure | awk '{print $13}' | sort | uniq -c | sort -nr
  1. 通过下面的命令将这些登陆失败的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会稍微复杂一些,但是更加安全。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
Linux
linux查看应用对应的端口
linux查看应用对应的端口
17 0
|
1月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
139 0
|
1月前
|
安全 Windows
服务器中如何检查端口是否开放
服务器中如何检查端口是否开放
|
2月前
|
安全 网络协议 Linux
Linux系统管理、服务器设置、安全、云数据中心
Linux系统管理、服务器设置、安全、云数据中心
|
16天前
|
Linux Windows
Windows、Mac、Linux解决端口被占用的问题
Windows、Mac、Linux解决端口被占用的问题
24 1
|
18天前
|
网络协议 Linux
Linux如何查询端口被占用?
在Linux环境中,查询端口占用可使用`netstat`、`lsof`和`ss`命令。`netstat -tulnp | grep 80`显示TCP/UDP监听端口,`lsof -i:80`列出使用80端口的进程,而`ss -tuln | grep 80`是`netstat`的现代替代选项。若需解决端口占用问题,先找出占用进程的ID,然后用`kill -9`命令终止它,或调整服务配置以避免冲突。
23 1
|
2月前
|
弹性计算 监控 Linux
ECS实例问题之无法连接443端口如何解决
ECS实例指的是在阿里云ECS服务中创建的虚拟计算环境,用户可在此环境中运行应用程序和服务;本合集将介绍ECS实例的创建、管理、监控和维护流程,及常见问题处理方法,助力用户保障实例的稳定运行。
|
2月前
|
Linux 网络安全
linux端口1
linux端口1
34 4
|
2月前
|
Linux
linux端口2
linux端口2
22 0
|
2月前
|
Linux
linux端口3
linux端口3
18 2