SSH介绍及检测规则思路分析

一、SSH

1、定义

  SSH是安全的加密协议,用于远程连接linux服务器。

2、ssh服务的主要功能:

 1)提供远程链接服务器的功能;

 2)对远程链接传输的数据进行加密

3、ssh与telnet的区别:

服务链接方式

服务数据传输

服务监听端口

服务登录用户

ssh

加密

22

默认支持root用户登录

telnet

明文

23

不支持root用户登录

4、SSH工作机制

  SSH工作机制大致是:本地的SSH客户端先发送一个连接请求到远程的SSH服务端,服务端检查连接的客户端发送的数据包和IP地址,如果确认合法,就会发送密钥给SSH的客户端。此时,客户端本地再将密钥发回给服务端,自此连接建立。(类似TCP三次握手)

 1)连接建立

  SSH服务在指定的端口(默认:22)侦听客户端的连接请求,在客户端向服务器发起连接请求后,双方建立一个TCP链接

 2)版本协商

  SSH协议目前存在SSH1.X(SSH2.0之前的版本)和SSH2.0版本。SSH2.0协议相比SSH1.X协议来说,在结构上做了扩展,可以支持更多的认证方法和密钥交换方法,同时提高了服务能力。SSH服务器和客户端通过协商确定最终使用的SSH版本号。

 3)算法协商

  SSH支持多种加密算法,双方根据各自支持的算法,协商出最终用于产生会话密钥的密钥交换算法、用户数据信息加密的加密算法、用于进行数字签名和认证的公钥算法以及用于数据完整性保护的HMAC算法。

 4)密钥交换

  服务器和客户端通过密钥交换算法,动态生成共享的会话密钥和会话ID,建议加密通道。会话密钥主要用于后续数据传输的加密,会话ID用于在认证过程中标识该SSH连接。

 5)用户认证 <SSH认证方式>

①密码认证:客户端通过用户名和密码的方式进行认证,将加密后的用户名和密码发送给服务器,服务器解密后与本地保存的用户名和密码进行对比,并向客户端返回认证成功或失败的消息。

②密钥认证:客户端通过用户名、公钥以及公钥算法等信息来与服务器进行认证。

③password-publickey认证:指用户需要同时满足密码认证和密钥认证才能登录。

④all认证:只要满足密码认证和密钥认证其中一种即可。

 6)会话请求

  认证通过后,SSH客户端向服务器端发送会话请求,请求服务器提供某种类型的服务,即请求与服务器建立相应的会话。

 7)会话交互

  会话建立后,SSH服务器和客户端在该会话上进行数据信息的交互。

5、ssh服务

 SSH服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求。SSH服务端的进程名位sshd,负责实时监听远程SSH客户端的远程连接请求,并进行处理,一般包括:公共密钥认证、密钥交换、对称密钥加密和非安全连接等。 SSH服务端主要包括两个服务功能:SSH远程连接和SFTP服务。

6、ssh客户端命令

 ssh客户端包含ssh|slogin远程登录、scp远程拷贝、sftp文件传输、ssh-copy-di密钥分发等应用程序。

 1)SSH远程登录服务器命令示例

 2)SCP复制数据至远程主机命令(全量复制)

  3)SFTP

    该命令用于在Linux系统中进行安全文件传输的工具。它使用SSH协议进行加密传输,使用户能够在本地计算机和远程服务器之间传输文件。以下是SFTP命令的一些常用功能:

①上传文件(put):

    用户可以使用sftp命令将本地计算机上的文件上传到远程服务器。

②下载文件(get):

    用户可以使用sftp命令从远程服务器下载文件到本地计算机。

③浏览远程文件系统(pwd):

    用户可以使用sftp命令浏览远程服务器上的文件和目录结构。

④创建和删除目录(mkdir、rm):

     用户可以使用sftp命令在远程服务器上创建和删除目录。

⑤修改文件权限(chgrp、chmod、chown):

    用户可以使用sftp命令修改远程服务器上文件的权限。

⑥列出文件和目录(lls):

    用户可以使用sftp命令列出远程服务器上的文件和目录。

令列出远程服务器上的文件和目录。

7、SSH安全优化

  SSH作为远程连接服务,通常我们需要考虑到该服务的安全,所以需要对该服务进行安全方面的配置:

 1)更改远程连接登录的端口;

 2)禁止ROOT用户直接登录;

 3)密码认证的方式改为密钥认证;

 4)重要服务不使用公网IP;

 5)使用防火墙限制来源IP

二、SSH相关安全检测规则开发思路分析

