强化SSH服务安全的最佳实践

SSH(Secure Shell)作为一种广泛应用于Linux和其他类Unix系统中的强大工具,为管理员提供了安全的远程登录和命令执行功能。在现今高度互联的网络环境中,确保SSH服务的安全性显得尤为重要。本文将详细阐述一系列SSH服务的最佳实践,旨在帮助系统管理员有效地提升服务器及知行之桥服务安全级别,减少潜在的攻击面。

1.修改默认端口
服务器

默认情况下,SSH服务运行在TCP端口22上,黑客通常会通过扫描默认端口来寻找潜在的攻击目标。修改SSH的服务端口能有效减少此类无差别扫描带来的威胁。在/etc/ssh/sshd_config配置文件中修改Port配置项,并在防火墙中开放新的端口即可。

若需要更进一步的安全策略,可考虑关闭对SSH端口的持续侦听,在需要远程登录至服务器时再临时打开,使用后立即关闭。

知行之桥

知行之桥支持通过建立 SSH 反向隧道接收发送到 DMZ 网关的数据。这样做可以将所有外部连接集中到 DMZ,有助于保护公司防火墙并维护网络安全。注:该特性目前只在知行之桥的 .NET 版本中适用,并且需使用内置的 web 服务器。

点击了解DMZ网关的设置以及知行之桥建立SSH反向隧道

此外,需注意的是,知行之桥系统内也提供SSH服务,例如SFTP,其默认端口是22,若在知行之桥系统中使用了产品内置的SSH服务,也需要修改其默认端口:

edi-SSH1.png

2.强制公钥认证

建议避免使用基于密码的身份验证,而是启用公钥私钥对验证。公钥认证可显著提高安全性,因为每次登录都需要匹配私钥才能成功连接。

服务器

要为登录服务器设置公钥认证,请按照以下步骤操作。

①在客户端上生成公钥和私钥对时,可使用SSH-keygen命令:ssh-keygen -t rsa -b 2048

edi-SSH2.png

按照提示操作,一般情况下,公钥会被保存在~/.ssh/id_rsa.pub,私钥保存在~/.ssh/id_rsa。

② 使用以下命令将客户端机器上的公钥追加到服务器上的~/.ssh/authorized_keys文件中:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_address

在上述命令中,user是服务器上的用户名,server_address是服务器的IP地址或域名。
执行成功后,在服务器~/.ssh目录下,可看authorized_keys文件。

③在登录到服务器后,打开SSH服务器配置文件/etc/ssh/sshd_config,找到并修改以下几行配置(若不存在则添加):
PasswordAuthentication no # 关闭基于密码的身份验证
PubkeyAuthentication yes # 开启公钥认证

注意,修改配置后请务必检查配置文件的其他设置,确保没有冲突或遗漏的安全措施。

④在应用更改后,需要重启SSH服务才能使配置生效:

sudo systemctl restart sshd

重启后,服务器将只接受公钥认证的登录请求。现在,只有拥有对应私钥的客户端才能够通过SSH登录到服务器。

edi-SSH3.png

最后,请确保服务器的防火墙设置允许SSH连接,同时确认.ssh/authorized_keys文件的权限设置正确,其所有者和所属组应该是相应用户,且权限应为600 (chmod 600 ~/.ssh/authorized_keys),这样可以保证文件的安全性。

知行之桥

为SFTP服务设置密钥认证:

①在知行之桥设置页面,进入证书管理页面,点击“创建”按钮;

edi-SSH4.png

②请使用英文填写红框中的信息,并在填写完成后点击“创建证书”;

edi-SSH5.png

③创建完成后,会生成以下两个证书对,.cer文件是公钥证书,.pfx文件是私钥证书,可下载并保存。

edi-SSH6.png

④建立SFTPServer端口设置页面,为Client创建用户,认证模式选择Public Key。

edi-SSH7.png

⑤在客户端证书区域,上传客户端的公钥证书,并将私钥证书提供给客户端,这样可确保仅持有密钥的客户端才能登录。

edi-SSH8.png

3.密码策略与账户管理

确保所有用户的密码强度达标,杜绝空密码或弱密码的存在,并定期更新密码。此外,清理不必要的用户账户,确保只有经授权的用户才能访问系统。

4.限制登录尝试
服务器

