云服务器最佳实践-Linux云服务器SSH登录的安全加固

news2024/10/6 20:35:47

Linux云服务器常用的登录方式是SSH,对于密码登录方式创建的云服务器,如何保证登录安全性呢?本文以CentOS 7.6为例,对SSH登录进行安全加固。

在这里插入图片描述

修改默认端口

1、通过SSH密码方式远程登录云服务器。
2、执行以下命令,修改SSH登录的默认端口,比如修改为“5000”。

vim /etc/ssh/sshd_config

按“i”进入编辑模式,在第17行,将注释符“#”删掉,修改为“Port 5000”。

图1 修改前
在这里插入图片描述
图2 修改后
在这里插入图片描述
3. 按“Esc”,输入:wq保存并退出。

下面是我被攻击时候,对方向我22端口,发起攻击的记录:
在这里插入图片描述

增加防火墙规则:开放指定端口

CentOS 7系列操作系统的默认防火墙是fireware,而不是iptables。因此,如果系统是默认防火墙,则不需要执行本节操作;如果安装过iptables,则要参考本节指导开放SSH登录的5000端口。

1、执行以下命令,检查是否安装了iptables。

service iptables status

如果提示如下类似信息,表示未安装iptables,跳过本节,继续添加安全组规则操作。
在这里插入图片描述
如果提示如下类似信息,表示安装了iptables,并且为“active”状态。继续执行步骤2。
在这里插入图片描述

2、执行以下命令增加iptables规则,开放5000端口。

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 5000 -j ACCEPT

3、执行以下命令查看iptables现有规则是否已包含5000端口。

iptables -L -n

在这里插入图片描述

添加安全组规则

安全组中的入方向规则默认开启了22端口,当云服务器的SSH登录端口修改为5000时,需要为安全组新加一条规则。

1、登录管理控制台。
2、选择“计算 > 弹性云服务器”,进入云服务器控制台。
3、单击云服务器名称“ecs-f5a2”进入详情页面。
4、选择“安全组”页签,单击展开安全组规则详情,单击列表右上角的“更改安全组规则”。
5、添加一条入方向规则,如图3所示。
图3 安全组规则
在这里插入图片描述

关闭密码登录,采用密钥登录

在管理控制台创建一个密钥对,绑定至云服务器,使云服务器登录方式切换为密钥。

1、登录管理控制台。
2、选择“计算 > 弹性云服务器”,进入云服务器控制台。
3、参考创建密钥对创建一个密钥对,妥善保管好私钥文件。
4、选择“服务列表 > 安全 > 数据加密服务”,单击左侧导航中的“密钥对管理”。
5、选择“云服务器列表”页签,在“ecs-f5a2”所在行,单击操作列的“绑定”。按照图5进行配置,单击“确定”。关闭密码登录,请在绑定密钥对页面勾选“关闭密码登录方式。”或编辑“sshd_config”配置文件,禁止密码登录。

图4 绑定密钥对
在这里插入图片描述
6、登录云服务器操作系统,编辑“sshd_config”配置文件,禁止密码登录。
vim /etc/ssh/sshd_config

按“i”进入编辑模式,在最后几行按下图进行配置。
在这里插入图片描述
参数说明:

PermitRootLogin:是否允许root帐户登录,配置为“yes”。
UseDNS:是否允许DNS解析,配置为“no”。
PasswordAuthentication:是否允许使用密码登录,配置为“no”。

说明:
在步骤5中为云服务器绑定密钥对时,已勾选了“关闭密码登录方式”,此处的“PasswordAuthentication”必为“no”,只需验证即可。

按“Esc”,输入:wq保存并退出。

7、完成后,重启sshd服务。
systemctl restart sshd

8、通过Xshell或其他SSH客户端连接云服务器,密码登录会被限制(如图5所示,密码输入项置灰),则证明配置成功。
图5 Xshell登录云服务器

在这里插入图片描述

编辑hosts.allow和hosts.deny

“/etc/hosts.allow”和“/etc/hosts.deny”是控制远程访问的文件,通过配置该文件可以允许或者拒绝某个IP或者IP段的客户访问Linux云服务器的某项服务。

