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
相关推荐
香蕉割草机3 小时前
云原生、容器及数据中心网络相关名词记录
网络·云原生
北方有星辰zz4 小时前
语音识别:概念与接口
网络·人工智能·语音识别
爱上纯净的蓝天4 小时前
迁移面试题
java·网络·c++·pdf·c#
WayneJoon.H4 小时前
CTFSHOW | 其他篇题解(一)web396-web416
sql·安全·web安全·网络安全·php
cdprinter4 小时前
安全、高效、可靠的物理隔离网络安全专用设备———信刻光盘安全隔离与文件单向导入系统!
网络·安全·web安全
qq_441996056 小时前
SSH 反向隧道:快速解决服务器网络限制
服务器·网络·ssh
励志五个月成为嵌入式糕手10 小时前
0825 http梳理作业
网络·网络协议·http
dxt_snow11 小时前
docker在自定义网络中安装ElasticSearch和Kibana
网络·elasticsearch·docker
左灯右行的爱情11 小时前
分库分表系列-基础内容
网络·数据库·oracle
DebugKitty11 小时前
网络编程1-基本概念、函数接口
运维·服务器·网络·网络协议·socket·tcp