通过修改/etc/ssh/sshd_config配置文件中的MaxAuthTries和LoginGraceTime参数,可以限制连续失败登录尝试的次数以及登录超时时间,从而有效地抵御暴力破解攻击。

知行之桥

在知行之桥中,SFTP Server服务可在此处设置限制登录尝试,一旦达到失败次数限制,系统将会自动锁定账户:

edi-SSH9.png

5.防火墙与网络访问控制
服务器

仅允许特定来源的IP地址访问SSH服务,可以通过防火墙规则实现。只给可信网络或者白名单上的IP地址开放SSH服务端口。

知行之桥

在知行之桥中,SFTP Server也可设置仅支持特定来源的IP地址访问SSH服务:

edi-SSH10.png

在此处添加受信任的IP地址即可:

edi-SSH11.png

6.定期审计与更新
服务器

确保SSH软件版本始终保持最新,及时打补丁以修复已知的安全漏洞。定期审查系统日志,特别是/var/log/auth.log或/var/log/secure中的登录失败记录,以便及时发现异常行为。

知行之桥

在知行之桥中,可在安装目录中\logs\SFTPServer文件夹,查看登录SFTP Server的日志信息。

结论

通过实施上述SSH服务的最佳实践,系统管理员能够显著增强服务器的安全防护机制,降低未经授权访问的风险。然而,安全是一个持续的过程,必须结合严格的访问控制政策、定期的安全审核以及及时响应安全事件的预案,才能确保SSH服务始终处于高度安全的状态。

了解更多 EDI 信息,请参阅: EDI 是什么?

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

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

相关文章

【LangChain系列 12】Prompt模版——序列化

本文速读: PromptTemplate FewShotPromptTemplate 通常prompt以文件形式存储比python代码更好,一方面可以更容易共享、存储。本文将介绍在LangChain中如何对prompt以不同的方式序列化。 一般来说,对于序列化有以下两个设计原则&#xff1a…

吴恩达机器学习笔记:第 8 周-13 聚类(Clustering)13.3-13.5