比如SSH服务,通常只对管理员开放,那我们就可以禁用不必要的IP,而只开放管理员可能使用到的IP段。

因为云服务器需要在不同地点登录,建议编辑“/etc/hosts.allow”允许所有IP地址登录,这样不会影响正常使用。

vim /etc/hosts.allow

在最后一行增加“sshd:ALL”。

在这里插入图片描述
我们可以通过一些方法识别云服务器的安全风险,比如检查SSH状态,查看疑似恶意登录的IP,然后在“/etc/hosts.deny”中将这些地址禁止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37238.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

4-Arm PEG-N3,4-Arm PEG-Azide,四臂-聚乙二醇-叠氮一种多臂PEG衍生物

4-Arm PEG-Azide(4-Arm PEG-N3)一种多臂PEG衍生物,中文名为四臂-聚乙二醇-叠氮,它所属分类为Azide PEG Multi-arm PEGs。 该多臂peg衍生物的分子量均可定制:四臂-PEG 2000-叠氮、4-Arm PEG-N3 20000、四臂-peg 1000-叠…

linux常用服务配置、网络配置 和 基于FTP的上传和下载的几种方式

一. 网络服务配置 1. 主机名配置 hostname: 查看主机名 hostname xxx: 修改主机名(重启后无效) PS: 如果想要永久生效,可以修改/etc/sysconfig/network文件 2. 静态IP的配置 (1). 查看ip地址 : ifconfig (2). 临时修改ip地址&…

OpenCV实现文档自动矫正(含源码和测试数据)

OpenCV实现文档自动矫正(含源码和测试数据) 目录 OpenCV实现文档自动矫正 1. OpenCV文档矫正的方法 (1)基于霍夫变换的文档矫正方法 (2)基于透视变换的文档矫正方法 2. OpenCV文档自动矫正实现 &…

【Linux系统】第二篇、权限管理篇

文章目录一、Linux下的用户二、文件的权限1. 文件访问者的分类2. 文件类型和访问权限3. 文件权限值的表示方法三、文件访问权限的相关设置方法1. chmod2. chown3. chgrp4. umask(重点)四、file指令五、目录的权限粘滞位一、Linux下的用户 这里我们在上一…

从 12K 到 60K, 这 2023Java 研发必问高级面试题,过关斩将拿 offer

前言 学习某一门技术或者框架的时候,第一步当然是要了解下面这几样东西。 是什么? 有哪些特点? 有哪些应用场景? 有哪些成功使用的案例? … 为了让你更好地了解 Netty 以及它诞生的原因,先从传统的网…

R语言中实现马尔可夫链蒙特卡罗MCMC模型

