如何保护linux服务器远程使用的安全

服务器安全是一个非常敏感的问题,因服务器远程入侵导致数据丢失的安全问题频频出现,一旦服务器入侵就会对个人和企业造成巨大的损失。因此,在日常使用服务器的时候,我们需要采取一些安全措施来保障服务器的安全性。

目前服务器系统使用到比较多的就是Linux,大多数服务器都在 Linux 基础架构上运行,而我们远程时候,多数也是会使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置是会带来一些安全风险。今天我们就来分享一些方案可以保护Linux服务器远程连接的安全。

在 Linux 上保护 SSH 服务器连接安全的几种方法:

1、禁用 root 用户登录:关闭 root 用户的服务器访问是一种防御策略,可以防止攻击者实现入侵系统的目标。为此,可以创建一个具有 root 权限的新用户来代替 root 用户进行登录。

例如创建exampleroot的用户:


useradd -m exampleroot
passwd exampleroot 
usermod -aG sudo exampleroot

在用户创建过程之后,修改 SSH 的配置文件 /etc/ssh/sshd_config,在其中加上 PermitRootLogin no 配置项。

2、使用 SSH 密钥连接:连接到服务器的最安全方法之一是使用 SSH 密钥。使用 SSH 密钥时,无需密码即可访问服务器。另外,可以通过更改 sshd_config 文件中与密码相关的参数来完全关闭对服务器的密码访问。

在本地计算机上生成 SSH 密钥对。可以使用 ssh-keygen 命令来生成,选择默认选项即可。创建 SSH 密钥时,有两个密钥:Public和Private。公钥将上传到您要连接的服务器,而私钥则存储在您将用来建立连接的计算机上。

需要注意的是,使用 SSH 密钥连接需要在本地计算机和远程服务器上都进行相应的配置。此外,如果需要配置多个用户使用 SSH 密钥连接,可以创建一个包含多个公钥的 authorized_keys 文件,并将其放置在远程服务器的指定目录下。

3、限制登录/访问尝试:默认情况下,可以根据需要尝试多次输入密码来访问服务器。但是,攻击者可以利用此漏洞对服务器进行暴力破解。通过指定允许的密码尝试次数,可以在尝试一定次数后自动终止 SSH 连接。为此,请更改 sshd_config 文件中的 MaxAuthTries 值。

4、默认使用 SSH 版本 2:SSH 的第二个版本发布是因为第一个版本中存在许多漏洞。默认情况下,可以通过将 Protocol 参数添加到 sshd_config 文件来启用服务器使用第二个版本。这样,未来的所有连接都将使用第二个版本的 SSH。

5、关闭 TCP 端口转发和 X11 转发:攻击者可以尝试通过 SSH 连接的端口转发来访问您的其他系统。为了防止这种情况,可以在 sshd_config 文件中关闭 AllowTcpForwarding 和 X11Forwarding 功能。

 
AllowTcpForwarding yes - AllowTcpForwarding no 
X11Forwarding yes - X11Forwarding no

保存文件并重新启动 SSH 服务。

需要注意的是,关闭 TCP 端口转发和 X11 转发可能会影响使用这些功能的应用程序的正常运行。因此,在修改配置之前,请确保了解这些更改可能对系统产生的影响。

6、禁用密码认证:默认情况下,可以通过将 PasswordAuthentication 参数添加到 sshd_config 文件来禁用密码认证。这样,只有使用 SSH 密钥的用户才能访问服务器。

7、限制远程登录:可以通过在 sshd_config 文件中设置 AllowUsers 和 DenyUsers 参数来限制远程登录的用户和 IP 地址。只有允许的用户才能从指定的 IP 地址登录到服务器。

8、定期更新和审查:保持操作系统和 SSH 服务的最新版本,并定期审查服务器日志以检测任何可疑活动。如果有任何异常行为被检测到,应立即采取行动以保护服务器免受攻击。

9、使用主机安全软件:使用支持多重防护规则的主机安全,远程防护用于对远程桌面登录进行防护,防止非法登录,增强远程桌面安全。像是德迅卫士这种主机安全软件,远程登录服务器时需要进行二次验证,验证通过才可以登录服务器,这样也可以提高服务器的远程安全。

这些是在 Linux 上保护 SSH 服务器连接的一些常见方法,保护服务器的安全性是一个持续的过程,需要我们不断的关注以应对不断变化的威胁,结合多种安全措施来提高服务器的使用安全性,保障我们的业务安全。

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

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

相关文章

线程休眠、线程让步、线程优先级相关内容学习笔记

1、线程休眠 (1)sleep() 如果需要让当前正在执行的线程暂停一段时间,并进入阻塞状态(Timed_Waiting),则可以通过调用Thread类的静态sleep()方法来实现。 static void sleep(long millis):让当前正在执行的线…

Shell编程--函数function

函数 1.定义函数2.调用函数2.1.取消函数2.2.其他脚本调用 3.函数传参 1.定义函数 函数声明: function_name () { list of commands } 函数名 function_name,这就是你将使用它从其他地方在你的脚本调用。 function (功能) 功能函数 计算机函数&…

C++ 异常处理

C++ 异常处理 实验介绍 所谓的异常便是程序中数据出现不合理的特殊情况处理,在做项目时我们常常需要想到的是特殊的情况,只有将所有的特殊情况处理好之后程序才能很好的运行。 那么异常处理跟多态有什么关系呢? C++ 标准库中已经存在异常处理类,并且就是使用了多态的方式…

Vue:多组件样式冲突问题解决

