1、详细描述一次加密通讯的过程,结合图示最佳。
SSL协议基础:
SSL协议位于TCP/IP协议与各种应用层协议之间,本身又分为两层:
1)SSL记录协议:建立在可靠传输层协议(TCP)之上,为上层协议提供数据封装、压缩、加密等基本功能。
2)SSL握手协议:在SSL记录协议之上,用于实际数据传输前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议通信过程:
1)浏览器发送一个连接请求给服务器;服务器将自己的证书(包含服务器公钥S_PuKey)、对称加密算法种类及其他相关信息返回客户端。
2)客户端浏览器检查服务器传送到CA证书是否由自己信赖的CA中心签发。若是,执行第4步;否则,给客户一个警告信息:询问是否继续访问
3)客户端浏览器比较证书里的信息,如证书有效期、服务器域名和公钥S_PK,与服务器传回的信息是否一致;如果一致,则浏览器完成对服务器的身份认证
4)服务器要求客户端发送客户端证书(包含客户端公钥C_PuKey)、支持的对称加密方案及其他相关信息。收到后,服务器进行相同的身份认证,若没有通过验证,则拒绝连接;
5)服务器根据客户端浏览器发送到密码种类,选择一种加密程度最高的方案,用客户端公钥C_PubKey加密后通知到浏览器;
6)客户端通过私钥C_prKey解密后,得知服务器选择的加密方案,并选择一个通话密钥Key,接着用服务器公钥S_PuKey加密后发送服务器;
7)服务器接收到的浏览器传送到消息,用私钥S_PrKey解密,获得通话密钥key。
8)接下来的数据传输都使用该对称密钥Key进行加密。
上面所述的是双向认证SSL协议的具体通讯过程,服务器和用户双方必须都有证书。由此可见,SSL协议是通过非对称密钥机制保证双方身份认证,并完成建立连接,在实际数据通信
时通过对称密钥机制保障数据安全性。
2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。
(1)配置文件:/etc/pki/tls/openssl.cnf
创建所需要的文件:
(2)CA服务器自签证书:
-new:生成新证书签署请求;
-x509:专用于CA生成自签证书;
-key:生成请求时用到的私钥文件;
-days n:证书的有效期限;
-out /PATH/TO/SOMECERTFILE:证书的保存路径
(3)发证书:
1)客户端生成证书请求:
配置文件
2)把请求文件传输给CA服务器:
如下图没有安装SCP工具,可以用我们配置的yum install openssh-clients来安装即可使用。
3)CA签署证书,并将证书发还给请求者:
3、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)
(1)、能够对一些主机名进行正向解析和逆向解析;
(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;
(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程
先进行安装:
常用的配置文件有:
/etc/named.conf#主配置文件
/etc/named.rfc1912.zones#区域配置文件
/etc/rc.d/init.d/named#启动脚本
/var/named#存放区域数据文件
listen-on port 53 { any; };表示监听本地IP的53端口,允许所用地址访问本地53端口
allow-query { any; };允许所有地址查询
recursion yes;是否递归,如果是no那么这台DNS服务器将不会递归解析,yes或注释掉不写,表是允许,默认是允许的
include "/etc/named.rfc1912.zones";加载区域配置文件
正向和反向区域解析
allow-transfer { 192.168.199.65; };表示只允许192.168.199.65这个主机同步数据,也就是作它的辅助DNS,多个IP用“;”隔开;
编辑正向解析的zone文件
编辑反向解析的zone文件
启动服务:
正向解析:
反向解析:
配置主从同步:
# vim /etc/named.rfc1912.zones
在末尾添加
zone "magedu.com" IN {
type slave;
masters { 192.168.1.65; };
file "slaves/magedu.com.zone";
allow-transfer { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.1.65; };
file "slaves/1.168.192.zone";
allow-transfer { none; };
};
批定type类型为slave,并指定主服务器为192.168.1.65
]# service named start
服务启动后,会在/var/named/slaves/自动添加magedu.com.zone和199.168.192.zone文件
]# ll /var/named/slaves/
子域授权:
新增一台IP为192.168.1.61的服务器为子域
在父域的区域文件中添加NS和A记录
]# vim /var/named/magedu.com.zone
添加
cdn IN NS ns1.cdn.magedu.com.
ns1.cdn IN A 192.168.1.61
[root@cdn ~]# yum -y install bind
[root@cdn ~]# scp 192.168.1.64:/etc/named.conf /etc/
[root@cdn ~]# vim /etc/named.rfc1912.zones
在末尾添加
zone "cdn.magedu.com" IN {
type master;
file "cdn.magedu.com.zone";
};
zone "magedu.com" IN {
type forward;
forward only;
forwarders { 192.168.1.65; };
};
[root@cdn ~]# vim /var/named/cdn.magedu.com.zone$TTL 86400
@ IN SOA ns.cdn.magedu.com. admin.cdn.magedu.com. (
2016092201
2H
5M
7D
12H )
IN NS ns.cdn.magedu.com.
IN MX 10 mx1.cdn.magedu.com.
IN A 192.168.1.61
ns IN A 192.168.1.61
mx1 IN A 192.168.1.61
www IN A 192.168.1.61
测试
1)子域测试
[root@Cdn ~]# dig @192.168.1.61 www.cdn.magedu.com
2)父域测试
[root@Cdn ~]# dig -t www.magedu.com
4、请描述一次完整的http请求处理过程;
一次完整的HTTP请求过程从TCP三次握手建立连接成功后开始,客户端按照指定的格式开始向服务端发送HTTP请求,服务端接收请求后,解析HTTP请求,处理完业务逻辑,最后返回一个HTTP的响应给客户端,HTTP的响应内容同样有标准的格式.
5、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。
prefork:多进程模型,每个进程响应一个请求;
一个主进程:负责生成n个子进程,子进程也称为工作进程,每个子进程处理一个用户请求;即便没有用户请求,也会预先生成多个空闲进程,随时等待请求到达;最大不会超过1024个;最小空闲多少,并发响应多少prefork:最大不能超过1024个并发请求,高性能web服务器,这个差了一个数量级。10倍 c10k,这种模式很稳定,一个进程崩溃,不会影响到其他进程。---->问的性要求高的
worker:多线程模型,每个线程响应一个请求;一个主进程:生成多个子进程,每个子进程负责生个多个线程,每个线程响应一个请求;
m进程,n线程:m*n----->并发量稍微高点的
event:事件驱动模型,每个线程响应n个请求;一个主进程:生成m个子进程,每个进程直接n个请求;
m*n----->高并发--->
6、建立httpd服务器(基于编译的方式进行),要求:
提供两个基于名称的虚拟主机:
(a)www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;
(b)www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;
(c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;
(d)通过www1.stuX.com/server-status输出httpd工作状态相关信息,且只允许提供帐号密码才能访问(status:status);
本文出自 “11822904” 博客,请务必保留此出处http://11832904.blog.51cto.com/11822904/1867354