幸存的Memory

不知道自己来自何方,不知道自己飘向何处,不知道忘记了多少,不知道还能记住多少,
不知道多少人同我一样,也不知道多少人和我完全不同。
残存的Memory里,这里或许是你我Memory中的家园。
希望每天都能为自己留住那片湛蓝的天
还我幸存的Memory。。。
还我洁白的Memory。。。

逝者如斯
网志分类
· 所有网志 (133)
· RouterOS (2)
· 常用英语口语 (3)
· 生活随想 (2)
· 转载小说 (1)
· Microsoft Windows (19)
· Microsoft Exchange (1)
· Microsoft SQL2K (2)
· TrendMicro IMSS (9)
· Panasonic TD510 (4)
· Veritas BackupEXEc (1)
· HP 相关产品 (4)
· Router维护 (4)
· 邮件维护 (6)
· 网络维护 (58)
· 硬件相关 (5)
· 脚本及代码学习 (7)
· 常用产品服务热线 (3)
· 未分类 (2)
搜索本站
友情链接
· 我的歪酷 非非共享界
· 事件日志查询-EventID.Net
· 事件日志查询-微软帮助和支持
· 事件日志查询-Microsoft TechNet_ Events and Errors for Windows and the Windows Server System
· 技术论坛-Winmag技术社区
· 技术论坛-技术中国
· 技术论坛-网管员世界
· 技术论坛-邮件技术资讯
· 技术论坛-TechNet 安全主页
· 技术论坛-ISA Server 英文站
· 技术论坛-ISA中文站
· 技术论坛-ISA Server主页
· 技术论坛-微软脚本中心
· 技术论坛-CSDN技术社区
· 技术论坛-安全地带
· 技术论坛-天地无忧
· 破解软件-全方位下载
· 破解软件-全方位破解
· 破解软件-木蚂蚁软件园
· 破解软件-霏凡软件
· 破解软件-汉化新世纪
· 破解软件-赢政天下
· 破解软件-下载破解
· 破解软件-梦想软件园
· 破解软件-天天安全网
· 破解软件-侠盗阿凡提
· 软件破解-绿色软件联盟
· DNS Report
· DNS Stuff
· 电话交换机-启博论坛
· 电话交换机-中国交换机网
· 程控交换机-技术交流论坛
· 电子图书-豆豆技术网
· 电子图书-爱书吧
· 电子图书-下吧源码
· VOIP-voip论坛
· VOIP-全球VoIP联盟
· VOIP-中国VoIP论坛
· 北京大学天网中英文搜索引擎

订阅 RSS

0044275

歪酷博客


« 上一篇: ipchains 中数据包的流向问题[RouterOS新人必看] 下一篇: IMSS的Heuristic Spam Filter (SPS)是如何给邮件评分的? »
zsuptown @ 2006-09-26 13:37

通过Stunnel+OpenSSL+Privoxy建立SSL Http Proxy服务器及客户端
 
作者:未知    文章来源:net    点击数: language=javascript src="/Article/GetHits.asp?ArticleID=2074">244    更新时间:2005-12-14
Http Proxy 没有加密,连 HTTP/1.1 协议的用户密码也是明文传输的,网络嗅包器怎么多,实在不安全。如何建立一个高度安全的 Http Proxy,保证服务器和客户端之间的通信安全?通过 Stunnel + OpenSSL + Privoxy 可以做到。

SSL Http Proxy 服务器:

Privoxy (提供 Http 代理) ---> 通过 Stunnel 把 Http 代理映射/转换成 SSL 代理

SSL Http Proxy 客户端:

通过 Stunnel 把 SSL 代理映射/转换成 Http 代理 ---> 在浏览器设置 Http 代理

这样服务器和客户端之间的通信就有了 SSL 加密保障。

涉及的软件:

Stunnel: Socket端口 SSL 加密/解密、映射/转换,需要 OpenSSL 库
Openssl: 提供 SSL 加密/解密动态库(libeay32.dll、libssl32.dll、openssl.exe)
Privoxy: Http Proxy 服务器

