在SSH代理中实现秘密握手的方法
在SSH代理中实现秘密握手的方法
发布时间:2016-12-27 来源:查字典编辑
摘要:恰好今天看到所用的ssh代理服务供应商开始在server上部署和测试Obfuscation功能,以增强抵御某怪物干扰用户正常使用ssh代理的...

恰好今天看到所用的ssh代理服务供应商开始在server上部署和测试Obfuscation功能,以增强抵御某怪物干扰用户正常使用ssh代理的能力。

1. 原理

以下是ISP提供的说明:

In cryptography, obfuscation refers to encoding the input data before it is sent to a hash function or other encryption scheme. This technique helps to make brute force attacks unfeasible, as it is difficult to determine the correct cleartext. 从密码学角度上讲,Obfuscation(混淆)指的是在将所输入的数据发送至哈希公式或者其他加密公式 前对其进行编码,该技术使得暴利破解难以见效,因为要确认正确的明文非常困难。

概念蛮绕口的,然后我那烂翻译也……不过意思还是很清楚的,实际上就是将handshake易容,这样怪物就看不出来数据传输用的ssh协议了,然后ssh代理满血归来。

2. 解决方案

牛人Bruce Leidl为openssh写了个很给力的补丁。它可以在创建加密SSH连接时将握手信号(handshake)进行混淆处理。这样一个加密的握手信号就可以骗过怪物所用的深度包检测设备,顺利完成使命,进而保证了网络的安全性与稳定性。

(1)准备

你需要有一台位于怪物控制范围的Linux服务器,然后在服务器上配置好Obfuscated-openssh补丁。

Obfuscated-openssh点此下载,然后执行下述命令编译安装:

./configure make make install

建议将其与常规的SSH守护进程分开安装。

(2)配置

作为SSH代理的话,没有必要让用户通过ssh登陆服务器,因此需要将此部分权限给限制掉,让用户只能使用SOCKS代理。要做到这点,需要创建专用的用户账号。

以下即为添加一个名为“golengssh”而密码为“goleng.com”用户的命令,该用户无法远程登入服务器。

sudo useradd -m -s /usr/sbin/nologin -p goleng.com golengssh

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新unix linux学习
热门unix linux学习
操作系统子分类