马哥教育网络班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
下一篇 2016-12-27

相关推荐

  • Apache配置压缩优化时报错——undefined symbol: inflateEnd

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1345264    圣诞都过了,好久没来51发博文了。最近一直在忙考试和其他一些私人事务,感觉长期不发博文,有点不好。不是不发,实在是最近…

    Linux干货 2016-08-15
  • linux 中条件测试判断

    文件条件测试判断:   -e 文件存在   -a 文件存在   这个选项的效果与-e相同. 但是它已经被"弃用"了, 并且不鼓励使用.   -f 表示这个文件是一个一般文件(并不是目录或者设备 文件)   -s 文件大小不为零   -d 表示这是一个目录   -b 表示…

    Linux干货 2017-02-02
  • N25第七周博客作业

    第七周博客作业 1、 创建一个10G分区,并格式为ext4文件系统; fdisk/dev/sdb à nàpàlast扇区:+10Gàwàpartx -a /dev/sdb   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; mke2fs  -t ext4 -b 2…

    Linux干货 2017-02-20
  • 文件系统

    文件系统 文件和目录被组织成一个单根倒置树结构 文件系统从根目录下开始,用“/”表示 文件名称区分大小写 以.开头的文件为隐藏文件   一个.表示本目录。 两个..表示根目录 路径分隔的/      路径分割为正斜线分割 文件有两类数据:        元数据:metadata …

    Linux干货 2017-05-02
  • Shell脚本编程初步

        shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。shell脚本(shell script),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但shell和shell script是两个不同的概念。shell编程跟java、php编程…

    Linux干货 2016-08-24
  • bash的工作特性之命令执行状态返回值和命令行展开

    bash的工作特性之命令执行状态返回值和命令行展开 bash的工作特性之命令执行状态返回值和命令行展开 执行状态返回值 命令行展开 执行状态返回值     Linux下每一条命令或每一个进程执行完成会返回一个状态码. 0:成功执行 1-255:执行过程中出现异常或非正常退出 在Shell脚本中,最后…

    Linux干货 2016-11-05

评论列表(1条)

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

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