N21天天第十一周课程练习

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的过程,以及为客户端发来的证书请求进行办法证书。

配置文件:/etc/pki/tls/openssl.cnf
1)创建所需要的文件
[root@Server ~]# cd /etc/pki/CA
[root@Server CA]# touch index.txt
[root@Server CA]# echo 01 > serial
2)CA自签证书
[root@Server CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
[root@Server CA]# openssl req -new -x509 -key private/cakey.pem -days 7300 -out cacert.pem
-new:生成新证书签署请求;
-x509:专用于CA生成自签证书;
-key:生成请求时用到的私钥文件;
-days n:证书的有效期限;
-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 192.168.1.61:/tmp/
(c)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 192.168.1.62:/etc/httpd/ssl/

3、描述DNS查询过程以及DNS服务器类别。

DNS查询过程:
1)浏览器缓存
当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且
    没有清空缓存便存在)
2)系统缓存
当浏览器缓存中无域名对应IP则会自动检查用户计算机系统中hosts(linux:/etc/hosts,
    Windows: C:\Windows\System32\drivers\etc\hosts)文件中是否有该域名对应的IP
3)路由器缓存
当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检查,以下三步均为客户端的DNS缓存
4)ISP(互联网服务提供商)DNS缓存
当在客户端查找不到域名对应IP地址,则将进入ISP DNS缓存中进行查询。如果用的是电信网络,则会进入电信的
    DNS缓存服务器中进行查找。
5)根域名服务器
如果以上均为完成,则进入根服务器进行查询。全球13台根域名服务器,1个主根服务器,12个辅根域名服务器。根域名
    收到请求后会查询区域文件记录,若无则将其管辖范围内的顶级域名(.com)服务器IP地址告诉本地DNS服务器;
6)顶级域名服务器
顶级域名服务器收到请求后查看区域文件记录,或无则将其管辖范围内主域名服务器的IP地址告诉本地DNS服务器;
7)二级域名服务器
主域名服务器接受到请求后查询自己的缓存,如果没有则进入下一级域名服务器进行查询,重复该步骤直到找到正确刻录;
8)保存结果至缓存
本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时将该结果反馈给客户端,客户端通过这个IP地址与
    web服务器建立链接。
DNS服务器类别:
1)主DNS服务器:维护所负责解析的域内解析库服务器;解析库由本地管理员管理维护。
2)辅助DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库。
3)缓存DNS服务器:
可运行域名服务器软件但没有域名数据库。它从某个远程服务器取得每次域名服务器的查询回答,一旦获取一个答案,
    就将它放在高速缓存中,以后查询相同信息时就用它予以回答。缓存域名服务器不是权威性服务器,因为提供的
    所有信息都是间接信息。
4)转发器:
负责所有非本地域名的本地查询。转发域名服务器接到查询请求时,在其缓存中查找,如果找不到就把请求依次转发到
    指定的域名服务器,直到查询到结果为止,否则返回无法查找到结果

