天天看點

linux第八周微職位

1、較長的描述一次加密通訊的過程,結合圖示最佳。

linux第八周微職位

2、描述建立私有CA的過程,以及為用戶端發來的證書請求進行辦法證書。

首先準備主機環境,使用兩台虛拟機,一台用作CA(192.168.137.129),一台用作使用證書的主機(192.168.137.128)。

在CA主機上:

(1)在./etc/pki/CA目錄下建立所需檔案,如下圖示:

linux第八周微職位

(2)建立私鑰檔案

執行指令:(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048),如下圖示:

linux第八周微職位

(3)生成證書請求,自己為自己頒發證書

執行指令:openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655

-new:生成新證書簽署請求

-x509:生成自簽格式證書,專用于建立私有CA

-key:生成請求時用到的私有檔案路徑

-out:生成的請求檔案路徑;如果自簽操作将直接生成簽署過的證書

-days:證書的有效時長,機關是day

linux第八周微職位

使用證書的主機:

以httpd服務為例說明,建立所需檔案目錄ssl

linux第八周微職位

(1)生成私鑰

linux第八周微職位

(2)生成證書簽署請求

linux第八周微職位

(3)将證書 httpd.csr 發送給CA主機

執行指令:scp httpd.csr [email protected]:/tmp/

如果提示沒有scp指令就執行]# yum install openssh-clients進行安裝

linux第八周微職位

(4)CA主機簽署證書

執行指令:openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

linux第八周微職位

(5)将CA主機中的 httpd.crt 發送給使用證書的主機

執行指令:scp certs/httpd.crt [email protected]:/etc/httpd/ssl

linux第八周微職位

(6)在CA主機上檢視 httpd.crt 證書的資訊,包括證書編号和subject資訊

執行指令:openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject

linux第八周微職位

注意:此處需要指明具體檢視的資訊,如serial、subject,否則不會顯示任何資訊。

最後,出于安全考慮,可以将兩個主機上的 httpd.csr 檔案删除。

linux第八周微職位

01.pem為生成的證書,此處放于目前目錄下的newcerts目錄下,在生産環境中使用時應将證書放于certs目錄下,将

證書名字改為需要使用證書的主機名字即可,便于識别。

吊銷證書

(1)用戶端擷取要吊銷的證書的serial(在使用證書的主機執行以下指令:)

openssl x509 -in /etc/httpd/ssl/httpd.crt -noout -serial -subject

linux第八周微職位

(2)CA主機吊銷證書

先根據客戶送出的serial和subject資訊,對比其與本機資料庫index.txt中存儲的是否一緻

吊銷操作:openssl ca -revoke /etc/pki/CA/newcerts/01.pem

linux第八周微職位

(3)生成吊銷證書的吊銷編号(第一次吊銷證書時執行)

執行指令:echo 01 > /etc/pki/CA/crlnumber

linux第八周微職位

(4)更新證書吊銷清單

執行指令:openssl ca -gencrl -out thisca.crl

至此,證書吊銷完畢!

3、描述DNS查詢過程以及DNS伺服器類别。

DNS查詢過程

(1)在浏覽器中輸入一個域名,例如www.magedu.com,作業系統會先檢查自己本地的hosts檔案是否有這個網址映射關系,如果有,就先調用這個IP位址映射,完成域名解析;

(2)如果hosts裡沒有這個ip到域名的映射,那麼就要查找本地DNS解析器緩存,是否有這個域名到ip位址的映射關系,如果有,直接傳回,完成域名解析;

(3)如果本機的hosts與本地DNS解析器緩存都沒有相應的網址映射關系,那麼就要找到你的TCP/IP參數中設定的首選DNS伺服器,我們叫它本地DNS伺服器,此伺服器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則傳回解析結果給客戶機,完成域名解析,此解析具有權威性;

(4)如果要查詢的域名,不由本地DNS伺服器區域解析,但該伺服器已緩存了此網址映射關系,則調用這個域名到ip位址的映射,完成域名解析,但是此解析不具有權威性。