这三个软件在 MS Windows 和 Linux 下都有相应版本,并且是 OpenSource 的软件(奔放、自由)。三个软件都很优秀。OpenSSL 不用说了;Stunnel 两年前我就在用,使用也很稳定;Privoxy 的前身也是 Http Proxy 服务器,多年的实际使用,有广泛的用户。

为了便于初次使用者方便,我写下了 MS Windows 下的安装及使用步骤
测试平台:MS Windows 2000 (三个软件兼容 MS Windows XP/2000/NT/98)


SSL Http Proxy 服务器安装:

1、安装 Privoxy

先下载 Privoxy 软件,http://sourceforge.net/projects/ijbswa/ 的下载, MS Windows 只有图形版本,控制台版本需要下载源程序编译,或使用我编译好的(见附件)。这里使用的是 privoxy-3.0.0-stable 版的控制台版本/图形版本进行测试。

2、配置 Privoxy

Privoxy 的主要配置文件是 config.txt
通过编辑软件打开,如:记事本--notepad。config.txt中有几个重要的选项:

1、listen-address : Http Proxy 的端口,默认的是127.0.0.1:8118
2、logfile privoxy.log :记录,如果不指定文件名将不记录,但会打印在屏幕
3、jarfile jar.log :客户端 cookies 的记录存放文件,如果不指定文件名,客户端无法使用 cookies
4、permit-access、deny-access :允许/拒绝的IP/域名,建议只允许 localhost “permit-access localhost”,外部的网络通过 Stunnel 提供的 SSL 加密代理
config.txt 的这些配置满足一般需要了,其他的请看 config.txt 内的注释。

Privoxy 还有其他的配置文件,用于过滤网站、广告等功能扩展,因为不是必须的配置,略。

3、运行 Privoxy

Http 代理出来了,它向 Stunnel 提供一个 Http 代理端口。

4、安装 Stunnel

下载 Stunnel 软件。这里使用的是 stunnel-4.00.exe 版。Stunnel需要 OpenSSL 库支持,所以还要下载 Openssl 的支持文件--libeay32.dll、libssl32.dll、openssl.exe。将下载的文件放到同一个目录下。

5、创建服务器证书

Stunnel 客户方式不需要证书。Stunnel 服务方式需要一个证书文件。
Stunnel 在 SSL Http Proxy 服务器是以服务方式运行的,所以必须要有一个证书。通过 openssl.exe 创建服务器证书。下面我将 Stunnel 关于创建证书的翻译如下:
“...运行下面的命令
openssl req -new -x509 -days 365 -nodes -config openssl.cnf -out stunnel.pem -keyout stunnel.pem
这将会创建一个自己给自己签名的证书。参数的含义:
-days 365
使这个证书的有效期是1年,之后它将不能再用。
-new
创建一个新的证书
-x509
创建一个 X509 证书(自己签名的)
-nodes
这个证书没有密码
-config openssl.cnf
OpenSSL 使用的配置文件 (可能需要修改的有[CA_default]和[req_distinguished_name]这两个 section,译者)
-out stunnel.pem
把 SSL 证书写到哪里
-keyout stunnel.pem
把 SSL 证书放到这个文件中

这个命令将会问你以下问题:
问题的回答示范
Country name PL, UK, US, CA
State or Province name Illinois, Ontario
Locality Chicago, Toronto
Organization Name Bill's Meats, Acme Anvils
Organizational Unit Name Ecommerce Division
Common Name (FQDN) www.example.com

注意:Common Name (FQDN) 应该是运行 stunnel 机器的主机名。如果你能通过不同的主机名访问这台机器,有些 SSL 客户会警告这个主机的证书有问题,所以最好是使它和用户访问的主机名匹配。

openssl gendh 512>> stunnel.pem
这将生成 Diffie-Hellman 部分, 追加到 pem 文件中。这个只有在你指定 stunnel 使用 DH 才需要, 但默认是不用的。(实际好象是必须的,可能是后来改了,译者)

openssl x509 -subject -dates -fingerprint -in stunnel.pem
这个命令是将你的证书信息在屏幕显示出来。”

6、配置/运行 Stunnel

stunnel-4.00 默认配置文件是 stunnel.conf
下面是最小的服务方式配置文件内容示范:

key = stunnel.pem
[http2ssl]
accept = 443
connect = 127.0.0.1:8118