目录 第 8 周 13、 聚类(Clustering)13.3 优化目标13.4 随机初始化13.5 选择聚类数 第 8 周 13、 聚类(Clustering) 13.3 优化目标 K-均值最小化问题,是要最小化所有的数据点与其所关联的聚类中心点之间的距离之和,因此 K-均值的代价函数(又…

《微信公众号开发---一站式开发流程完整版本》 测试公众号账号及本地环境搭建/验证本地编写的代码,接入微信指南请求测试正常

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 1.准备工作 1.需要先登录微信公众号平台:微信公众平台 注册如果是公司开发请注册服务号,个人开发请注册订阅号 2.注册完成,需要开通认证 2.以上操作完成&#xff0c…

通信原理(2)--随机过程

通信原理(2)–随机过程 3.1随机过程的基本概念 随机过程{x(t)}由一族时间函数 x i ( t ) x_i(t) xi​(t),i1,2.3…组成,每一个时间函数 x i ( t ) x_i(t) xi​(t)称为随机过程{x(t)}的一个样本函数(一个实现) 每个样本函数在时间…

ASP.NET某企业信息管理系统的设计与实现

摘 要 信息管理系统就是我们常说的MIS(Management Information System),它是一个计算机软硬件资源以及数据库的人-机系统。经过对题目和内容的分析,选用了Microsoft公司的ASP.NET开发工具,由于它提供了用于从数据库中访问数据的强大工具集,使用它可以建立开发比较完善的数据库…

《2024年绿色发展报告》:算力与电力矛盾愈加突出!

2024年4月22日,第55个世界地球日,超聚变发布《2024年绿色发展报告》,向社会展示超聚变面对宏观形势变化、产业趋势变化,推进绿色发展、科技向绿的探索与实践成果。 2023年,算力产业发生了深刻变化。大模型带来AI算力需…

Git如何配合Github使用

1.安装Git https://git-scm.com/ ##2.配置 Git 安装完成后,你需要设置 Git 的用户名和邮箱地址,这样在提交代码时就能知道是谁提交的。你可以在命令行中输入以下命令来配置: git config --global user.name "Your Name" git con…

探索UTONMOS《神念无界-源起山海》元宇宙游戏的奇幻世界

在科技的前沿,元宇宙游戏如同一扇神秘的大门,缓缓开启,引领我们进入一个前所未有的奇幻世界。 UTONMOS《神念无界-源起山海》元宇宙游戏是数字世界的巅峰之作,它打破了现实与虚拟的界限,让玩家能够身临其境地体验各种奇…

U盘格式转换GPT格式转回DOS

当前格式 fdisk /dev/sdb# 在 fdisk 提示符下,输入以下命令删除分区: d # 选择要删除的分区编号(如 1、2 等) w开始转换 [rootnode-24 ~]# fdisk /dev/sdbWelcome to fdisk (util-linux 2.37.4). Changes will remain in memory o…

[笔试训练](八)

目录 022:求最小公倍数 023:数组中的最长连续子序列 024:字母收集 022:求最小公倍数 求最小公倍数_牛客题霸_牛客网 (nowcoder.com) 题目: 题解: 求最小公倍数公式:lcm(a,b)a*b/gcd(a,b)&am…

Android使用ProtoBuf 适配 gradle7.5 gradle8.0

ProtoBuf 适配 Gradle7.5 gradle-wrapper.properties 配置 distributionUrlhttps\://services.gradle.org/distributions/gradle-7.5-bin.zipProject:build.gradle: plugins {id com.android.application version 7.4.2 apply falseid com.android.library versio…

星尘智能 AI 机器人 S1——国产机器人的巅峰之作

AI智能机器人真的太炸裂了 国产科技威武-CSDN直播AI智能机器人真的太炸裂了 国产科技威武https://live.csdn.net/v/382519 最近发现了一个国产的机器人,真的让人惊叹不已!它就是星尘智能 AI 机器人 S1! 这个机器人简直太牛逼了!…

elaticsearch windows安装

es下载地址 https://www.elastic.co/cn/downloads/elasticsearch https://www.elastic.co/cn/downloads/past-releases#elasticsearch 在这里插入图片描述 下载直接解压,解压后目录 双击bin目录下的elasticsearch.bat开启服务 注意:9300 端口为 Elas…

03 spring-boot+mybatis+jsp 的增删改查的入门级项目

前言 主要是来自于 朋友的需求 项目概况 就是一个 用户信息的增删改查然后 具体到业务这边 使用 mybatis xml 来配置的增删改查 后端这边 springboot mybatis mysql fastjson 的一个基础的增删改查的学习项目, 简单容易上手 前端这边 jsp 的 基础的试题的增删改查 学习项…

Android使用AlertDialog实现弹出菜单

最近又开始捣鼓APP,许多api , class都忘记怎么用了,楼下使用AlertDialog实现个弹出菜单,结果直接crash,查了半天,终于即将,记录一下…… 1 实现代码 AlertDialog.Builder mBuilder new AlertDialog.Builde…

MySQL B+索引的工作原理及应用

引言 在数据库系统中,索引是优化查询、提高性能的关键技术之一。特别是在MySQL数据库中,B树索引作为最常用的索引类型,对数据库性能有着至关重要的影响。本文旨简单解析MySQL中B树索引的工作原理,帮助学生朋友们更好地理解和利用…

微信小程序实时日志使用,setFilterMsg用法

实时日志 背景 为帮助小程序开发者快捷地排查小程序漏洞、定位问题,我们推出了实时日志功能。开发者可通过提供的接口打印日志,日志汇聚并实时上报到小程序后台。开发者可从We分析“性能质量->实时日志->小程序日志”进入小程序端日志查询页面&am…

嵌入式学习Day18

一、输入两个数,实现排序 代码: #!/bin/bashread -p "please enter n m:" n m if [ $n -gt $m ] thentemp$nn$mm$temp fi echo $n $m运行结果 二、输入一个数判断是否水仙花数 代码: echo narcissistic number read -p "p…

Hive——DDL(Data Definition Language)数据定义语句用法详解

1.数据库操作 1.1创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, ...)];IF NOT EXISTS:可选参数,表示如果数据库已经存在&#xff0c…

【Ant-Desgin 头像上传框】限制数量为1张图片,base64,其他需求可以改我组件中的代码

Ant-Desgin 头像上传框 样式图参数主要代码UpLoad 组件父组件 样式图 图片数量限制为1,当选择了图片后,需要切换图像时需点击头像完成切换 参数 /*** description: 图片上传组件* param {*} action: 上传地址* param {*} width: 宽度* param {*} height…