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) |