1、詳細描述一次加密通訊的過程,結合圖示最佳。
一次通信加密過程:
發送方:
1.使用單向加密算法提取生成數據特征碼;
2.使用自己的私鑰加密特征碼附加在數據后面;
3.生成用于對稱加密的臨時密鑰;
4.用此臨時密鑰加密數據和已經使用私鑰加密后的特征碼;
5.使用接受方的公鑰加密此臨時密鑰,附加在對稱密鑰后的數據后方;
接受方:
1.使用自己的私鑰解密加密的臨時密鑰,從而獲得臨時密鑰;
2.使用對稱密鑰解密對稱加密的數據和私鑰加密的特征碼密文,從而獲得數據和特征碼密文;
3.使用對方的公鑰解密特征碼密文,從而獲得從計算生成的特征碼;
4.使用與對方同樣的單向加密算法計算數據的特征碼,并與解密而來的進行比較;
2、描述創建私有CA的過程,以及為客戶端發來的證書請求進行辦法證書。
使用OpenSSL構建私有CA的步驟:
1.生成私鑰;
[root@localhost ~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
Generating RSA private key, 4096 bit long modulus
…………………………………………………….++
…………………………………………………++
e is 65537 (0x10001)
2.生成自簽署證書;
[root@localhost ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Shanghai
Locality Name (eg, city) [Default City]:Shanghai
Organization Name (eg, company) [Default Company Ltd]:Magedu
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server’s hostname) []:ca.magedu.com
Email Address []:caadmin@magedu.com
-new:生成新簽署證書請求;
-x509:生成自簽格式證書,專用于創建私有CA時使用;
-key:生成請求時用到的自由文件路徑;
-out:生成的請求文件路徑;如果自簽操作將直接生成簽署過的證書;
-days:證書的有效時長,單位是day;
3.為CA提供所需的文件及目錄;
[root@localhost ~]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
[root@localhost ~]# touch /etc/pki/CA/{serial,index.txt}
[root@localhost ~]# echo 01> /etc/pki/CA/serial
3、描述DNS查詢過程以及DNS服務器類別。
DNS查詢過程:
此處以www.magedu.com為例,首先查詢本地主機上的hosts文件是否有www.magedu.com主機與ip地址的對應關系,若有則直接給予響應;若沒有則向指定的DNS server發起請求,DNS server收到請求后首先查詢本地緩存記錄是否有magedu.com的解析記錄,若有則直接反饋給客戶端,若沒有此時DNS server會主動向根域名服務器發起查詢www.magedu.com的請求,但是根只記錄了.com的相關信息,此時根會告知.com的地址,DNS server收到.com后便向.com發起查詢www.magedu.com的請求,而.com只記錄了magedu.com的記錄,此時.com服務器會告知DNS server? magedu.com的地址,DNS server收到magedu.com的地址后便向magedu.com主機發起查詢www.magedu.com的請求,magedu.com主機查詢本地的記錄找到了www對應的IP地址,于是將www.magedu.com對應的IP地址反饋給DNS server,DNS server在收到結果后會先將結果存儲在本地的DNS緩存中(此過程是為了方便下次如果有相同的解析請求時可以快速的響應),之后再將結果直接反饋給客戶端,解析完成。
DNS服務器的類別:
DNS域名服務器是用來存儲主機-域名映射信息的,這些服務器具體又可以分為4類:
(1)主DNS服務器:負責維護一個區域的所有域名信息,是特定的所有信息的權威信息源,數據可以修改。
(2)輔助DNS服務器:當主域名服務器出現故障、關閉或負載過重時,輔助域名服務器作為主域名服務器的備份提供域名解析服務。輔助域名服務器中的區域文件中的數據是從另外的一臺主域名服務器中復制過來的,是不可以修改的。
(3)高速緩存服務器:從某個遠程服務器取得每次域名服務器的查詢回答,一旦取得一個答案就將它放在高速緩存中,以后查詢相同的信息就用高速緩存中的數據回答,緩存域名服務器不是權威的域名服務器,因為它提供的信息都是間接信息。
(4)轉發DNS服務器:負責所有非本地域名的本地查詢。轉發域名服務器接到查詢請求后,在其緩存中查找,如找不到就將請求依次轉發到指定的域名服務器,直到查找到結果為止,否則返回無法映射的結果。
4、搭建一套DNS服務器,負責解析magedu.com域名(自行設定主機名及IP)
(1)、能夠對一些主機名進行正向解析和逆向解析;
(2)、對子域cdn.magedu.com進行子域授權,子域負責解析對應子域中的主機名;
(3)、為了保證DNS服務系統的高可用性,請設計一套方案,并寫出詳細的實施過程;
一、安裝DNS服務器軟件
[root@localhost ~]# yum install -y named
二、配置相關配置文件
DNS的配置文件有很多個,其中:
/etc/named.conf,/etc/named.rfc1912.zones:為DNS的主配置文件;
/var/named/:該目錄為DNS數據庫文件的存放目錄,所有的域文件都存放在此目錄下;
/etc/rc.d/init.d/named:為DNS服務的服務腳本
首先編輯/etc/named.conf文件
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { any; };????????? 53為監聽的端口,將后面的參數修改為any,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; };??????????????? 允許那些主機請求查詢,any表示所有主機
recursion yes;?????????????????????? 允許遞歸查詢
dnssec-enable no;
dnssec-validation no;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;
managed-keys-directory “/var/named/dynamic”;
};
編輯完成后啟動DNS服務
[root@localhost ~]# service named start
查看服務是否啟動并監聽在53端口上
[root@localhost ~]# ss -tnl | grep :53
LISTEN 0 3 ::1:53 :::*
LISTEN 0 3 192.168.1.101:53 *:*
LISTEN 0 3 127.0.0.1:53 *:*
編輯/etc/named.rfc1912.zones文件,在文件中添加zone;
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone “magedu.com” IN {????????????????? zone名字為magedu.com
type master;?????????????????? 此處為主DNS服務器zone的類型為master
file “magedu.zone”;??????????? zone的解析庫文件的名稱為magedu.zone,對應的文件路徑為/var/named目錄下
zone “1.168.192.in-addr.arpa” IN {????? 反向解析的名稱為ip網段部分的反寫后面加上in-addr.arpa
type master;?????????????????? 此處為反向的主DNS服務器,zone的類型為master
file “1.168.192.zone”;???????? zone的解析庫文件的名稱為1.168.192.zone,對應的文件路徑為/var/named目錄下
};
主配置文件添加完后使用named-checkconf命令檢查是否有語法錯誤
[root@localhost ~]# named-checkconf
在/var/named/目錄下創建區域解析庫文件;
[root@localhost ~]# vim /var/named/magedu.zone ????????? 創建正向解析庫文件;
$TTL 600??????????????????????????????????????????????? 設置所有變量TTL的值為600秒
magedu.com. IN SOA ns1.magedu.com. admin.magedu.com. (? SOA記錄
2017092901?????????????????????????? 序列號
1H?????????????????????????????????? 刷新時間
10M????????????????????????????????? 重試時間
1W?????????????????????????????????? 過期時間
1D?????????????????????????????????? 否定答案的TTL值
)
IN NS ns1.magedu.com.?????????????????????? NS記錄,當前域的名稱magedu.com,DNS服務其名字為ns1.magedu.com
IN NS ns2.magedu.com.?????????????????????? 從DNS服務器名字為ns2.magedu.com
IN MX 10 mx1.magedu.com.??????????????????? MX記錄,當前域的MX服務器名字為mx1.magedu.com
IN MX 20 mx2.magedu.com.??????????????????? 10為MX服務器的優先級,數字越小優先級越高
pop3.magedu.com. IN CNAME mx1.magedu.com.?????????????? CNAME記錄,pop3.magedu.com為mx1.magedu.com的別名
ns1.magedu.com. IN A 192.168.1.101????????????????????? A記錄,此處為所有主機名對應的ipv4地址
ns2.magedu.com. IN A 192.168.1.102????????????????????? 從DNS服務器地址
www.magedu.com. IN A 192.168.1.101
mx1.magedu.com. IN A 192.168.1.101
mx2.magedu.com. IN A 192.168.1.102
正向解析庫文件配置完成,完成后使用named-checkzone命令查看解析庫文件是否有錯誤
[root@localhost ~]# named-checkzone “magedu.com” /var/named/magedu.zone
沒有報錯,隨后需要將配置文件的權限設為O=0,屬組設置為named用戶,
[root@localhost ~]# chmod o= /var/named/magedu.zone
[root@localhost ~]# chown :named /var/named/magedu.zone
使用rndc命令進行重載配置文件
[root@localhost ~]# rndc reload
server reload successful
此時,正向DNS解析已可以使用。
測試:
[root@localhost ~]# dig -t A www.magedu.com @192.168.1.101
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -t A www.magedu.com @192.168.1.101
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64569
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;www.magedu.com. IN A
;; ANSWER SECTION:
www.magedu.com. 600 IN A 192.168.1.101
;; AUTHORITY SECTION:
magedu.com. 600 IN NS ns2.magedu.com.
magedu.com. 600 IN NS ns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com. 600 IN A 192.168.1.101
ns2.magedu.com. 600 IN A 192.168.1.102
;; Query time: 1 msec
;; SERVER: 192.168.1.101#53(192.168.1.101)
;; WHEN: Thu Oct 12 16:52:37 2017
;; MSG SIZE rcvd: 116
創建反向解析庫文件:
[root@localhost ~]# vim /var/named/1.168.192.zone
$TTL 600
@??????????????? IN SOA ns1.magedu.com. admin.magedu.com. (
2017092901
1H
10M
1W
1D
)
IN NS ns1.magedu.com.
IN NS ns2.magedu.com.
101? ? ? ? ? ? ? IN PTR ns1.magedu.com.
IN PTR mx1.magedu.com.
102????????????? IN PTR ns2.magedu.com.
IN PTR mx2.magedu.com.
完成后修改屬組和權限,并檢查區域文件
[root@localhost ~]# chmod o= /var/named/1.168.192.zone
[root@localhost ~]# chown :named /var/named/1.168.192.zone
[root@localhost ~]# named-checkzone “1.168.192.in-addr.arpa” /var/named/1.168.192.zone
使用rndc命令進行重載配置文件
[root@localhost ~]# rndc reload
server reload successful
測試:
使用rndc命令進行重載配置文件
[root@localhost named]# dig -x 192.168.1.101 @192.168.1.101
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> -x 192.168.1.101 @192.168.1.101
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60637
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;101.1.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
101.1.168.192.in-addr.arpa. 600 IN PTR ns1.magedu.com.
101.1.168.192.in-addr.arpa. 600 IN PTR mx1.magedu.com.
;; AUTHORITY SECTION:
1.168.192.in-addr.arpa. 600 IN NS ns1.magedu.com.
1.168.192.in-addr.arpa. 600 IN NS ns2.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com. 600 IN A 192.168.1.101
ns2.magedu.com. 600 IN A 192.168.1.102
;; Query time: 1 msec
;; SERVER: 192.168.1.101#53(192.168.1.101)
;; WHEN: Thu Oct 12 17:44:30 2017
;; MSG SIZE rcvd: 154
反向解析成功。
三、從服務器配置
配置從DNS服務器配置文件。
[root@localhost ~]# vim /etc/named.conf
options {
listen-on port 53 { 192.168.1.102; 127.0.0.1; };????? 此處允許訪問解析的主機地址為自己
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”;
};
完成后啟動dns服務
修改named.rfc1912.zones文件
[root@localhost ~]# vim /etc/named/named.rfc1912.zones
zone “magedu.com” IN {
type slave;???????????????????? 域類型設置為slave
file “slaves/magedu.zone”;????? 由于為從dns服務器此處區域文件存放的位置為/var/named/slaves目錄下
masters { 192.168.1.101; };???? 此處為指向主DNS服務器的地址
};
zone “1.168.192.in-addr.arpa” IN {
type slave;
file “slaves/1.168.192.zone”;
masters { 192.168.1.101; };
};
從dns服務器配置文件修改完成后無需創建數據庫文件,會主動去和主服務器同步,不過在此之前需要在主服務器的區域數據庫文件中添加從DNS服務器的ns記錄和A記錄。
四、子域授權
首先在主DNS服務器的區域解析庫文件上添加NS記錄及A記錄
[root@localhost ~]# vim /var/named/magedu.zone
$TTL 600
magedu.com.????? IN SOA ns1.magedu.com. admin.magedu.com. (
2017092901
1H
10M
1W
1D
)
IN NS ns1.magedu.com.
IN NS ns2.magedu.com.
IN MX 10 mx1.magedu.com.
IN MX 20 mx2.magedu.com.
cdn.magedu.com.? IN NS ns1.cdn.magedu.com.????????? 添加子域NS記錄
pop3.magedu.com. IN CNAME mx1.magedu.com.
ns1.magedu.com.? IN A 192.168.1.101
ns2.magedu.com.? IN A 192.168.1.102
www.magedu.com.? IN A 192.168.1.101
mx1.magedu.com.? IN A 192.168.1.101
mx2.magedu.com.? IN A 192.168.1.102
ns1.cdn.magedu.com. IN A 192.168.1.103????????????? 添加子域A記錄
在192.168.1.103主機上修改子域DNS服務器配置文件:
[root@localhost ~]# 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 { localhost; };
recursion yes;
dnssec-enable no;????????????????? 此處兩項dnssec需要設置為no
dnssec-validation no;
/* Path to ISC DLV key */
bindkeys-file “/etc/named.iscdlv.key”;
managed-keys-directory “/var/named/dynamic”;
};
[root@localhost ~]# vim /etc/named.rfc1912.zones
zone “cdn.magedu.com” IN {?????????????? 定義子域服務器名字
type master;??????????????????? 類型為主服務器
file “cdn.magedu.com.zone”;???? 區域解析庫文件位置
};
當需要解析的主機不再子域內時,則轉發給上級DNS服務器,轉發的zone定義方法如下
zone “magedu.com” IN {?????????????????? 上級主服務器名稱
type forward;?????????????????? 定義類型為轉發
forward only;?????????????????? 只轉發不負責解析
forwarders { 192.168.1.101; };? 轉發的主DNS服務器地址
};
配置完成后創建解析庫文件
[root@localhost ~]# vim /var/named/cdn.magedu.com.zone
$TTL 600
@ IN SOA ns1.cdn.magedu.com. admin.magedu.com. (
2017100101
1H
10M
1W
1D
)
IN NS ns1.cdn.magedu.com.
IN NS ns2.cdn.magedu.com.
ns1 IN A 192.168.1.103
ns2 IN A 192.168.1.104
*?? IN A 192.168.1.105
完成后修改屬組及權限,至此子域授權完成。
原創文章,作者:M36-Masuri,如若轉載,請注明出處:http://www.www58058.com/84013