Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18681278
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类:

2008-05-17 11:00:39

5、使用具有SSL技术

SSL是英文Server Side Includes的缩写。使用具有SSL(安全套接字协议层)功能的web服务器,可以不用改变一行而提高网站的安全性能。SSL使用加密来保护web服务器和浏览器之间的信息流。SSL不仅用于加密在互联网上传递的数据流,而且还提供双方身份验证。

这样,你就可以安全地在线购物而不必担心别人矢随你的信用卡的信息。这种特性使得SSL适用于那些交换重要信息的地方,像电子商务和基于Web的邮件。

SSL使用公共密钥加密,服务器在连接结束时给客户端发送公用密钥用来加密信息,而加密的信息只有服务器用它自己持有的专用密钥才能解开。客户端用公用密钥加密数据,并且发送给服务端自己的密钥,以唯一确定自己,防止在系统两端之间有人冒充服务端或客户端进行欺骗。

加密的HTTP连接用443端口号代替80端口号,以区别于普通的不加密的HTTP。客户端使用加密HTTP连接时会自动使用443端口而不是80端口。这使得服务端更容易作出相应的响应。

在服务器下,可以通过直接编辑服务器配置文件或者在需要使用SSI的目录中创建.htaccess文件来启动SSL。登录到服务器,找到配置文件的存放目录,使用文字编辑器打开文件srm.conf,找到以下几行:

# If you want to use server side includes, 
or CGI outside#
ScriptAliased directories,
uncomment the following lines.#
AddType text/x-server-parsed-html 
.shtml#AddType application/x-httpd-CGI
.CGI


将以AddType开头的两行并且去掉每一行最前面的"#"符号即可。保存所做的修改,然后再打开文件access.conf。

<Directory /usr/local/etc/httpd/htdocs> 
# This may also be "None", 
"All", or any combination of "Indexes",
# "Includes", or "FollowSymLinks"
Options Indexes FollowSymLinks
</Directory>


将其中的Options Indexes FollowSymLinks改为:Options Indexes FollowSymLinks Includes 即可。

例子:如何建立一个仅接受强加密请求的SSL服务器,而又允许对外浏览器使用更强的加密?

这个功能被称为以服务器为网关的加密(Server Gated Cryptography [SGC]), 在README.GlobalID文档中有详细说明。简单地说就是:服务器拥有一个由来自Verisign的一个特殊的CA证书签发的服务器身份证, 从而在对外浏览器上实现强加密。

其过程如下:

浏览器使用对外密码进行连接,服务器返回其全局ID身份证,浏览器校验后在后继HTTP通讯产生之前提升其密码组。

现在的问题是:如何允许这样的提升,而又强制性地使用强加密。换句话说就是:浏览器必须在开始连接时就使用强加密,或者提升倒强加密,但是维持对外密码是不允许的。以下巧妙地解决了这个问题:

httpd.conf:
# 允许在初始握手阶段使用所有的密码,
# 以允许对外服务器通过SGC功能
提升密码组SSLCipherSuite ALL:
!ADH:RC4+RSA:+HIGH:+MEDIUM:
+LOW:+SSLv2:+EXP:+eNULL
#
但是最终会拒绝所有没有提升密码组的
浏览器SSLRequire %
{
SSL_CIPHER_USEKEYSIZE
}
>= 128
阅读(305) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~