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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
10月前
|
网络协议
端口最多只有65535个,为什么服务器能承受百万并发
服务器通过四元组(源IP、源端口、目标IP、目标端口)识别不同TCP连接,每条连接对应独立socket。数据包携带四元组信息,服务端据此查找对应socket进行通信。只要四元组任一元素不同,即视为新连接,可创建独立socket。资源充足时,单进程可支持百万级并发连接,socket与端口非一一对应。
674 10
端口最多只有65535个,为什么服务器能承受百万并发
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
3021 0
|
弹性计算 网络协议 安全
【转】如何配置服务器的端口映射?
本文详解端口映射原理及配置方法,涵盖家庭、企业与云环境,包含静态、动态与双向映射类型,并提供常见问题解决方案。
2481 6
|
云安全 弹性计算 安全
阿里云服务器安全功能解析:基础防护与云安全产品参考
在使用云服务器的过程中,云服务器的安全问题是很多用户非常关心的问题。阿里云服务器除了提供基础的防护之外,还提供了一系列安全防护类云产品,以确保用户云服务器的安全。本文将详细介绍阿里云服务器的基础安全防护有哪些,以及阿里云的一些安全防护类云产品,帮助用户更好地理解和使用阿里云服务器的安全功能。
|
人工智能 安全 算法
长擎安全操作系统:构筑企业级服务器安全的坚固基石
长擎安全操作系统,以自主可控内核为基础,构建七层纵深防御体系,全面支持国密算法与可信计算,适配能源、金融、制造等关键行业,为企业服务器提供全方位安全保障,助力数字化转型安全发展。
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
监控 安全 Ubuntu
从零开始学安全:服务器被入侵后的自救指南
在信息爆炸时代,服务器安全至关重要。本文针对黑客入侵问题,从应急处理、系统恢复到安全加固全面解析。发现入侵时应冷静隔离服务器,保存日志证据,深入排查痕迹;随后通过重装系统、恢复数据、更改密码完成清理;最后加强防火墙、更新软件、部署检测系统等措施防止二次入侵。服务器安全是一场持久战,需时刻警惕、不断优化防护策略。
1667 1
|
Ubuntu Linux 网络安全
如何在Linux中更改主机名?修改主机名最新方法
本期教程将指导您如何在Linux系统中更改主机名。主机名是Linux系统的常用功能,用于识别服务器,帮助区分不同服务器,并与网络进程和其他应用程序协同工作。教程涵盖显示当前主机名的方法(通过`hostname`命令),以及在CentOS 7、Debian 9和Ubuntu 16.04及以上版本中更改主机名的步骤(使用`hostnamectl set-hostname`命令)。对于其他Linux版本,可编辑`/etc/hostname`文件实现更改。记得重启相关服务或服务器以使更改生效!
3101 12
|
网络协议 安全 应用服务中间件
云服务器怎么开启被关闭的端口?手把手教你开启端口
在使用云服务器时,若发现某些服务无法访问,可能是端口被关闭。本文介绍了端口关闭的原因、检查方法及开启步骤。原因包括初始设置限制、防火墙规则和外部网络策略;可通过netstat或ss命令检查端口状态,用ufw、iptables或firewalld调整防火墙规则。最后提供了解决常见问题的建议,确保端口正常开放并可供外网访问。
2584 9

热门文章

最新文章