4、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)

  (1)、能够对一些主机名进行正向解析和逆向解析;

  (2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;

  (3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程

  [root@Master ~]# yum -y install bind
  常用的配置文件有:
  /etc/named.conf#主配置文件
  /etc/named.rfc1912.zones#区域配置文件
  /etc/rc.d/init.d/named#启动脚本
  /var/named#存放区域数据文件
  
  [root@Master ~]# vim /etc/named.conf 
  options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory   "/var/named";
dump-file   "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query     { any; };
recursion yes;
//  dnssec-enable yes;
//  dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
listen-on port 53 { any; };表示监听本地IP的53端口,允许所用地址访问本地53端口
allow-query     { any; };允许所有地址查询
recursion yes;是否递归,如果是no那么这台DNS服务器将不会递归解析,yes或注释掉不写,表是允许,默认是允许的
include "/etc/named.rfc1912.zones";加载区域配置文件
正向和反向区域解析
  [root@Master ~]# vim /etc/named.rfc1912.zones
  在配置文件的末尾添加正向和反向配置
  zone "magedu.com" IN { 
    type master;
    file "magedu.com.zone";
    allow-transfer { 192.168.1.65; };
};
zone "1.168.192.in-addr.arpa" IN {
    type master;
    file "1.168.192.zone";
    allow-transfer { 192.168.1.65; };
};
allow-transfer { 192.168.1.65; };表示只允许192.168.1.65这个主机同步数据,也就是作它的辅助DNS,
    多个IP用“;”隔开;
编辑正向解析的zone文件
[root@Master ~]# vim /var/named/magedu.com.zone
$TTL    86400
$ORIGIN     magedu.com.
@       IN      SOA     ns1.magedu.com. admin.magedu.com. (
2016092101
1H
5M
7D
1D )
IN      NS      ns1
IN      NS      ns2
IN      MX 10   mx1
IN      MX 20   mx2
IN A 192.168.1.64 
ns1     IN      A       192.168.1.64
ns2     IN      A       192.168.1.65
mx1     IN      A       192.168.1.66
mx2     IN      A       192.168.1.67
www     IN      A       192.168.1.64
www     IN      A       192.168.1.65
ftp     IN      CNAME   www
反向解析zone文件
[root@Master ~]# vim /var/named/1.168.192.zone
$TTL    86400
$ORIGIN     1.168.192.in-addr.arpa.
@       IN      SOA     ns1.magedu.com.     admin.magedu.com. (
2016092101
1H
5M
7D
1D )
IN      NS      ns1.magedu.com.
IN      NS      ns2.magedu.com.
64      IN      PTR     ns1.magedu.com.
65      IN      PTR     ns2.magedu.com.     
66      IN      PTR     mx1.magedu.com.     
67      IN      PTR     mx2.magedu.com.     
64      IN      PTR     www.magedu.com.     
65      IN      PTR     www.magedu.com.  
[root@Master ~]# service named start
正向解析:
[root@Master ~]# dig @192.168.1.64 www.magedu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> @192.168.1.61 www.magedu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54957
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.magedu.com.                        IN      A
;; ANSWER SECTION:
www.magedu.com.         86400   IN      A       192.168.1.64
www.magedu.com.         86400   IN      A       192.168.1.65
;; AUTHORITY SECTION:
magedu.com.             86400   IN      NS      ns1.magedu.com.
magedu.com.             86400   IN      NS      ns2.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.         86400   IN      A       192.168.1.64
ns2.magedu.com.         86400   IN      A       192.168.1.65
;; Query time: 0 msec
;; SERVER: 192.168.1.61#53(192.168.1.64)
;; WHEN: Mon Sep 26 21:15:11 2016
;; MSG SIZE  rcvd: 132
反向解析
[root@Master ~]# dig -x 192.168.1.64 @192.168.1.64
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.1.64
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23623
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;64.1.168.192.in-addr.arpa.     IN      PTR
;; ANSWER SECTION:
64.1.168.192.in-addr.arpa. 86400 IN     PTR     ns1.magedu.com.
;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 86400   IN      NS      ns2.magedu.com.
1.168.192.in-addr.arpa. 86400   IN      NS      ns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com.         86400   IN      A       192.168.1.64
ns2.magedu.com.         86400   IN      A       192.168.1.65
;; Query time: 0 msec
;; SERVER: 192.168.1.64#53(192.168.1.64)
;; WHEN: Wed Sep 21 21:56:14 2016
;; MSG SIZE  rcvd: 135
配置主从同步
[root@Slave ~]# vim /etc/named.rfc1912.zones 
在末尾添加
zone "magedu.com" IN {
type slave;
masters { 192.168.1.64; };
file "slaves/magedu.com.zone";
allow-transfer { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
masters { 192.168.1.64; };
file "slaves/1.168.192.zone";
allow-transfer { none; };
};
批定type类型为slave,并指定主服务器为192.168.1.64
[root@Slave ~]# service named start
服务启动后,会在/var/named/slaves/自动添加magedu.com.zone和1.168.192.zone文件
[root@Slave ~]# ll /var/named/slaves/   
总用量 8
-rw-r--r-- 1 named named 436 9月  26 22:13 1.168.192.zone
-rw-r--r-- 1 named named 502 9月  26 22:13 magedu.com.zone
子域授权
新增一台IP为192.168.1.61的服务器为子域
在父域的区域文件中添加NS和A记录
[root@Server ~]# vim /var/named/magedu.com.zone
添加
cdn     IN      NS      ns1.cdn.magedu.com.
ns1.cdn IN      A       192.168.1.61
[root@cdn ~]# yum -y install bind
[root@cdn ~]# scp 192.168.1.64:/etc/named.conf /etc/
[root@cdn ~]# 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.64; };
};
[root@cdn ~]# 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 A192.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)子域测试
[root@Cdn ~]# dig @192.168.1.61  www.cdn.magedu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> @192.168.1.65 www.cdn.magedu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33720
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.cdn.magedu.com.            IN      A
;; ANSWER SECTION:
www.cdn.magedu.com.     86400   IN      A       192.168.1.61 
;; AUTHORITY SECTION:
cdn.magedu.com.         86400   IN      NS      ns.cdn.magedu.com.
;; ADDITIONAL SECTION:
ns.cdn.magedu.com.      86400   IN      A       192.168.1.61 
;; Query time: 0 msec
;; SERVER: 192.168.1.65#53(192.168.1.61)
;; WHEN: Mon Sep 26 22:16:44 2016
;; MSG SIZE  rcvd: 85
2)父域测试
[root@Cdn ~]# dig -t www.magedu.com
;; Warning, ignoring invalid type www.magedu.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t www.magedu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27354
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;.                              IN      NS
;; ANSWER SECTION:
.                       518239  IN      NS      b.root-servers.net.
.                       518239  IN      NS      i.root-servers.net.
.                       518239  IN      NS      j.root-servers.net.
.                       518239  IN      NS      k.root-servers.net.
.                       518239  IN      NS      l.root-servers.net.
.                       518239  IN      NS      e.root-servers.net.
.                       518239  IN      NS      h.root-servers.net.
.                       518239  IN      NS      f.root-servers.net.
.                       518239  IN      NS      c.root-servers.net.
.                       518239  IN      NS      m.root-servers.net.
.                       518239  IN      NS      d.root-servers.net.
.                       518239  IN      NS      a.root-servers.net.
.                       518239  IN      NS      g.root-servers.net.
;; Query time: 0 msec
;; SERVER: 192.168.1.61 #53(192.168.1.65)
;; WHEN: Mon Sep 26 22:18:26 2016
;; MSG SIZE  rcvd: 228

原创文章,作者:N21-天天,如若转载,请注明出处:http://www.178linux.com/49545

(0)
N21-天天N21-天天
上一篇 2016-10-09
下一篇 2016-10-09

相关推荐

  • DevOps如何重构IT战略

    翻译: 至尊宝 原文: http://www.citeworld.com/article/2897738/development/how-devops-can-redefine-your-it-strategy.html?page=2   DevOps究竟是昙花一现还是你一直在寻找的竞争优势?我们咨询了一些专家,对于这种趋势他们的想法是什…

    Python干货 2015-03-26
  • 设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)

    1.概述 类中的面向对象编程封装应用逻辑。类,就是实例化的对象,每个单独的对象都有一个特定的身份和状态。单独的对象是一种组织代码的有用方法,但通常你会处理一组对象或者集合。 集合不一定是均一的。图形用户界面框架中的 Window 对象可以收集任意数量的控制对象 - Menu、Slider 和 Button。并且,集合的实现可以有多种方式:PHP 数字是一个集…

    Linux干货 2015-07-19
  • 初识正则表达式

    正则表达式是个什么东东? 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE)。在很多文本编辑器里、命令中,通常要使用检索、替换、放行和拒绝那些符合某个模式的文本。而正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。  摘自《正则表达式之…

    Linux干货 2015-03-27
  • N_28 正则表达式的一些基本用法

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel /home/tuser1 ~]# chmod -R -g— -o— /home/tuser1 2、编辑/etc/group文件,添加组hadoop。 ~]#vi…

    Linux干货 2017-12-23
  • 根分区伸缩实验

    众所周知LVM是Linux环境下对 磁盘进行管理的一种机制。用户在安装Linux操作系统时,难以分配合适的硬盘空间,当一个分区存放不下某个文件时,这个文件因为文件系统的限制,也不能 跨越多个分区来存放。而遇到出现某个分区耗尽时,只有使用调整分区大小的工具。随着LVM功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方 便…

    Linux干货 2015-05-27
  • 马哥教育网络21期+第六周练习博客

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; [root@localhost named]# cp /etc/rc.d/rc.sysinit /tmp/ [root@loc…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-25 12:47

    总结性很好,但是能全部做完就更好了