一、场景描述 我们在开发Vue项目的时候,会有很多的组件,每个组件里,可能都会写相应的样式,这时候就会出现在父组件引入子组件的时候,同名样式会冲突的问题。从而导致样式出问题。 二、解决办法 给style标签加上scop…

高效处理大数据集合:JavaStreamAPI

在当今数据驱动的世界中,处理大数据集合成为许多应用的核心需求。Java Stream API是Java 8及以后版本引入的一个强大工具,用于处理集合数据和数据流。它提供了一种简洁而高效的方式来操作和转换数据。在本文中,我们将探讨Java Stream API的基…

如何在IntelliJ IDEA中配置SSH服务器开发环境并实现固定地址远程连接

文章目录 1. 检查Linux SSH服务2. 本地连接测试3. Linux 安装Cpolar4. 创建远程连接公网地址5. 公网远程连接测试6. 固定连接公网地址7. 固定地址连接测试 本文主要介绍如何在IDEA中设置远程连接服务器开发环境,并结合Cpolar内网穿透工具实现无公网远程连接&#xf…

某mps政务网站jsl加速乐cookie逆向解析

本文针对的目标网站如下,使用base64解密获得 aHR0cHM6Ly93d3cubXBzLmdvdi5jbi8 开篇:加速乐其实算是比较好处理的逆向问题了,了解过的朋友都知道,其本身跟瑞数相似,都是设置cookie后才能成功,设置cookie的过…

Python a-shape点云重建(alpha shapes)

目录 一、环境配置二、代码实现三、结果示例接上篇: Python 泊松重建(Poisson Surface Reconstruction) 一、环境配置 使用 pip install open3d 语句来安装open3d 使用 pip install open3d 语句来安装numpy 二、代码实现 import open3d as o3d import numpy as npdef a_sh…

ChatGPT会给教育界带来怎样的冲击,又将与教育碰撞出怎样的火花?

11 月 7 日凌晨,美国人工智能公司 OpenAI 的开发者大会正式开启,创始人 Sam Altman 和其同事,发布了团队最新的成果GPT-4 Turbo,新一代的GPT不仅更快、有更长的上下文、而且更好的控制。而随之推出的「GPTs」——让人们能用自然语…

炫云云模型常见咨询问题TOP榜

在上一期,小编带大家盘点了炫云云渲染软件相关常见咨询问题。这份榜单不仅是对过去一年用户关注焦点的回顾,更是一个汇总了各类问题解答的宝典。无论您是初次使用还是老用户,都能帮助您更快速地解决疑问,提升使用炫云各类产品的便…

Vs2019创建c文件

每一个人都是小白开始学习的,学长本身在开始学习计算机编程以前,也是对编程语言畏之如虎,一头雾水。成长都是有规律的,,都是从不会到会,再从会到熟练。如果要问我为什么,唯有多练习耳&#xff0…

分布式引擎Elasticsearch本地部署并结合内网穿透远程访问

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

LeetCode-1822/1502/896/13

1.数组元素积的符号(1822) 题目描述: 已知函数 signFunc(x) 将会根据 x 的正负返回特定值: 如果 x 是正数,返回 1 。 如果 x 是负数,返回 -1 。 如果 x 是等于 0 ,返回 0 。 给你一个整数数组…

详解java中ArrayList

目录 前言 一、ArrayList是什么 二、ArrayList使用 1、ArrayList的构造 2 、ArrayList常见操作 3、 ArrayList的遍历 4、 ArrayList的扩容机制 三、来个练习 前言 当你看到这篇文章我觉得很好笑,因为我开始也不懂ArrayList现在轮到你了,嘻嘻嘻&am…

Redis面试篇

redis面试题主要内容 面试官在面试时主要会问以下这些方面的问题 下面是一些问题示例: redis-使用场景 缓存 缓存穿透 介绍 缓存穿透:查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求都会去查数…

001讲:CAD对话框出现乱码解决方案——CAD知识讲堂

CAD对话框中字体乱码的解决办法: 删掉CAD安装文件目录font字体库的 simsun.ttc 文件,然后彻底关闭CAD,重新打开cad即可解决问题。 如果还不行,对话框出现乱码原来是拷贝CAD字体中存在.TTC和*.TTF格式文件的问题,找到ca…

Egg框架搭建后台服务【1】

需求 博客系统升级,本来是用 express 写的,最近发现 Egg 不错,正好学习升级一下。边学边写。 Ps:相同的功能,迭代的写法,由浅入深,做个记录。 开发 初始化 安装 node版本需要 >14.20.0…

Redis未授权访问漏洞复现与工具安装

目录 一、漏洞简介 二、靶场搭建 三、漏洞检测 四、工具安装 五、远程连接 六、利用Redis写入webshell 七、redis-getShell工具 八、ssh公私钥免密登录 九、其他 一、漏洞简介 redis是一个数据库,默认端口是6379,redis默认是没有密码验证的&…

了解Python中的requests.Session对象及其用途

前言 在Python的网络编程中,requests库是一个非常流行的HTTP客户端库,用于发送各种类型的HTTP请求。在requests库中,requests.Session对象提供了一种在多个请求之间保持状态的方法本文将探讨Python中的requests.Session对象及其用途&#xf…

.net core 6 集成和使用 mongodb

1、安装包 MongoDB.Driver 2、定义顶层类 /// <summary> /// monggodb规范 /// </summary> public abstract class MongoDBToolBase { /// <summary> /// 客户端 /// </summary> protected MongoClient mongoClient { get; private …