(5)如果本地DNS伺服器本地區域檔案與緩存解析都失效,則根據本地DNS伺服器的設定(是否設定轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至根DNS,根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,并會傳回一個負責該頂級域名伺服器的一個IP。本地DNS伺服器收到IP資訊後,将會聯系負責.com域的這台伺服器。這台負責(.com)域名的伺服器收到請求後,如果自己無法解析,它就會找一個管理(.com)域的下一級DNS伺服器位址 (magedu.com)給本地DNS伺服器。當本地DNS伺服器收到這個位址後,就會找(magedu.com)域伺服器,重複上面的動作,進行查詢,直至找到 (www.magedu.com)主機;

(6)如果用的是轉發模式,此DNS服 務器就會把請求轉發至上一級DNS伺服器,由上一級伺服器進行解析,上一級伺服器如果不能解析,或找根DNS或把轉請求轉至上上級,以此循環。不管是本地 DNS伺服器用是是轉發,還是根提示,最後都是把結果傳回給本地DNS伺服器,由此DNS伺服器再傳回給客戶機。

DNS伺服器類别

(1)主域名伺服器:負責維護這個區域的所有域名資訊,是特定的所有資訊的權威資訊源。也是說主域名伺服器内所存儲的是該區域的正本資料,系統管理者可以對它進行修改。

(2)輔助域名伺服器:當主域名伺服器出現故障、關閉或負載過重時,輔助域名伺服器作為備份服務提供域名解析服務。輔助域名伺服器中的區域檔案内的資料是從另外一台域名伺服器複制過來的,并不是直接輸入的,也是說這個區域檔案隻是一份副本,這裡的資料是無法修改的。

(3)緩存域名伺服器:可運作域名伺服器軟體但沒有域名資料庫。它從某個遠端伺服器取得每次域名伺服器查詢的回答,一旦擷取一個答案,将它放在高速緩存中,以後查詢相同的資訊時用它予以回答。緩存域名伺服器不是權威性伺服器,因為提供的所有資訊都是間接資訊。

(4)轉發域名伺服器:負責所有非本地域名的本地查詢。轉發域名伺服器接到查詢請求時,在其緩存中查找,如找不到把請求依次轉發到指定的域名伺服器,直到查詢到結果為止,否則傳回無法映射的結果。

4、搭建一套DNS伺服器,負責解析magedu.com域名(自行設定主機名及IP)

(1)、能夠對一些主機名進行正向解析和逆向解析;

如果沒有安裝bind,先安裝bind。

正向解析:

a. 定義區域

編輯 vim /etc/named.rfc1912.zones 檔案,在末行新增以下内容:

zone "magedu.com" IN {

        type master;

        file "magedu.com.zone";

};

b. 建立區域資料檔案(主要記錄為A或AAAA記錄)

在/var/named目錄下,編輯 vim magedu.com.zone 檔案,新增如下内容:

linux第八周微職位

以上資訊說明配置正确。

權限及屬組權限修改:

c. 執行指令:rndc reload,重載配置檔案;

d. 驗證結果 dig -t A magedu.com

逆向解析

zone "10.168.192.in-addr.arpa" IN {

    type master;

    file "192.168.10.zone";

b. 建立區域解析庫檔案(主要記錄為PTR)

在/var/named目錄下,編輯 vim 192.168.10.zone 檔案

linux第八周微職位

]# chgrp named 192.168.10.zone 

]# chmod o= 192.168.10.zone 

]# named-checkconf

]# named-checkzone 10.168.192.in-addr.arpa /var/named/192.168.10.zone 

c. 執行指令:rndc reload 或 systemctl reload named service,重載配置檔案。

d. 驗證結果 dig -x 192.168.245.111

(2)、對子域cdn.magedu.com進行子域授權,子域負責解析對應子域中的主機名;

a. 首先在父域dns伺服器上添加子域dns伺服器的區域解析

編輯 /var/named/magedu.com.zone 檔案,添加一條子域dns的NS記錄和A記錄。我的子域dns伺服器IP為192.168.10.3

zone "cdn.magedu.com" IN {

        file "cdn.magedu.com.zone";

        allow-update { none; };

b. 建立區域解析庫檔案

在/var/named目錄下,編輯 cdn.magedu.com.zone 檔案

[root@cent6 named]# cat cdn.magedu.com.zone 

$TTL 3600

@        IN      SOA        ns1.cdn.magedu.com. cdnadmin.cdn.magedu.com. (

              20170826

              1H

              10M

              3D

              1D );

         IN      NS        ns1.cdn.magedu.com.

ns1      IN      A         192.168.10.3

]# chgrp named cdn.magedu.com.zone

]# chmod o= cdn.magedu.com.zone

]# named-checkzone cdn.magedu.com /var/named/cdn.magedu.com.zone

(3)、為了保證DNS服務系統的高可用性,請設計一套方案,并寫出詳細的實施過程

dns的伺服器可以是一個主服務多個從伺服器。每當主伺服器發生解析檔案變更時,會主動通知從節點,進而把變更後的解析庫檔案傳遞給從伺服器。當有一台dns伺服器不能提供服務時,可暫時由另外一台dns伺服器提供服務,進而實作了高可用性。

a. dns主節點的配置就是在/etc/named.rfc1912.zones檔案中定義解析區域時, 保證type master;即可。另外,主節點的區域解析檔案中要有從節點的NS記錄和A記錄;

b. ns從節點的配置首先是定義區域,與主節點不同的是,從節點 type為slave,file值為"slaves/magedu.com.zone",區域解析檔案的儲存位置在slaves檔案夾下;

c. 重載相關配置檔案或服務。

注意:需要保證主從節點的時間同步。

繼續閱讀