SocksProxy如何让你更安全的浏览互联网
SocksProxy如何让你更安全的浏览互联⽹
在不使⽤VPN的情况下如何保证在浏览⽹页数据的时候更安全更隐私呢?Socks proxy和SSH将会给你答案。
在进⼊正题之前我们⾸先需要了解⼀下Socks proxy,什么是Socks proxy?
Socks 服务器通常是作为⼀个代理服务器,充当⼀个中间代理的⾓⾊,与客户端以及真正的服务端建⽴TCP连接,然后负责对客户端与服务端之间的流量进⾏路由和转发。⼀个socks代理服务器能够与任何⼀种⽹络协议进⾏⼯作,今天我们将使⽤SSH协议,⽽今天我们要使⽤的是Socks version 5,该版本的socks加强了安全和UDP协议的⽀持。socks服务器在客户端与真正的服务器之间仅仅进⾏流量传输的⼯作,不进⾏任何额外的⼯作,充分保证了数据的安全性。
那么socks proxy是如何⼯作的呢?
⾸先需要在你本地安装⼀个socks客户端,我使⽤的是windows操作系统,因此socks客户端选择的是PuTTY,浏览器使⽤的是Firefox。
socks客户端⾸先与socks服务器建⽴连接,socks协议要求对连接请求进⾏认证。你通过代理服务器向外部的服务端发送请求,外部服务器只知道proxy服务器的存在,这就是为什么socks proxy在隐私⽅⾯
做的很好的。
接下来就如何利⽤SSH协议建⽴Socks proxy进⾏详细说明。
⾸先是需要准备的服务器和环境:
VPS(Virtual PrivateServer),需要准备⼀台运⾏Linux操作系统的服务器,并且能够SSH登陆;
Firefox 浏览器
PuTTY,SSH登陆客户端
Mac OS X/Linux中建⽴SSH Tunnel
服务器和环境都准备好之后,接着就是建⽴SSH Tunnel。需要根据客户端机器操作系统类型来选择建⽴SSH Tunnel的⽅式。如果是Mac OS X或者Linux⽤户,则使⽤下⾯的⽅法。
打开SSH客户端,输⼊以下命令来建⽴tunnel:
ssh -D 1026 -f -C -q-N name@IP
上述命令参数说明如下:
-D:这个参数是告诉SSH在指定端⼝上建⽴SOCKS proxy,这⾥的指定端⼝是1026;
-f:使SSH命令在后台运⾏;
-C:对所有数据进⾏压缩;
-q:使⽤安静模式运⾏命令,告警和诊断信息将不被输出;
-N:告诉SSH⼀旦tunnel建⽴不允许执⾏远程命令,防⽌被⼈恶意利⽤;
最后需要将name@IP替换成sudo⽤户名和VPS的IP地址。
命令会在后台运⾏,可以通过ps aux|grep ssh查看进程是否有在正常运⾏。
如果需要关闭进程,杀掉运⾏的进程即可:
sudo kill 2016 windows 中建⽴SSH Tunnel
在windows中可以在PuTTY中进⾏配置,建⽴SSH Tunnel。
启动PuTTY,选择Session,在Host Name中输⼊VPS的IP地址,端⼝默认22,也可以指定其他端⼝,需要根据服务端的ssh服务端⼝来指定,Connect Type选择SSH,然后重命名当前配置并保存session。
接着在PuTTY左边的树型菜单中选择Connection–>SSH–>Tunnels,在Source port中输⼊1025到65536中的任意⼀个数字,点击Add,就能在Forwareded Ports中看到添加的端⼝信息,选择Dynamic:
最后点击Open,会弹出⼀个新窗⼝需要输⼊登陆VPS服务器的⽤户名和密码,输⼊正确的⽤户名密码之后,就能登陆到VPS上并成功创建tunnel。
需要关闭tunnel的话⾮常简单,只需要关闭PuTTY窗⼝即可。
配置Firefox使⽤SSHTunnel
Tunnel已经成功建⽴,接下来就是配置Firefox利⽤建⽴的SSH Tunnel浏览⽹页。
启动Firefox,点击右上⾓的选项卡,并选择”选项”菜单:
滚动到”选项”页的最底部,选择设置⽹络代理,在连接设置窗⼝,选择”⼿动代理配置”,在SOCKS Host中填写localhost或者127.0.0.1,端⼝填写上⾯设置的12345,协议选择默认的SOCKS v5,点击OK即可。
这样⼀个socks proxy就搭建完成了,接下来我们看看效果。在chrome浏览器(没有使⽤socks代理)中打开百度,输⼊ip点击搜索,可以看到显⽰的IP为当前⽹络环境的公⽹IP地址;
接着在Firefox中打开百度输⼊ip点击搜索,可以看到显⽰的ip地址发⽣了变化,变成了我配置的socks proxy所在的公⽹IP地址。
到此,尽管访问⽹页的流量被加密转发了,并且对于⽬标服务器来说访问源IP改变了,但是DNS查询的时候记录的仍然是你本⾝所在的⽹络,并没有做到完全的保密。这种情况也是有解决⽅案的。如何设置代理服务器
打开Firefox浏览器,地址栏中输⼊about:config进⼊浏览器的内部设置,在使⽤该配置的时候要⾮常的谨慎,配置不当可能会使浏览器⽆法正常使⽤。在弹出的告警对话框中点击”我了解此风险!”进⼊下⼀个页⾯。
在顶部的搜索栏中输⼊”network.proxy.socks_remote_dns”,然后双击该配置项,配置就发⽣了变化,状态由默认变成了已修改,值由false(默认值)变成了true。配置⽣效后,Firefox就会使⽤代理转发DNS请求⽽不是在本地解析。
上⾯这种⽅式实现的socks proxy只是⼀种简单的代理⽅式,只能保证在浏览器中的上⽹⾏为被保护起来了,通过其他⽅式访问互联⽹的⾏为(例如APP)⽆法通过socks proxy保护数据安全。如果需要所有互联⽹访问被保护起来,就需要使⽤VPN了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。