1、攻击场景

  SSH是一种协议,允许授权用户打开其他计算机上的远程Shell,在Linux和macOS版本默认情况下都安装了SSH,而且通常SSH不限制登录用户的数量,所以攻击者在潜入主机后,为了达到权限维持的目的,可能会在主机上设置SSH后门。

  攻击者可以利用敏感函数来修改 SSH 相关的二进制文件以实现持久性的目的。

2、需求拆分

  •   ssh相关二进制文件:/usr/sbin/sshd、/usr/bin/ssh、/usr/bin/sftp、/usr/bin/scp
  •   文件操作类型:create

3、检测规则思路

  •   数据源:终端告警日志
  •   命中逻辑:
  •     文件操作类型:创建二进制文件
  •     or:
  •        文件路径 包含(忽略大小写)'/usr/sbin/sshd'
  •        文件路径 包含(忽略大小写)'/usr/bin/ssh'
  •        文件路径 包含(忽略大小写)'/usr/bin/sftp'
  •        文件路径 包含(忽略大小写)'/usr/bin/scp'
  • 检测时间:10min
  • 归并分组:受害者IP
  • 统计次数:count >= 1
  • 4、研判分析

  1.  根据告警信息发现被更改的SSH二进制文件,并及时联系数据源IP主机责任人确认是否为授权修改,若不是则判定为可疑事件;
  2.  根据告警信息获取进行修改文件的UID等账户信息并查看该用户是否存在其他敏感操作,若出现判定为可疑事件。

5、应急响应

  1.   更改远程连接登录的端口;
  2.   禁止ROOT用户直接登录;
  3.   密码认证的方式改为密钥认证;
  4.   重要服务不使用公网IP;
  5.   使用防火墙限制来源IP

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

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

相关文章

DBO优化LSBoost回归预测(matlab代码)

DBO-LSBoost回归预测matlab代码 蜣螂优化算法(Dung Beetle Optimizer, DBO)是一种新型的群智能优化算法&#xff0c;在2022年底提出&#xff0c;主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。 数据为Excel股票预测数据。 数据集划分为训练集、验证集、测试集,比…

【国家计算机二级C语言】高分笔记

二叉树 参考 http://t.csdnimg.cn/ozVwT 数据库 SQL程序语言有四种类型&#xff0c;对数据库的基本操作都属于这四类&#xff0c;它们分别为&#xff1b;数据定义语言(DDL)、数据查询语言&#xff08;DQL&#xff09;、数据操纵语言&#xff08;DML&#xff09;、数据控制语言…

领夹麦配LDR6028,电力持久畅聊畅!

#无线麦克风#麦克风&#xff0c;对于大多数人来说&#xff0c;并不陌生。然而&#xff0c;领夹式麦克风&#xff0c;这个看似小巧的音频设备&#xff0c;或许在日常生活中并不常为我们所见。但在自媒体行业、新闻记者等领域&#xff0c;它却是不可或缺的好帮手。这款领夹式麦克…

树状数组优化dp,2617. 网格图中最少访问的格子数

目录 一、题目 1、题目描述 2、接口描述 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 给你一个下标从 0 开始的 m x n 整数矩阵 grid 。你一开始的位置在 左上角 格子 (0, 0) 。 当你在格子 (i, j) 的时候&#xff0c;你可以移动…

架构之安全性维度

流程安全性 安全基本原则&#xff1a;可用性 完整性 机密性 CIA 安全框架&#xff1a;zachman P2DR Sabsa IPDRR IATF 安全评估方法&#xff1a;安全测试&#xff1a; SAST静态测试、 IAST交互测试 安全扫描 危险模型&#xff1a;攻击树分析 DREAD风险评估 渗透测试&#xff1a…

管理类联考–复试–英文面试–问题--规划介绍原因做法--纯英文版

借鉴 https://www.bilibili.com/video/BV1Dk4y187zN/?p4&spm_id_from333.880.my_history.page.clickhttps://www.bilibili.com/video/BV1Dk4y187zN/?p4&spm_id_from333.880.my_history.page.click https://ttsreader.com/zh/https://ttsreader.com/zh/ 规划 视频版…

2024年NOC大赛创客智慧(西瓜创客)图形化编程真题模拟试卷包含答案

详细题目看顶部资源 答案解析 一、选择题 1、C 该段代码是将变量的值翻倍,运行之后变量的值是之前的两倍。变量的值是否改变取决于初始值是否为 0,所以船都不正确 2、C A 透项为让角色说话,不可以广播消息: B 选项为播放一段声音,不可以广播消息; C透项为广播消息,正确: …

OCP NVME SSD规范解读-14.Firmware固件升级要求

4.11节 Firmware Update Requirements 描述了数据中心NVMe SSD固件更新的具体要求&#xff0c;确保固件升级过程既安全又可靠&#xff0c;同时充分考虑了设备在升级过程中的可用性和功能性。 FWUP-1: 设备必须记录每一次固件激活过程。这意味着固件升级过程中&#xff0c;设备会…

