歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 在SSH代理中實現秘密握手的方法

在SSH代理中實現秘密握手的方法

日期:2017/3/1 17:38:09   编辑:Linux技術

恰好今天看到所用的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

Copyright © Linux教程網 All Rights Reserved