马哥2016全新Linux+Python高端运维班第九周作业

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了马哥2016全新Linux+Python高端运维班第九周作业相关的知识,希望对你有一定的参考价值。

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

[[email protected] ~]# yum -y install bind

[[email protected] ~]# scp 192.168.1.64:/etc/named.conf /etc/

[[email protected] ~]# 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; };

};

[[email protected] ~]# 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)子域测试

[[email protected] ~]# dig @192.168.1.61  www.cdn.magedu.com

2)父域测试

[[email protected] ~]# 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

以上是关于马哥2016全新Linux+Python高端运维班第九周作业的主要内容,如果未能解决你的问题,请参考以下文章

马哥2016全新Linux+Python高端运维班第四期-第五次作业

马哥2016全新Linux+Python高端运维班第四期-第四次作业

马哥2016全新Linux+Python高端运维班第四周作业

马哥2016全新Linux+Python高端运维班第九周作业

马哥2016全新Linux+Python高端运维班第八周作业

马哥2016全新Linux+Python高端运维班第四期-第六次作业