首页 > 代码库 > 第九周作业
第九周作业
1、详细描述一次加密通讯的过程,结合图示最佳。
答:
单向加密解密过程:
发送方:
1)发送方用对称加密的方法提取文件的特征码,用自己的私钥加密这段特征码,并附加在文件后面(还是明文的);
2)用一个对称密钥,借助于对称加密算法把整个文件加密;
3)再用对方的公钥加密对称密钥,附加在文件后面;
接收方:
1)接收方先用自己的私钥解密出对称密钥;(能解密说明的确是用自己的公钥加密的;)
2)把解密出来的密码,借助于解密算法,就能解密出文件数据;
3)得到文件的明文数据和加密的特征码;
4)用发送方的公钥去解密特征码;(能解密说明对方的身份得到认证)
5)再用同样的加密算法计算文件数据的特征码;比较两个特征码是否一样;如果是一样的说明文件的数据完整性得到认证;
2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。
答:openssl的配置文件:/etc/pki/tls/openssl.cnf
(1)创建所需要的文件:
[root@Server ~]# cd /etc/pki/CA [root@Server CA]# touch index.txt [root@Server CA]# echo 01>serial [root@Server CA]# ll
(2)CA自签证书
[root@Server CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)
[root@Server CA]# ls -l private/
[root@Server CA]# openssl req -new -x509 -key private/cakey.pem -days 7300 -out cacert.pem
说明:
-new:生成新证书签署请求;
-x509:专用于CA生成自签证书;
-key:生成请求时用到的私有文件;
-days # :证书的有效期限;
-out/PATH/TO/SOMECERTFILE :证书的保存路径;
(3)发证
a)用到证书的主机生成证书请求: [root@Client ~]# mkdir /etc/httpd/ssl [root@Client ~]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048) [root@Client ~]# cd /etc/httpd/ssl/ root@Client ssl]# openssl req -new -key httpd.key -days 365 -out httpd.csr b)把请求文件传递给CA: [root@Client ssl]# scp httpd.csr 10.11.0.240:/tmp/ 3)CA签署证书,并将证书发还给请求者: [root@Server CA]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365 [root@Server CA]# scp /etc/pki/CA/certs/httpd.crt 10.11.0.242:/etc/httpd/ssl/
3、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)
(1)、能够对一些主机名进行正向解析和逆向解析;
(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;
(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程
4、请描述一次完整的http请求处理过程;
答:
(1)建立TCP连接
在http工作开始之前,web浏览器首先要通过TCP协议与web服务器建立连接;http是比tcp更高层次的应用层协议,根据规则,只有低层协议建立之后才能进行更高层协议的连接。因此,首先要建立TCP连接,一般TCP连接的端口号是80.
(2)Web浏览器想Web服务器发送请求命令
一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求报文。如:GET /sample/hello.phpHTTP/1.1。
(3)Web浏览器发送请求头部信息
web浏览器给web服务器发送其请求命令之后,还要以头信息的形式向web服务器发送一些信息,然后再发送一空行(通知服务器头信息结束)。
(4)Web服务器响应
客户端想服务器发出请求后,服务器会给客户端会送应答,HTTP/1.1 200 OK,应答的第一部分是协议版本号和响应状态码。
(5)web服务器发送响应头信息
正如客户端会随同请求发送一些关于自身的信息一样,服务器也会随同响应向客户端发送关于它自身的数据及被请求的文档。
(6)Web服务器向浏览器发送数据
Web服务器向浏览器发送头部信息后,它会发送一个空白行来表示头部信息发送结束;接着,它就以ConTent-Type响应头部信息所描述的格式发送客户端所请求的实际数据。
(7)Web服务器关闭TCP连接
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,但如果浏览器或服务器在其头部信息中加入了这行代码:Connection:keep-alive,TCP连接在发送后仍然保持打开状态;这样,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。
5、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。
答:
httpd所支持的处理模型有prefork,worker,event;
(1)prefork模型:多进程模型,每个进程响应一个请求;一个主进程:负责生成n个子进程,子进程也称为工作进程,每个子进程处理一个用户请求;即便没有用户请求,也会预先生成多个空闲进程,随时等待请求到达;子进程数最大不会超过1024个。
(2)worker模型:多线程模型,每个线程响应一个请求;一个主进程:生成多个子进程,每个子进程负责生成多个线程,每个线程响应一个请求。m进程,n线程:最大的并发响应数是m*n。
(3)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);
7、为第6题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;
(1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu);
(2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com;
8、建立samba共享,共享目录为/data,要求:(描述完整的过程)
1)共享名为shared,工作组为magedu;
2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;
3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;
4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;
9、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
1)基于虚拟用户的访问形式;
2)匿名用户只允许下载,不允许上传;
3)禁锢所有的用户于其家目录当中;
4)限制最大并发连接数为200:;
5)匿名用户的最大传输速率512KB/s
6)虚拟用户的账号存储在mysql数据库当中。
7)数据库通过NFS进行共享。
本文出自 “ilinux” 博客,请务必保留此出处http://shenzhijin.blog.51cto.com/1741240/1867678
第九周作业