Sunday, January 13, 2013

安装obfuscated反制gfw对ssh连接的干扰

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

1. 原理


以下是ISP提供的说明:

那何为Obfuscation?
查了下Wikipedia:
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协议了.

2. 解决方案


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

(1)准备


你需要有一台位于境外的Linux服务器,然后在服务器上配置好Obfuscated-openssh补丁。
Obfuscated-openssh点此下载: http://socks.nihilex.com/brl-obfuscated-openssh-7288432890c63dc228afe6c61e6343b72ef30962.tar.gz,然后执行下述命令编译安装:

./configure
make
make install


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

(2)配置


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

以下即为添加一个名为“golengssh"用户的命令,该用户无法远程登入服务器:

useradd -s /usr/sbin/nologin golengssh

下面为大家提供一个sshd_config文件供参考使用,使用此配置文件后,只允许用户“golengssh”连接服务器。

Linux桌面系统下,连接服务器的命令是:

ssh -Nfx -D 7070 -Z yuanjin golengssh@ur-host.com -p 443

这里的“yuanjin”就是在配置文件中的ObfuscateKeyword,ssh的服务器端口为443,最后设置浏览器的SOCKS代理为127.0.0.1:7070

SSHD_config

# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
#
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

# This ssh daemon is meant to be run separately from the regular
# non-obfuscated sshd. A single user account is enough for this purpose.
# You should make sure this user does not have shell access, by changing
# the shell to /usr/sbin/nologin.
# sudo useradd -s /usr/sbin/nologin golengssh
#
AllowUsers golengssh

# To set up a SOCKS proxy, execute an obfuscated-openssh client like so:
# The client will now be running a SOCKS proxy on localhost:7070 and forwarding
# all traffic to the ssh server port 443. User will need to configure web browsers and
# such to use the SOCKS proxy.
#
Protocol 2
ObfuscatedPort 443
ObfuscateKeyword yuanjin
#Port 22

SyslogFacility AUTH
LogLevel ERROR
LoginGraceTime 2m
PermitRootLogin no
StrictModes yes
MaxAuthTries 6
MaxSessions 10
PermitEmptyPasswords no

AllowAgentForwarding no
AllowTcpForwarding yes
PrintLastLog no
TCPKeepAlive yes
ClientAliveInterval 60
ClientAliveCountMax 3
PidFile /var/run/obf_sshd.pid
#MaxStartups 10
#PermitTunnel no
ChrootDirectory /home/golengssh

# no default banner path
#Banner none


参考文章:
[1]Secret Handshake for Iran http://nihilex.com/obfuscated-openssh
[2]Obfuscation http://en.wikipedia.org/wiki/Obfuscation
------------------------------------------------

中国防火长城测试对加密链接神秘扫描


在中国的审查机器和互联网用户的猫捉老鼠的游戏中,政府看来正在测试一种新的“捕鼠器”了——它被设计为通过防火长城探测并封锁加密通道,哪怕这种通道连接的是鲜为人知的计算机,并已经过加密。
最近几个月,本来设计了通过加密连接服务让用户安全地连接到远程计算机的管理员们观察到来自中国大陆的奇怪网络活动:当一个国内用户试图登录国外服务器时,在他/她连接到该网站之前,一串看似随机的数据已经先抵达目的地,有时这个用户的连接接着就神秘地被切断了。
例如,反审查和匿名服务提供商Tor就发现许多他们的“网桥节点”——用来帮助用户重定路由的位于世界各地的私人服务器——对中国用户来说,在几个 小时内甚至几分钟内就失效了。Tor项目的执行主任安德鲁‧鲁曼(Andrew Lewman)说用户告诉他,其他翻墙软件如无界浏览(Ultrasurf)和自由门(Freegate)也出现了类似的问题。“有人试图接入,接着出现 一个奇怪的扫瞄,然后节点就失效了,”鲁曼说:“我们经常观察到奇怪的现象,但这个却是个不平衡的怪现象,而且只来自于中国。”
鲁曼认为中国互联网服务公司可能正在测试一个新系统,不仅仅是阻挡IP地址或者某些网页,而是通过一个类似探头的东西在用户试图连接到加密网络之前 确认用户要接入什么服务。“就好像我告诉太太要和朋友去打保龄球,她事先给保龄球馆打电话来监视我到底在干什么,”鲁曼这样比喻道。“它在证实你要访问的 是不是你正在请求访问的地址。”
但是鲁曼说Tor程序开发员们目前还无法确定这个探头如何能区分用户是在加密登入Tor服务器还是加密登入某银行或电子商务网站,因为理论上两者都 是把网络信息流打乱成无法辨认的加密信息。鲁曼指出:无论如何中国政府无法阻挡所有的加密连接,比如大公司的虚拟专用网(VPN),“如果富士康和苹果断 了线,那可就是大问题了。”
同时,只有一小部分Tor的中国用户遇到这个问题,鲁曼说这意味着可能只有部分中国宽带网络公司在试验这个工具。
中共政府不止嗅探通往美国的加密连接,据位于林雪平大学中心(Linkoping University)的瑞典国家超级计算机中心的IT安全管理员列夫‧尼克松(Leif Nixon)说,他一年之前就在其服务器上独立地发现了这个现象——当中国学生或研究人员试图通过SSH加密隧道登录该中心的系统时会引来奇怪的网络扫 瞄。本月初他将自己的发现贴在了博客上。
“我不知道这个(数据)探头想达到什么目的,”他这样写道:“我只能猜是那个政府在寻找一些它不认可的服务,如开放代理或者Tor中继服务。如果留下精确指纹代价太大,于是他们就采取类似模糊测试的调查方法,即向服务器扔一段随机数据,看看有什么反应。”
“这也符合中国政府强加给其公民的人尽皆知的审查制度的所作所为,”他补充道:“我极端厌恶这种看似是中国政府在探测我们系统的行为。”
另一位要求不透露姓名的美国计算机安全工程师说,他观察到有20%来自中国用户的连接遭遇这种异常行为。“我们起初以为这是一种攻击行为。但是现在它更像是在探测这些是不是它要过滤的信息,"这位工程师说:"我还从来没有见过类似的东西。”
自从建国60大庆和与谷歌公开翻脸以来,中共一直在追捕翻墙工具。但是鲁曼指出,中国先前的过滤系统都是以阻挡IP地址为基础的,而世界各地不断有新的服务器以新IP地址来帮助中国民众绕开防火长城。
2009年伊朗政府也曾试图从各种加密信息流中鉴别接入Tor网桥节点的连接,鲁曼说,Tor想方设法让它的加密连接看起来更像其他网络服务,例如调整Tor的SSL认证的频率。
鲁曼不认为中国政府会在全国、针对数亿网民实施这个探测系统,但表示Tor工作人员希望永远领先于中共网络监控之前,“我们正在想办法,”他说:“这很令人好奇。"

No comments:

Post a Comment