马哥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);

时间: 2024-11-11 02:32:50

马哥2016全新Linux+Python高端运维班第九周作业的相关文章

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

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 答:文件管理类命令有:pwd,cd,ls,mkdir,rmdir,tree 1.目录相关命令:pwd,cd (1)查看用户当前工作目录:pwd 例:[[email protected] ~]# pwd     #显示出当前工作的目录 /root [[email protected] ~]#   (2)CD的用法 cd 或者cd ~:回当前用户的主目录    例:    [[email protected] ~]# cd

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

1.描述计算机的组成及其功能. 答:现代计算机设备的组成部分分为五大部分:运算器,控制器,存储器,输入设备,输出设备 其中运算器和控制器是计算机的核心,合称中央处理单元(Central Processing Unit,CPU)或者处理器.CPU内部还有一些高速存储单元,被称为寄存器,其中运算器执行所有的算术以及逻辑运算.控制器负责把每一条指令逐条从存储器中提取出来,经过编译译码之后向计算机发出各种控制指令.而寄存器位处理单元提供所需的操作数据. 存储器是计算机的记忆部分,用来存放程序所涉及的所有

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

1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 答:有mv,cp,rm,touch,cat,vi等: 使用方法及相关演示: mv:移动或重命名文件以及文件夹 使用方法: mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE... 参数: -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖: -i

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

描述计算机的组成及其功能 运算器+控制器=CPU,运算器控制器之间的线路称为总线(bus) 运算器   二进制运算: 控制器   控制计算机各部件,协调工作: 存储器   memory内存,存储程序和数据部件,调用任何程序都需要先把数据调入到内存中,然后再从内存中读取 I/O   输入输出设备,与外部部件进行交互,通过系统总线与CPU进行信息交换. 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别     三大主流发行版: slackware opensuse suse debia

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

                    马哥2016全新Linux+Python高端运维班第三周作业                                           1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | awk '{print $1 $NF}'| uniq -d     [[email protected] ~]# who     yicx     :0  

马哥2016全新Linux+Python高端运维班十一次作业

一.源码编译安装LNMP架构环境: 安装编译工具及库文件 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl 

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

1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. 2.编辑/etc/group文件,添加组hadoop. #echo "hadoop:x:1003:" >> /etc/group 3.手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号:其家目录为/home/hadoop. #echo "hadoop:x:1003:1003:ha

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

1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限.     [[email protected] ~]# cp -r /etc/skel/ /home/yicx     [[email protected] ~]# chmod -R 700 /home/yicx     [[email protected] ~]# ls -adlh /home/yicx/     drwx------. 15 yicx yicx

马哥2016全新Linux+Python高端运维班-Linux用户创建及权限管理

第三周作业内容:1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可.     [[email protected] ~]# who | cut -d' ' -f1 | sort -u      centos     liu     root 2.取出最后登录到当前系统的用户的相关信息.     第一种方式:         [[email protected] ~]# last | head -n1         liu      tty8