使用远程工具连接Mysql

&#xff08;若想要远程连接Mysql需要下面解决四个问题&#xff09; 1、目标地址 直接查询 2、端口号 3306 3、防火墙关闭 [rootlocalhost date]# systemctl stop firewalld.service 4、授权mysql数据库root用户权限&#xff08;因为mysql开始不允许其他IP访问&#xff0…

时间减少90%以上!分布式系统的性能优化实战

1背景 分布式批量系统指的是采用分布式数据库架构&#xff0c;主体功能由批量程序实现的系统。分布式系统批量程序的性能测试&#xff0c;除了和联机交易性能测试一样关注服务器资源使用率是否合理、是否存在性能异常外&#xff0c;在测试执行阶段需要关注是否因数据分布不均衡…

JsonUtility.ToJson 和UnityWebRequest 踩过的坑记录

项目场景&#xff1a; 需求&#xff1a;我在做网络接口链接&#xff0c;使用的unity自带的 UnityWebRequest &#xff0c;数据传输使用的json&#xff0c;json和自定义数据转化使用的也是unity自带的JsonUtility。使用过程中发现两个bug。 1.安全验证失败。 报错为&#xff1a…

在CentOS中怎么安装和配置NginxWeb服务器

在CentOS中安装和配置Nginx Web服务器可以通过以下步骤完成&#xff1a; 1. 使用yum安装Nginx&#xff1a; sudo yum install nginx 2. 启动Nginx服务&#xff1a; sudo systemctl start nginx 3. 设置Nginx开机自启动&#xff1a; sudo systemctl enable nginx 4. 配置防火墙规…

PID算法原理分析及优化

今天为大家介绍一下经典控制算法之一的PID控制方法。PID控制方法从提出至今已有百余年历史&#xff0c;其由于结构简单、易于实现、鲁棒性好、可靠性高等特点&#xff0c;在机电、冶金、机械、化工等行业中应用广泛。 在大学期间&#xff0c;参加的智能汽车竞赛中就使用到了PI…

如何安装和卸载SFP光模块

SFP光模块的安装和拆卸是简单直接的过程。然而&#xff0c;任何非标准操作都可能导致隐式损坏甚至永久故障。您需要参考及时更新的光模块的数据表或用户手册&#xff0c;以熟悉其特性和锁定机制。 准备工作 常见事项 拆卸和插入SFP光模块可能会缩短其使用寿命&#xff0c;因…

重新了解一下之前的單對象變化問題

單對象變化問題 聲明一個方法在頁面中監聽這個對象的改變 2年之前寫過一篇文章&#xff0c;有些誤導&#xff0c;重新寫一遍 聲明一個方法 不管是在哪裡&#xff0c;創建一個名為 single-object.jsx 的文件 export const singleObject (newObj, oldObj) > {return JSON.str…

美团门票度假java实习(66m)

1.介绍一下redisson分布式锁 2.redission分布式锁底层如何实现 3.基于setnx实现的分布式锁的缺点有哪些 4.基于redis如何实现可重入的分布式锁 5.项目的qps大概多少 6.如何自己实现一个限流算法中的滑动窗口 8.code&#xff1a;用两个队列实现一个栈&#xff0c;java语言 9.jvm…

jupyter | jupyter里执行shell命令

先说结论&#xff1a; 在 shell 命令前加 ! tar -zxvf sp.tgzFile "<ipython-input-2-3125352daeb6>", line 1tar -zxvf sp.tgz^ SyntaxError: invalid syntax 在 jupyter Code Cell中只能执行ls 、pwd 等简单命令。当需要执行tar 或者稍微负责命令时就报错了…

数据库被.[Goodmorningfriends@onionmail.org].faust勒索病毒加密,能恢复吗?

.faust勒索病毒有什么特点及危害&#xff1f; .faust勒索病毒是一种恶意软件&#xff0c;以其复杂的加密技术和勒索行为而闻名。这种病毒的主要目标是通过加密受害者的数据文件&#xff0c;然后勒索赎金以解密这些文件。它通常通过恶意附件、恶意链接或潜在的不安全下载源传播&…

在realsense D455相机上运行orb_slam3

配置orb_slam3的环境 参考https://blog.csdn.net/weixin_42990464/article/details/133019718?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171109916816777224423276%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request…

操作符详解(C语言)—第三期

逻辑操作符 逻辑操作符有哪些&#xff1a; && 逻辑与 || 逻辑或区分逻辑与和按位与 区分逻辑或和按位或 1&2----->0 1&&2---->1 1|2----->3 1||2---->1逻辑与和或的特点&#xff1a; 360笔试题 #include <stdio.h&…