1、详细描述一次加密通讯的过程,结合图示最佳。
(1)数字签名
A与B通信,B发给A一段数据,为了证明数据确实是B发送过来的,B首先会用单向加密算法从数据中提取一段特征码,然后用自己的私钥加密这段特征码和原始数据后,发送给A;A接受到数据,首先用B的公钥解密,获取到特征码和原始数据;然后用同样的单向加密算法从原始数据中提取一段特征码,与之前用公钥解密得到的特征码做比较,如果一致,则保证了原始数据的完整性。
(2)数据保密性
在上述A与B通信过程中,只是保证了数据发送方的身份和数据的完整性,数据的保密性并没有得到保证。因为B的公钥是公开的,所有持有该公钥的所有者,都可以解密由B发送的数据,所以为了加强数据保密性,B在发送数据之前,先用对称加密算法生成一个一次性的对称密钥,然后利用对称加密算法和对称密钥加密这段数据(此段数据是:B用自己的私钥加密特征码和原始数据后的数据段);从而数据保密性得到保证。
(3)密钥交换
此时A要想解密这段数据,必须要拿到由B生成的对称密钥,但是B又不能直接把对称密钥发送给A,因为这样在互联网上传送是不安全的。所以,B要拿到A的公钥(公钥是公开的)来继续加密之前由B利用对称加密算法和对称密钥加密后的数据段和用来解密的对称密钥,然后再发送给A,由于A的私钥只有A拥有,所以只能A才可以解密。之后的流程是:
第一步:A用自己的私钥来解密由B发送过来的数据,得到里面对称密钥和数据段。
第二步:A拿到了对称密钥,利用对称加密算法和对称密钥解密数据段,得到的是由B利用自己的私钥加密特征码和原始数据后的数据段。
第三步:A用B的公钥继续解密数据段,得到特征码和原始数据,然后用同样的单向加密算法从原始数据中提取一段特征码,与之前解密得到的特征码做比较。
(4)CA
在公钥加密算法中,由于公钥是公开的,所以也存在安全隐患。在上述过程中,A如何能确定拿到的公钥就是B的公钥,B又如何确定拿到的公钥就是A的。所以又出现了一个第三方机构CA,它是公共信任的。一般提供服务的服务端会拿着自己的公钥去向该机构申请签发一个证书,CA会严格审查服务端的各种信息的真实性,然后才会签发证书给服务端。证书的生成是:CA利用自己生成的私钥,加密服务端提供的公钥和它自己的各种信息。以后如果有想和服务端进行通信的就可以拿CA的公钥解密这个证书,然后再向CA核对证书里面的各种信息,以确定证书的合法性和真实性。
2、描述创建私有CA的过程,以及为客户端发来的证书请求进行颁发证书。
以httpd为例:
(1)用到证书的主机生成私钥
mkdir /etc/httpd/ssl
cd /etc/httpd/ssl
(umask 077; openssl genrsa -out httpd.key 2048)
(2)生成证书签署请求
openssl req -new -key httpd.key -out httpd.csr -days 365
(3)将请求通过可靠方式发送给CA主机
(4)在CA主机上签署证书
openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
3、描述DNS查询过程以及DNS服务器类别。
以解析www.magedu.com为例:
(1)客户端向本地DNS服务器请求域名解析,如果本地DNS服务器可以查到记录,则返回结果给主机;此为递归查询。
(2)如本地DNS服务器没有查询到记录,则本地DNS服务器会向根域DNS服务器请求查询,根域也没有此项记录,但有com.域的解析记录,所以会把该记录返回给本地DNS服务器;
(3)本地DNS服务器根据返回的结果,继续向com.域DNS服务器请求查询,该域DNS也没有此项记录,但有magedu.com.域的解析记录,所以会把该记录返回给本地DNS服务器;
(4)本地DNS服务器根据返回的结果,继续向magedu.com.域DNS服务器请求查询,该域DNS记录了www.magedu.com.主机的解析记录,并返回记录给本地DNS服务器,本地DNS服务器再把查询到结果返回给客户端,第二步到第四步属于迭代查询;
4、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)
实验环境下,配置以下的所有DNS服务器之前(无论主服务器,从服务器,子域服务器),都需要先修改本机上的/etc/name.conf文件,以主服务器为例:
options {
listen-on port 53 { 192.168.1.120; }; (此处要加入DNS服务器监听在哪个IP地址上)
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 { localhost; }; (此行需要注释掉,否则只允许本机进行DNS解析查询)
dnssec-enable no; (这两行都要从yes改为no)
dnssec-validation no;
(1)、能够对一些主机名进行正向解析和逆向解析;
定义区域
[root@localhost ~]# vim /etc/named.rfc1912.zones
(正向解析)
zone "magedu.com" IN {
type master;
file "magedu.com.zone";
};
(反向解析)
zone "192.168.1.in-addr.arpa" IN {
type master;
file "192.168.1.zone";
};
建立区域数据文件
(正向解析)
[root@localhost ~]# vim var/named/magedu.com.zone
$TTL 3600
$ORIGIN magedu.com.
@ IN SOA ns1.magedu.com. dnsadimin.magedu.com. (
20160101
1H
10M
3D
1D )
IN NS ns1
ns1 IN A 192.168.1.120
www IN A 192.168.1.120
web IN CNAME www
bbs IN A 192.168.1.131
(反向解析)
[root@localhost ~]# vim /var/named/192.168.1.zone
$TTL 3600
$ORIGIN 1.168.192.in-addr.arpa.
@ IN SOA ns1.magedu.com. nsadmin.magedu.com. (
20160101
1H
10M
3D
12H )
IN NS ns1.magedu.com.
120 IN PTR ns1.magedu.com.
131 IN PTR bbs.magedu.com.
120 IN PTR www.magedu.com
修改权限和属组:
(正向解析区域文件)
[root@localhost named]# chgrp named /var/named/magedu.com.zone
[root@localhost named]# chmod o= /var/named/magedu.com.zone
(反向解析区域文件)
[root@localhost named]# chgrp named 192.168.1.zone
[root@localhost named]# chmod o= 192.168.1.zone
检查主配置文件语法:
[root@localhost named]# named-checkconf
检查区域配置文件语法:
[root@localhost named]# named-checkzone magedu.com /var/named/magedu.com.zone
[root@localhost named]# named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.zone
重载区域数据文件:
[root@localhost named]# rndc reload
测试正向解析:
[root@localhost named]# dig -t A www.magedu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A www.magedu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42479
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.magedu.com. IN A
;; ANSWER SECTION:
www.magedu.com. 3600 IN A 192.168.1.120
;; AUTHORITY SECTION:
magedu.com. 3600 IN NS ns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com. 3600 IN A 192.168.1.120
;; Query time: 0 msec
;; SERVER: 192.168.1.120#53(192.168.1.120)
;; WHEN: Sun Oct 30 13:58:59 EDT 2016
测试反向解析:
[root@localhost named]# dig -x 192.168.1.120
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -x 192.168.1.120
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 42178
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;120.1.168.192.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:
168.192.in-addr.arpa. 86400 IN SOA 168.192.in-addr.arpa. . 0 28800 7200 604800 86400
;; Query time: 0 msec
;; SERVER: 192.168.1.120#53(192.168.1.120)
;; WHEN: Sun Oct 30 13:58:10 EDT 2016
;; MSG SIZE rcvd: 90
(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;
在父域服务器上设置:
[root@localhost ~]# vim /var/named/magedu.com.zone
$TTL 3600
$ORIGIN magedu.com.
@ IN SOA ns1.magedu.com. dnsadmin.magedu.com. (
20160102
1H
10M
3D
1D )
IN NS ns1
IN NS ns2
ns1 IN A 192.168.1.120
ns2 IN A 192.168.1.131
www IN A 192.168.1.120
web IN CNAME www
bbs IN A 192.168.1.131
cdn IN NS ns1.cdn (加入子域名称服务器)
ns1.cdn IN A 192.168.1.111 (加入子域名称服务器与IP地址的对应关系)
检查语法:
[root@localhost ~]# named-checkzone magedu.com /var/named/magedu.com.zone
在子域DNS服务器上设置:
定义子域的区域:
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone "cdn.magedu.com" IN {
type master;
file "cdn.magedu.com.zone";
};
建立区域数据文件:
[root@localhost ~]# vim /var/named/cdn.magedu.com.zone
$TTL 3600
$ORIGIN cdn.magedu.com.
@ IN SOA ns1.cdn.magedu.com. nsadmin.cdn.magedu.com. (
20160101
1H
10M
1D
2H )
IN NS ns1
ns1 IN A 192.168.1.111
www IN A 192.168.1.111
修改区域文件的属组和权限:
[root@localhost ~]# chgrp named cdn.magedu.com.zone
[root@localhost ~]# chmod o= cdn.magedu.com.zone
检查语法:
[root@localhost ~]#named-checkconf
[root@localhost ~]#named-checkzone cdn.magedu.com /var/named/cdn.magedu.com.zone
重载配置:
[root@localhost ~]#rndc reload
在子域DNS服务器解析父域里的主机名称:
[root@localhost ~]# dig -t A www.magedu.com @192.168.1.111
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A www.magedu.com @192.168.1.111
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23642
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.magedu.com. IN A
;; ANSWER SECTION:
www.magedu.com. 3600 IN A 192.168.1.120
;; AUTHORITY SECTION:
magedu.com. 3600 IN NS ns2.magedu.com.
magedu.com. 3600 IN NS ns1.magedu.com.
;; ADDITIONAL SECTION:
ns2.magedu.com. 3600 IN A 192.168.1.131
ns1.magedu.com. 3600 IN A 192.168.1.120
;; Query time: 2 msec
;; SERVER: 192.168.1.111#53(192.168.1.111)
;; WHEN: Mon Oct 31 16:43:16 EDT 2016
;; MSG SIZE rcvd: 127
在父域DNS服务器解析子域里的主机名称:
[root@localhost ~]# dig -t A www.cdn.magedu.com @192.168.1.120
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A www.cdn.magedu.com @192.168.1.120
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26377
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.cdn.magedu.com. IN A
;; ANSWER SECTION:
www.cdn.magedu.com. 3600 IN A 192.168.1.111
;; AUTHORITY SECTION:
cdn.magedu.com. 3600 IN NS ns1.cdn.magedu.com.
;; ADDITIONAL SECTION:
ns1.cdn.magedu.com. 3600 IN A 192.168.1.111
;; Query time: 1 msec
;; SERVER: 192.168.1.120#53(192.168.1.120)
;; WHEN: Mon Oct 31 15:40:48 EDT 2016
;; MSG SIZE rcvd: 97
(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程:
配置主从服务器:
在从服务器上定义区域:
[root@www ~]# vim /etc/named.rfc1912.zones
zone "magedu.com" IN {
type slave;
file "slaves/magedu.com.zone";
masters { 192.168.1.120; };
};
检查语法:
[root@www ~]# named-checkconf
在主服务器上编辑区域文件/var/named/magedu.com.zone
[root@localhost named]# vim magedu.com.zone
$TTL 3600
$ORIGIN magedu.com.
@ IN SOA ns1.magedu.com. dnsadimin.magedu.com. (
20160101
1H
10M
3D
1D )
IN NS ns1
IN NS ns2 (加入此条NS记录)
ns1 IN A 192.168.1.120
ns2 IN A 192.168.1.131 (加入此条A记录)
www IN A 192.168.1.120
web IN CNAME www
bbs IN A 192.168.1.131
检查语法:
[root@localhost named]# named-checkzone magedu.com /var/named/magedu.com.zone
在从服务器上测试:
[root@www slaves]# rndc reload
[root@www slaves]# dig -t A www.magedu.com @192.168.1.131
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.2 <<>> -t A www.magedu.com @192.168.1.131
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22982
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.magedu.com. IN A
;; ANSWER SECTION:
www.magedu.com. 3600 IN A 192.168.1.120
;; AUTHORITY SECTION:
magedu.com. 3600 IN NS ns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com. 3600 IN A 192.168.1.120
;; Query time: 1 msec
;; SERVER: 192.168.1.131#53(192.168.1.131)
;; WHEN: Sun Oct 23 04:24:49 2016
;; MSG SIZE rcvd: 82
原创文章,作者:heianyangguo,如若转载,请注明出处:http://www.178linux.com/55692