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

简介: 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会稍微复杂一些,但是更加安全。

相关实践学习
基于ECS搭建云上博客
本实验教您如何在ECS云服务器(Alibaba Cloud Linux 3)的环境下,通过部署LAMP环境并安装WordPress快速搭建个人博客。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
720 14
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
888 24
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
1057 28
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
859 11
|
网络协议 API 网络安全
永久独立IP服务器解析与选择指南
关于“永久独立IP服务器”,这个概念需要从技术和商业两个层面来理解,小编为您整理发布。
|
Go API 定位技术
MCP 实战:用 Go 语言开发一个查询 IP 信息的 MCP 服务器
随着 MCP 的快速普及和广泛应用,MCP 服务器也层出不穷。大多数开发者使用的 MCP 服务器开发库是官方提供的 typescript-sdk,而作为 Go 开发者,我们也可以借助优秀的第三方库去开发 MCP 服务器,例如 ThinkInAIXYZ/go-mcp。 本文将详细介绍如何在 Go 语言中使用 go-mcp 库来开发一个查询 IP 信息的 MCP 服务器。
1021 2
|
数据库
YashanDB更换服务器IP
本文来自YashanDB官网,主要介绍当单机部署的数据库集群中服务器IP发生变更时,管理员如何使用`yasboot ipchange`命令完成数据库层面的IP更换操作。以一主两备环境为例,详细描述了更换`yasom`、`yasagent`和`yasdb` IP的具体步骤,包括操作顺序、命令示例以及验证方法,确保数据库服务恢复正常运行。操作需按顺序执行,并满足YashanDB的部署要求。
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
应用服务中间件 Linux 开发者
用的到linux-tomcat端口占用排查-Day5
通过本文的介绍,详细讲解了在CentOS 8系统上排查和解决Tomcat端口占用问题的方法。从使用 `netstat`、`lsof`和 `ss`命令检查端口占用情况,到使用 `ps`和 `top`命令查找和停止占用端口的进程,再到修改Tomcat端口配置,最后介绍了自动化脚本的方法。希望本文能帮助系统管理员和开发者有效地解决端口占用问题,确保Tomcat服务器的正常运行。
756 11
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
696 13