apache的站点安全
客户端通过https访问服务过程详解:
1,客户机会通过https访问web服务器,web服务器向客户机出示自己的证书。
2,客户机验证证书的有效性,包括发证时间,发证机构,执行者标示。
3,如果客户机验证证书通过,客户机随机产生128为的key,再利用证书文件传递的public key对该随机key进行加密。
4,加密后传送至服务器端,服务器再利用自己的public key对加密的key进行解密,得到客户机的随机key值。
5,这时两端的key值相同,利用该key进行加密通讯。
一.身份验证
a. 【 directory 指明 站点主目录】
alloworverride all
【/directory 】
b.在站点的主目录下面
说明文件 .htaccess
authuserfile /var/www/.htpasswd 表明验证的库文件在什么地方
authname “please input your name and password ” 提示的说明文字
authtype basic 如何验证用户身份
require valid-user
c.产生账号文件
htpassed -c 账号文件 账号
二.来源控制
Order allow,deny
deny from 192.168.2.100
allow from all
https原理
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的安全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)SSL使用40 位关键字作为RC4流加密算法,这对于商业信息的加密是合适的。HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁。
也就是说它的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL。
拓扑图

实验环境
web server client
red hat linux 5.4 windows xp
192.168.2.100
rhel 5.4
CA 证书
Windows 认证服务
Linux openca
openssl
库文件 /lib/libcrypto.so.6 实现加密
/lib/libssl.so.0.9.8e 实现认证
对称加密 加密 enc
非对称加密【要有公钥和私钥】 rsa
md5 sha
证书
openssl genrsa 1024 >私钥文件
openssl req -new -key 私钥文件 -out 请求文件
openssl ca -in 请求文件 -out 证书
实体:私钥---》请求文件----》证书
根CA 私钥 证书
Linux CA 【openca】
简易 openssl 实现
摘要值 openssl
文件 openssl md5/sha 文件名
信息 echo “信息” |openssl md5/sha
sha 160位 md5
实现加密
编辑f1,可以看到里面是经过加密的字符
编辑f2,可以看到里面是经过加密的字符
对称解密
产生私钥
对私钥更改权限
公钥 重私钥中进行提取
crl_dir 证书吊销列表 是一个文件
serial 最初发行的证书的序列号
证书的要求
每一次发行证书都会在前一个的基础上加1
先有私钥才有证书
为自己颁发一份证书
CA证书建好
模块
更改权限
查看端口打开没?
在浏览器里输入
https://192.168.2.100