什么是MCMC,什么时候使用它? MCMC只是一个从分布抽样的算法。 这只是众多算法之一。这个术语代表“马尔可夫链蒙特卡洛”,因为它是一种使用“马尔可夫链”(我们将在后面讨论)的“蒙特卡罗”(即随机&#…

区间信息维护与查询【树状数组 】 - 原理1 一维树状数组

区间信息维护与查询【树状数组 】 - 原理1 一维树状数组 【原理1】 一维树状数组 有一个包含n 个数的数列2, 7, 1, 12, 5, 9 …,请计算前i 个数的和值,即前缀和sum[i ]a [1]a [2]…a [i ](i 1, 2, …, n)。该怎么计算呢&#xf…

RISC-V入门(基础概念+汇编部分) 基于 汪辰老师的视频笔记

RISC-V入门 [完结] 循序渐进,学习开发一个RISC-V上的操作系统 - 汪辰 - 2021春 RISC-V 部分作业答案 参考 RISC-V ISA 基本介绍 历史简介 自由(Free)与开放(Open) RISC-V 念作 “risk-five”,代表着Berke…

JSON.stringify() / JSON.parse() / JSON 真是个好东西

目录 1. JSON 基本概念 1.1 JavaScript 对象表示法 1.2 JSON 文件 1.3 JSON 语法 2. XML VS JSON 2.1 共同点 2.2 不同点 2.3 使用步骤对比 3. JSON.parse() 3.1 使用介绍 3.2 使用 reviver 参数,将 JSON 对象解析出来的 string 转化为 Date 4. JSON.st…

【ML特征工程】第 4 章 :特征缩放的影响:从词袋到 Tf-Idf

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【知识网络分析】耦合网络(bibliographic coupling)

耦合网络(bibliographic coupling) 1 读取本地文献并构建耦合网络数据集2 网络数据集精简3 中心点附近网络子群绘制4 求解网络图中节点中心度相关指标数值1 读取本地文献并构建耦合网络数据集 新建一个notebook文件,第一步导入功能包和数据集,案例中仍使用2020-2021年WOS数…

第八章《Java高级语法》第2节:补码

在Java语言中,使用补码的形式来表示数字。补码是计算机表示数字的一种规则或者是表示形式,它的算法很简单:用最左边的一个二进制位表示数字的正负,0表示正数,用1表示负数,专业上把表示符号的这个二进制位叫做“符号位”。符号位后面剩余的二进制位表示数字本身。 对于正…

PyQt5 QWebEngineView网页交互

QWebEngineView网页交互QWebEngineView常用方法加载并显示外部的Web页面加载并显示本地的Web页面加载并显示嵌入的HTML代码QWebEngineView常用方法 方法描述load(QUrl url)加载指定的URL并显示setHtml(QString &html)将网页视图的内容设置为指定的HTML内容 核心代码&#…

chapter2——时钟和复位

目录1.同步设计2.推荐的设计技术3.时钟方案4.门控时钟方法学5.复位信号的设计策略6.控制时钟偏移1.同步设计 在同步设计中由单个主时钟和单个主置位/复位信号驱动设计中所有的时序器件,对于ASIC的时钟域控制最安全的方法就是同步设计。 避免使用行波计数器 由于第…

Python 实现自动化测试 dubbo 协议接口

前言 在工作或学习过程中,可能会遇到后端服务里有使用 dubbo 协议实现的接口,dubbo 协议接口的测试方法不同于 http/https 类型的接口,不能简单使用request.post的方法来完成自动化测试。 如果需要对 dubbo 协议的接口进行自动化测试&#…

FFmpeg进阶:生成视频的缩略图

文章目录1.读取对应位置的视频帧2.添加时间信息3.对图像进行拼接4.输出拼接图像5.显示效果很多时候为了方便预览视频内容,我们会随机的抽取视频当中的一些帧组成一个图片作为视频的缩略图。这里介绍一下如何通过FFmpeg生成视频的缩略图。其实原理很简单,…

MyBatis association解决多对一和collection解决一对多的映射关系

多对一的映射关系 创建Emp和Dept类 1.处理多对一映射关系方式一:级联属性赋值 2.处理多对一映射关系方式二:association实现 association:处理多对一的映射关系 property:需要处理多对的映射关系的属性名 javaType:该属性的类型 3.处理多对一映射关…

Metabase学习教程:视图-6

表格视图几乎可以来做所有的事情 了解如何设置条件格式、小条形图、值格式等。 表格是数据的自然栖息地,对应关系数据库列和对应的行记录。它们可能不像条形图或者地图,但当你在很多领域工作时,它们往往是你所需要的。Metabase中的表可视化…

运动品牌推荐:2022年最值得入手的一些运动装备

运动是一个比较枯燥的过程,不断的身体重复,会让运动者的注意力过度的关注到自己身体的疲惫感并且放大,这个时候我们就可以通过外在的运动装备来消除这些疲劳感,提高自己的运动积极性。不过哪些运动装备好用并适合自己呢&#xff1…

服务器配置怎么查看

服务器配置怎么查看 在我们找服务器商买服务器时,一般都是根据自己需求来选择需要什么配置的服务器。 选服务器时主要看CPU、内存、硬盘、带宽、这几个主要配置今天艾西就教你怎么查看服务器配置 CPU、内存怎么查看: 方法一:我们远程进入服…