动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   安全 → 阅读文章
  

 如何在Red Hat 7.1中配置SSL

作者来源: 
阅读 数 625 人次 , 2006-3-19 2:26:00 

在Web站点上,为了在非保密的Internet上传输保密或敏感信息,需要设置SSL.本文主要讲述在RED HAT7.1中进行SSL配置的基本过程.

在RED HAT7.1中进行SSL配置的基本过程主要包含安装APACHE和OPENSSL、创建自己的CA、签署证书、更改httpd.conf几个步骤。

安装APACHE和OPENSSL

RED HAT7.1中已经自带了APACHE1.3.19和OPENSSL0.9.6,在安装LINUX时选择安装WebServer和MOD_SSL即可,同时,配置Linux的起动模块,使HTTPD在Linux起动时自动运行。

创建自己的CA

# cd /usr/share/ssl/misc

# ./CA -newca

屏幕上出现如下的提示:CA certificate filename (or enter to create)

这是要求输入要创建的CA的证书文件名, 可以直接回车或输入证书文件名。

Making CA certificate ...

Using configuration from /usr/share/ssl/openssl.cnf

Generating a 1024 bit RSA private key ??

.....++++++

writing new privatekey to './demoCA/private/./cakey.pem'

Enter PEM pass phrase:

Verifying password - Enter PEM pass phrase:-

此时要求输入和验证CA的私钥口令、国家代码(中国是CN)、省份、城市或地区、组织或企业名称、部门名称、CA的名称或服务器的主机名称、管理员电子邮件地址。

至此,在当前目录下生成了demoCA的目录,CA的证书就在该目录下,文件名为cacert.pem

生成服务器的证书请求

# ./CA -newreq

屏幕上出现如下的提示:

Using configurationfrom /usr/share/ssl/openssl.cnf

Generating a 1024 bit RSA private key ??

.++++++ 

writing new private key to 'newreq.pem'

Enter PEM pass phrase:

Verifying password - Enter PEM pass phrase:

此时要求输入和验证服务器的私钥口令、国家代码(中国是CN)、省份、城市或地区、组织或企业名称、部门名称、CA的名称或服务器的主机名称、管理员电子邮件地址。

Please enter the following 'extra' attributes

to be sent with your certificaterequest

A challenge password []:

An optional company name []:

.Request (and private key) is in newreq.pem

这是要求输入服务器的相关信息。

此时,在当前目录下生成了一个名为newreq.pem的文件,包含了要生成服务器数字证书的请求。

签署证书

# ./CA -sign

屏幕上出现如下的提示:

Using configuration from /usr/share/ssl/openssl.cnf

Enter PEM pass phrase:

此时一样需要输入CA的私钥口令、国家代码(中国是CN)、省份、城市或地区、组织或企业名称、部门名称、CA的名称或服务器的主机名称、管理员电子邮件地址。

Certificate is to be certified until Nov 19 13:46:19 2002 GMT (365 days)

Sign the certificate? [y/n]:y

这时显示证书请求文件中的各项信息,并询问是否要签署证书,回答y,进行签署。

1 out of 1 certificate requests certified, commit? [y/n]y

回答y,会显示已经签署的证书的信息,并在当前目录下生成服务器的证书文件newcert.pem。

更改/etc/httpd/conf/httpd.conf

1) 更改SSL的根目录

建立一个新目录,如/var/www/sslhtml。

在<IfDefine HAVE_SSL>中修改

DocumentRoot “/var/www/html”为DocumentRoot “/var/www/sslhtml”

2) 更改服务器的证书文件的相关配置

 

# cp newcert.pem /etc/httpd/conf/ssl.crt/server.pem

在<IfDefine HAVE_SSL>中修改

SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt

SSLCertificateFile /etc/httpd/conf/ssl.crt/server.pem

3) 更改服务器的证书密钥文件的相关配置

# cp newreq.pem /etc/httpd/conf/ssl.key/server.pem

在<IfDefine HAVE_SSL>中修改

SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key

为SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.pem

示例文件

在SSL的根目录中生成一个index.html,它是如下所示:

<html>

这是SSL示例!

</html>

测试

假如Web服务器的DNS名称是dell.es.com.

在浏览器的URL地址栏里输入 http://dell.es.com/,浏览器便会显示APACHE安装时确省的Test Page.

在浏览器的URL地址栏里输入 https://dell.es.com/,注意:是 https 而不是http !

浏览器会提示站点已经采用了SSL进行数据的加密传输.由于我们的CA证书不是浏览器缺省的信任的根证书,所以,浏览器会说无法确认服务器的证书可信。暂时不管,一直NEXT,最后,浏览器会显示:这是SSL示例!

可以把CA的证书放在非SSL的站点上,让浏览器下载并安装CA证书,并将其设置成可信任的根证书,便可解决上面的问题.8 解除HTTPD起动时的口令输入。

由于安全的原因,Web服务器的私钥是口令加密了的,每次重新起动HTTPD或Linux时,都会要求输入Web服务器的私钥的口令。

如果要解除HTTPD起动时的口令输入,可以这样:

# cd /etc/httpd/conf/ssl.key

# cp server.pem server.pem.org

# openssl rsa -in server.pem.org -out server.pem

# chmod 400 server.pem

此时,Web服务器的私钥已经没有口令加密,一定要确保server.pem文件除root外,任何用户均无权读取它。

以上所述,只是SSL配置的最基本的几个过程。详细的配置,请参考随APACHE带的MOD_SSL部分的文档。



 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:SSL通讯安全代理简介
· 下一篇:用SSL构建一个安全的Apache
· NTFS文件流与RAR联手打造免杀木马
· 为什么一种病毒会有多个名称
· IM的十字路口:互通还是封闭?
· dvsp2上传漏洞再现----击溃动网sp2的神话
· DDoS攻击工具——Trinoo 分析(1)


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077