含义:使用 stunnel.pem 证书,将 127.0.0.1: 8118 的端口加密映射成本机443端口,“ http2ssl ”是名称,可以改成其他的标识。

配置文件文件还有其他内容,详情请看帮助。

直接运行stunnel-4.00.exe,就可以启动 Stunnel 了。

7、将Stunnel 安装成 MS NT 服务方式(可选)

stunnel-4.00.exe 也可以作为 MS NT 服务方式启动,在 Stunnel 所有设置完成后,运行 stunnel-4.00.exe -install 将会安装成服务。
安装成服务后
运行 net start "stunnel 4.00" 启动 stunnel 4.00 服务。
运行 net stop "stunnel 4.00" 停止 stunnel 4.00 服务。
运行 stunnel-4.00.exe -uninstall 卸载 stunnel 4.00 服务。

注意:即使是 MS NT 服务方式启动,当启动 stunnel 4.00 服务的时候,在托盘还是有 Stunnel 的图标。不想托盘有 Stunnel 的图标,可以用 stunnel-3.22 控制台版本。

stunnel-3.22 控制台的简要说明:

服务器运行参数示范:
stunnel-3.22.exe -d 443 -r 127.0.0.1:8118
含义将 127.0.0.1:8118 的端口加密映射成本机443端口

客户端运行参数示范:
stunnel-3.22.exe -c -d 127.0.0.1:80 -r 192.168.0.1:443
含义将 192.168.0.1:443 的端口解密映射成本机80端口


这样 SSL Http Proxy 服务器就完成了。
下面看看客户端是怎么使用的


因为 SSL Http Proxy 是特殊的 Http 代理,所以客户端不能直接使用,需要下载软件 Stunnel。


客户端使用:

1、安装 Stunnel

下载 Stunnel 软件。这里使用的是 stunnel-4.00.exe 版。Stunnel需要 OpenSSL 库支持,所以还要下载 Openssl 的支持文件--libeay32.dll、libssl32.dll。将下载的文件放到同一个目录下。

2、配置/运行 Stunnel

stunnel-4.00 默认配置文件是 stunnel.conf
下面是最小的客户方式配置文件内容示范:

client = yes
[ssl2http]
accept = 127.0.0.1:80
connect = 192.168.0.1:443

含义:使用客户方式方式,将 192.168.0.1:443 的端口解密映射成本机80端口,“ ssl2http ”是名称,可以改成其他的标识。
accept设置为127.0.0.1:80,只允许127.0.0.1--本机使用这个80端口代理,禁止了其他人使用你的机器作代理 Sad

配置文件文件还有其他内容,详情请看帮助。

直接运行stunnel-4.00.exe,就可以启动 Stunnel 了。

3、在浏览器设置 Http 代理

现在代理是:127.0.0.1:80。注意在 IE 设置 Http 代理时,“ IE |工具| Internet 选项|连接”有两种:“局域网(LAN)设置”和“拨号和虚拟专用网络设置”。“局域网(LAN)设置”对局域网生效;“拨号和虚拟专用网络设置”对拨号网络生效。

但有时“拨号和虚拟专用网络设置”设置的代理会失效,不通过代理直接访问网站。原因可能是多种上网环境,显式的是拨号上网,还有隐式的 NAT、DHCP(有些是这样)。通过隐式的方式出去,就出现“拨号和虚拟专用网络设置”设置的代理失效。可以将“局域网(LAN)设置”和“拨号和虚拟专用网络设置”都设置代理来避免这种情况。


现在客户端就畅快的通过 SSL Http Proxy 来浏览网站吧!


后记

Stunnel 的用途很多,通过类似的方法,我们可以给 Smtp/Pop3、Socks4/5、Ftp 等加上 SSL 隧道,甚至可以创建 VPN 。e-Border 有类似的解决方案--加密的Socks5代理,但不是免费的。
这里涉及 Stunnel 的使用是最简单的一种,如客户端也有证书认证等,没有涉及。Privoxy 这里也简单运用,Privoxy 的其他功能,如过滤恶意的广告等,也没有涉及。


相关网站:

http://www.stunnel.org

http://www.openssl.org/

http://sourceforge.net/projects/ijbswa/




评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定