为Apache增加SSL安全保护

简介:
& 简介:
Netscape公司提出的安全套接层(Secure Sockets Layer)的概念,简称SSL。顾名思义,这是一个建立在Socket层的安全协议,它屏蔽了高层协议如telnet、ftp、http的区别,把安全建立在了传输之上。目前该协议以被广泛采纳,它所定义的很多功能都成了下一代IP协议IPV6的一部分。

& 所需资源:

&1.2.1 所需包

1. Apache 1.3.19.tar.gz 

下载网址: 
http://www.tux.org/pub/net/apache/dist/apache_1.3.17.tar.gz 

2. openssl 0.9.6 要用他来生成密钥和签署证书 

下载网址:
http://www.openssl.org/source/openssl-0.9.6.tar.gz 

3. mod_ssl 2.8.0 

下载网址:
http://www.modssl.org/source/mod_ssl-2.8.0-1.3.19.tar.gz 

&1.2.2 安装过程

1. 编译 OpenSSL: 

cd /usr/local
tar zxvf openssl-0.9.6.tar.gz
cd /usr/local/openssl-0.9.6 
./config --prefix=/usr/local/openssl 
#注意,这里是 config 而不是 configure。 
make 
make test 
make install 

2. 编译MOD_SSL 

cd /usr/local
tar zxvf mod_ssl-2.8.0-1.3.19
cd /usr/local/mod_ssl-2.8.0-1.3.19 
./configure --with-apache=../apache_1.3.19

3. 编译apache

cd /usr/local
tar zxvf apache_1.3.19
cd /usr/local/apache_1.3.19
SSL_BASE=../openssl-0.9.6 \ 
./configure --prefix=/usr/local/apache_1.3.19 \ 
--enable-module=ssl \ 
--enable-shared=ssl 
make 
4.生成CA

make certificate TYPE=custom 
说明:这一步要生成你自己的 CA (如果你不知道,我也不能细说了,简单地说就是认证中心),和用它来为你的服务器签署证书。 
STEP 0: 
选择算法,使用缺省的 RSA 

STEP 1: 
生成 ca.key,CA的私人密钥 

STEP 2: 
为CA生成X.509的认证请求 ca.csr 
要输入一些信息: 
Country Name: cn 国家代码,两个字母 
State or Provice name: An Hui 省份 
Locality Name: Bengbu 城市名 
Organization Name: Home CA 组织名,随便写吧 
Organization Unit Name: Mine CA 
Common Name: Mine CA 
Email Address: sunstorm@263.net 我的Email 
Certificate Validity: 4096 四千多天,够了吧 

STEP 3: 
生成CA的签名,ca.crt 

STEP 4: 
生成服务器的私人密钥,server.key 

STEP 5: 
生成服务器的认证请求,server.csr 
要输入一些信息,和STEP 2类似, 
不过注意 Common Name是你的网站域名,如 www.mydomain.com 
Certificate Validity不要太大,365就可以了。 

STEP 6: 
为你的服务器签名,得到server.crt 

STEP 7-8:
为你的 ca.key 和 server.key 加密,要记住pass phrase。 
下面完成apache的安装 
make install 
vi /usr/local/apache/conf/httpd.conf 
修改BindAddress 和 ServerName 
如果要改变 DocumentRoot 要记得把httpd.conf里SSL Virtual Host Context部分的DocumentRoot设定也改掉。 
SSLCertificateFile和SSLCertificatKeyFile的设定也在SSL Virtual Host Context部分。 
它可能是这样设定的:
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt 
SSLCertificateKeyFile /usr/local/apache_1.3.19/conf/ssl.key/server.key 
要注意ssl.key ssl.crt等目录和文件的权限! 
所有的key,csr,crt,prm文件都应该设为 400 属性! 
& 5.3 手工签署证书
虽然在安装MOD_SSL时已经使用 make certificate 命令建立了服务器的证书签名,但是有时你可能需要改变它。 

当然有很多自动的脚本可以实现它,但是最可靠的方法是手工签署证书。首先我假定你已经安装好了openssl和MOD_SSL,如果你的
openssl安装时的prefix设置为/usr/local/openssl,那么把/usr/local/openssl/bin加入执行文件查找路径。还需要MOD_SSL源代码中的一个脚本,它在MOD_SSL的源代码目录树下的pkg.contrib目录中,文件名为 sign.sh。将它拷贝到 /usr/local/openssl/bin 中。 

