马哥教育网络班22期+第十一周课程练习

1、详细描述一次加密通讯的过程,结合图示最佳。
bg2014020502.png
第一阶段:ClientHello:
    客户端(通常是浏览器)先向服务器发出加密通信的请求,这被叫做ClientHello请求。客户端向服务器提供以下信息:
        支持的协议版本,比如TLS 1.2
        客户端生成的一个随机数,稍后用于生成“会话密钥”
        支持的加密算法,比如AES、3DES、RSA
        支持的压缩算法

第二阶段:ServerHello
    服务器收到客户端的请求后,向客户端发出回应,这叫做SeverHello。服务器的回应包含以下内容:
        确认使用的加密通信协议版本,比如TLS 1.2
        服务器端生成的一个随机数,稍后用于生成“会话密钥”
        确认使用的加密方法
        服务器证书

第三阶段:
    客户端收到服务器回应以后,首先验证服务器证书,是否可信发证机构、证书完整性、证书持有者与实际域名是否一致、证书有效期、是否被吊销等。在确认无误后从证书中取出服务器公钥,然后发送以下信息给服务器端:
        一个随机数,用于服务器公钥加密
        编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送
        客户端握手结束通知

第四阶段:
    服务器收到客户端发来的第三个随机数pre-master-key之后,计算生成本地会话所有用到的“会话密钥”,向客户端发送如下信息:
        编码变更通知,表示随后的信息都将用双方商定的加密方法和密钥发送
        服务端握手结束通知

2、描述创建私有CA的过程,以及为客户端发来的证书请求进行颁发证书。
创建私有CA;
    在确定配置为CA的服务器上生成一个自签证书,并为CA提供所需要的目录及文件即可。

    步骤:
        (1)生成私钥
            ~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
        (2)生成自签证书
            ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
                -new:生成新证书签署请求
                -x509:生成自签格式证书,专用于创建私有CA时
                -key:生成请求时用到的私钥文件路径
                -out:生成的请求文件路径;如果是自签操作将直接生成签署过的证书
                -days:证书的有效时长,单位是天
        (3)为CA提供所需要的目录及文件(如果存在则无需手动创建)
            ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
            ~]# touch /etc/pki/CA/{serial,index.txt}
            ~]# echo 01 > /etc/pki/CA/serial

为客户端发来的证书请求进行颁发证书:    
    需要在客户端生成证书请求,然后以安全的方式将证书请求发送给CA,再由CA进行签署证书:

    步骤:
        (1)在客户端主机生成私钥
            ~]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
        (2)生成证书签署请求
            ~]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365
        (3)将请求通过可靠方式发送给CA主机
            ~]# scp /etc/httpd/ssl/httpd.csr root@CA_HOSTNAME:/tmp/

        (4)在CA主机上签署证书
            ~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

        (5)将签署完成的证书发送到请求客户端主机
            ~]# scp /etc/pki/CA/certs/httpd.crt root@require_hostname:/etc/httpd/ssl/
3、描述DNS查询过程以及DNS服务器类别。
DNS查询过程:
    Client –> hosts文件 –> DNS Local Cache –> DNS Server(recursion递归请求) –>
                自己负责解析的域:直接查询数据库并返回答案
                不是自己负责解析域:Server Cache –> iteration(迭代)
DNS服务器类别:
    主DNS服务器:维护所负责解析的域的数据库的那台服务器;读写操作均可进行
    从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;但只能进行读操作

4、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)
  (1) 能够对一些主机名进行正向解析和逆向解析;
  (2) 对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;
  (3) 为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程。

准备三台服务器,均安装bind程序;关闭防火墙和selinux
# yum -y install bind

(1)配置S1服务器进行正向解析和逆向解析
# vim /etc/resolv.conf
nameserver 192.168.20.158
# vim /etc/named.conf
listen-on port 53 { 192.168.20.158; };
allow-query     { any; };
dnssec-enable no;
dnssec-validation no;
# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
    type master;
    file "magedu.com.zone";
};

zone "20.168.192.in-addr.arpa" IN {
    type master;
    file "20.168.192.zone";
};
# vim /var/named/magedu.com.zone
$TTL 3600
$ORIGIN magedu.com.
@   IN  SOA ns1.magedu.com. admin.magedu.com. (
        2016122701
        2H
        10M
        1W
        1D )
    IN  NS  ns1
ns1 IN  A   192.168.20.158
www IN  A   192.168.20.133
# vim /var/named/20.168.192.zone
$TTL 3600
$ORIGIN 20.168.192.in-addr.arpa.
@       IN      SOA     ns1.magedu.com.  nsadmin.magedu.com. (
        16122701
        1H
        10M
        3D
        12H )
    IN      NS      ns1.magedu.com.
158      IN      PTR     ns1.magedu.com.
133      IN      PTR     www.magedu.com.
# chown :named /var/named/magedu.com.zone /var/named/20.168.192.zone
# chmod 640 /var/named/magedu.com.zone /var/named/20.168.192.zone
检查named配置文件及区域配置文件:
# named-checkconf
# named-checkzone magedu.com /var/named/magedu.com.zone
# named-checkzone 20.168.192.in-addr.arpa /var/named/20.168.192.zone
# systemctl start named.service
测试解析:
# dig -t A www.magedu.com
# dig -x 192.168.20.133

