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.www58058.com/55692