先建立一个 CA 的证书,
首先为 CA 创建一个 RSA 私用密钥, 
[S-1] 
openssl genrsa -des3 -out ca.key 1024 
系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。 
生成 ca.key 文件,将文件属性改为400,并放在安全的地方。 
[S-2] 
chmod 400 ca.key 
你可以用下列命令查看它的内容, 
[S-3] 
openssl rsa -noout -text -in ca.key 
利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构) 
[S-4] 
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt 
然后需要输入下列信息: 
Country Name: cn 两个字母的国家代号 
State or Province Name: An Hui 省份名称 
Locality Name: Bengbu 城市名称 
Organization Name: Family Network 公司名称 
Organizational Unit Name: Home 部门名称 
Common Name: Chen Yang 你的姓名 
Email Address: sunstorm@263.net Email地址 
生成 ca.crt 文件,将文件属性改为400,并放在安全的地方。 
[S-5] 
chmod 400 ca.crt 
你可以用下列命令查看它的内容, 
[S-6] 
openssl x509 -noout -text -in ca.crt 
下面要创建服务器证书签署请求, 
首先为你的 Apache 创建一个 RSA 私用密钥: 
[S-7] 
openssl genrsa -des3 -out server.key 1024 
这里也要设定pass phrase。 
生成 server.key 文件,将文件属性改为400,并放在安全的地方。 
[S-8] 
chmod 400 server.key 
你可以用下列命令查看它的内容, 
[S-9] 
openssl rsa -noout -text -in server.key 
用 server.key 生成证书签署请求 CSR. 
[S-10] 
openssl req -new -key server.key -out server.csr 
这里也要输入一些信息,和[S-4]中的内容类似。 
至于 extra attributes 不用输入。 
你可以查看 CSR 的细节 
[S-11] 
openssl req -noout -text -in server.csr 
下面可以签署证书了,需要用到脚本 sign.sh 
[S-12] 
sign.sh server.csr 
就可以得到server.crt。 
将文件属性改为400,并放在安全的地方。 
[S-13] 
chmod 400 server.crt 
删除CSR 
[S-14] 
rm server.csr 

最后apache设置 
如果你的apache编译参数prefix为/usr/local/apache, 
那么拷贝server.crt 和 server.key 到 /usr/local/apache/conf 
修改httpd.conf 
将下面的参数改为: 
SSLCertificateFILE /usr/local/apache/conf/server.crt 
SSLCertificateKeyFile /usr/local/apache/conf/server.key 
可以 apachectl startssl 试一下了。 

& 5.4 测试及管理办法
cd /usr/local/apache_1.3.19 
bin/apachectl startssl 
提示输入pass phrase(就是你前面输入的,不知道你还记不记得) 
输入后就启动了一个支持SSL的apache 

在IE里输入https://192.168.0.1/ 试试,注意是https而不是http!



本文转自Devin 51CTO博客,原文链接:http://blog.51cto.com/devingeng/1322529

相关文章
|
13天前
|
网络安全 Apache
Apache服务器安装SSL证书
Apache服务器安装SSL证书
19 0
|
15天前
|
安全 搜索推荐 数据建模
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
SSL证书是网络安全的关键,用于加密和验证网站身份,保护用户数据安全,防止信息被窃取。它分为DV、OV、EV和IV四种类型,每种验证网站身份的程度不同。DV证书快速签发,OV和EV证书提供更高级别的身份验证,EV证书曾在浏览器地址栏显示绿色。目前,DV证书占据市场大部分份额。SSL证书还有单域、通配符和多域之分,有效期曾从多年逐渐缩短至90天,以增强安全性。部署SSL证书能提升用户信任,优化SEO排名,并符合网络安全法规要求。
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
|
2月前
|
存储 监控 安全
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
为了提供更好的日志数据服务,360 企业安全浏览器设计了统一运维管理平台,并引入 Apache Doris 替代了 Elasticsearch,实现日志检索与报表分析架构的统一,同时依赖 Doris 优异性能,聚合分析效率呈数量级提升、存储成本下降 60%....为日志数据的可视化和价值发挥提供了坚实的基础。
360 企业安全浏览器基于阿里云数据库 SelectDB 版内核 Apache Doris 的数据架构升级实践
|
4月前
|
存储 监控 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
|
4月前
|
SQL 存储 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
107 0
|
7天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
13 0
|
1月前
|
安全 Linux 网络安全
Qt SSL/TLS 安全通信类:构建安全网络应用的关键组件
Qt SSL/TLS 安全通信类:构建安全网络应用的关键组件
64 0
|
3月前
|
安全 网络安全 数据安全/隐私保护
|
5月前
|
存储 监控 安全
奇安信基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志安全分析系统,查询平均提速 700%
Apache Doris 助力奇安信建设全新日志存储分析平台,提升系统安全性与快速响应能力!
奇安信基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志安全分析系统,查询平均提速 700%
|
6月前
|
安全 网络安全 数据安全/隐私保护
此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)
此网站无法提供安全连接(客户端和服务器不支持一般 SSL 协议版本或加密套件。)
372 0

推荐镜像

更多