(2)配置S2为子域服务器
# vim /etc/resolv.conf
nameserver 192.168.20.51
# vim /etc/named.conf
listen-on port 53 { 192.168.20.51; };
allow-query     { any; };
dnssec-enable no;
dnssec-validation no;
# vim /etc/named.rfc1912.zones
zone "cdn.magedu.com" IN {
    type master;
    file "cdn.magedu.com.zone";
};
# vim /var/named/cdn.magedu.com.zone
$TTL 3600
$ORIGIN cdn.magedu.com.
@   IN  SOA ns1.cdn.magedu.com. admin.magedu.com. (
        122701
        2H
        10M
        1W
        1D )
    IN  NS  ns1
ns1 IN  A   192.168.20.51
www IN  A   192.168.20.199
# chown :named /var/named/cdn.magedu.com.zone
# chmod 640 /var/named/cdn.magedu.com.zone
检查named配置文件及区域配置文件:
# named-checkconf
# named-checkzone cdn.magedu.com /var/named/cdn.magedu.com.zone
# systemctl start named.service
在主域S1上的配置:
# vim /var/named/magedu.com.zone
cdn IN  NS  ns1.cdn
ns1.cdn IN  A   192.168.20.51
# rndc reload
测试解析:
# dig -t A www.cdn.magedu.com

(3)配置主从服务器实现DNS服务的高可用;S1为主服务器,S3为从服务器
从服务器S3上的配置:
# vim /etc/resolv.conf
nameserver 192.168.20.50
# vim /etc/named.conf
listen-on port 53 { 192.168.20.50; };
allow-query     { any; };
dnssec-enable no;
dnssec-validation no;
# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
    type slave;
    file "slaves/magedu.com.zone";
    masters { 192.168.20.158; };
};
# named-checkconf
# systemctl start named.service
主服务器S1上的配置:
# vim /var/named/magedu.com.zone
    IN  NS  ns2
ns2 IN  A   192.168.20.50
注意:每次修改主服务器的区域配置文件都需要变更serial,然后在从服务器重载named服务
# rndc reload
测试解析:
# dig -t A www.cdn.magedu.com @192.168.20.158
# dig -t A www.cdn.magedu.com @192.168.20.50

原创文章,作者:萝卜,如若转载,请注明出处:http://www.178linux.com/64947

(0)
萝卜萝卜
上一篇 2016-12-27 19:57
下一篇 2016-12-27 21:25

相关推荐

  • 加油吧!少年!—至我和我M25期的伙伴

    引用 衣带渐宽终不悔,为伊消得人憔悴。—王国维《人间词话》 转眼已到了27岁的年纪,不知道自己是否还称得上少年。公交上让座被小朋友成为叔叔也都是很多年的事了。哪怕再有一颗少年心现在也要肩负起整个家庭的责任。 从毕业已工作了将近六个年头,无聊的工作平凡的薪水已经使我厌倦。闭上眼睛以后需要赡养四个老人,还要照顾孩子以后这些难题映入脑海。曾经以为遥远的…

    Linux干货 2017-07-11
  • 前两周linux基础知识总结

    linux用户权限管理 软链接与硬链接 输入输出重定向 文本处理三剑客vim sed awk 包管理rpm yum 源码包编译安装

    Linux干货 2018-03-17
  • CentOS系统启动流程

        Linux系统的组成部分   1、动态视角:内核+根文件系统  2、静态视角:磁盘分区+文件 Linux运行中的系统环境   1、用户空间:应用程序(进程或线程)  2、内核空间:内核代码(系统调用) 内核设计流派:   *单内核设计:把所有功能集成于同一个程序,如:Linux  *微内核设计:每种功能使用一个单独的子系统实现,如…

    Linux干货 2016-12-30
  • linux系统监控 sar命令详解

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告, 包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。 本文主要以CentOS 6.3 x64系统为例,介绍s…

    Linux干货 2015-06-17
  • 运维工程师技能需求排行

    这是我今天在拉勾网搜索运维,翻完了4四页也招聘信息之后得到的,我的目的是想要看看之后的学习,哪个更应该成为重点,有些在我意料之中,有些还真的没想到,算是努力了一个小时的收获吧,分享给大家。
    注意:其中的看法仅代表个人观点,很多都是依靠我自己的学习经验和工作经验累积的

    Linux干货 2017-12-12
  • Mariadb之SELECT语法练习

    一 、导入hellodb.sql生成数据库后实现以下操作     # mysql -uroot -h172.16.23.23 -pcento.123 < hellodb.sql     mysql>&nbsp…

    Linux干货 2016-12-17

评论列表(1条)

  • 马哥教育
    马哥教育 2017-01-04 16:12

    写的很棒,tcp的三次握手写了,但是四次断开没有写,三次握手是不是写的也不太对,在仔细想想