OPENSSL&DNS

 

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

  • Client 從互聯網下載CA的公鑰,用于驗證Server身份

  • Server 通過加密算法生成一對密鑰,將公鑰發給CA認證機構,做數字證書

  • CA 通過自己的私鑰加密 Server 公鑰并加上自己的數字簽名后,將生成的數字證書發給Server

  • Client 與 Server 通TCP的三次握手建立連接

  • Client 發出HTTP的報文請求,并和Server協商使用哪種算法加密

  • Server 響應報文并將公鑰(CA證書)發送給客戶端

  • Client 能通過CA的公鑰解密CA證書,得到Server的公鑰和數字簽名,Client 通過散列函數算出Server公鑰的數字簽名與得到的數字簽名對比,來驗證Server身份,驗證成功并發送數據請求

  • Server 處理請求,并根據Client請求的資源類型,來訪問相關資源做出響應報文,并記錄日志

  • Client 與 Server 通過TCP的四次揮手斷開連接,通信完成

2、描述創建私有CA的過程,以及為客戶端發來的證書請求進行頒發證書。

第一步,創建CA機構    
   修改配置文件      
   自己生成一對密鑰 (私鑰加密http公鑰)      
   生成自簽證書

第二步,客戶端    
   生成一對密鑰      
   生成證書頒發請求—.csr      
   將請求發給CA

第三步,CA機構    
   簽署此證書      

   傳送給客戶端

第一步:

創建私有CA機構

~]# cd /etc/pki/CA/

CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)

Generating RSA private key, 2048 bit long modulus

…………………………………………+++

……..+++

e is 65537 (0x10001)

CA]# ls -l private/

總用量 4

-rw——- 1 root root 1679 12月  1 01:28 cakey.pem

CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

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) []:SZ

Locality Name (eg, city) [Default City]:SZ

Organization Name (eg, company) [Default Company Ltd]:CPTW

Organizational Unit Name (eg, section) []:OPS

Common Name (eg, your name or your server's hostname) []:CPTW.COM.CN

Email Address []:MAIL.CPTW.COM.CN

[root@localhost CA]# touch index.txt

[root@localhost CA]# echo 01 > serial

第二步:

客戶端的證書請求

秘鑰加密

~]# cd /etc/httpd/

httpd]# ls

conf  conf.d  conf.modules.d  logs  modules  run

httpd]# mkdir ssl

httpd]# cd ssl

ssl]# ls

ssl]# (umask 077;openssl genrsa -out httpd.key 1024)

Generating RSA private key, 1024 bit long modulus

……..++++++

……..++++++

e is 65537 (0x10001)

[root@localhost ssl]# ls

httpd.key

證書請求

ssl]# openssl req -new -key httpd.key -out httpd.csr

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) []:SZ

Locality Name (eg, city) [Default City]:SZ

Organization Name (eg, company) [Default Company Ltd]:CPTW

Organizational Unit Name (eg, section) []:OPS

Common Name (eg, your name or your server's hostname) []:WWW.CPTW.COM.CN

Email Address []:MAIL.CPTW.COM.CN

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

[root@localhost ssl]# ls

httpd.csr  httpd.key

第三步:

將證書發送給頒發證書機構進行簽證

tmp]# openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt -days 365

Using configuration from /etc/pki/tls/openssl.cnf

Check that the request matches the signature

Signature ok

Certificate Details:

        Serial Number: 1 (0x1)

        Validity

            Not Before: Nov 30 18:08:27 2016 GMT

            Not After : Nov 30 18:08:27 2017 GMT

        Subject:

            countryName               = CN

            stateOrProvinceName       = SZ

            organizationName          = CPTW

            organizationalUnitName    = OPS

            commonName                = WWW.CPTW.COM.CN

            emailAddress              = MAIL.CPTW.COM.CN

        X509v3 extensions:

            X509v3 Basic Constraints:

                CA:FALSE

            Netscape Comment:

                OpenSSL Generated Certificate

            X509v3 Subject Key Identifier:

                C2:C2:F3:E3:91:CC:82:96:B2:38:CB:23:84:F4:4F:93:FF:32:FC:BD

            X509v3 Authority Key Identifier:

                keyid:F0:26:D0:A8:94:A9:81:E2:C5:C0:5A:95:5B:D3:1B:BB:BB:28:59:87

Certificate is to be certified until Nov 30 18:08:27 2017 GMT (365 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

3、描述DNS查詢過程以及DNS服務器類別。

DNS查詢過程:

     (1)、本地解析

客戶端操作系統上都運行著一個DNS客戶端程序,當其他程序提出DNS查詢請求時,這個查詢請求要傳送至DNS客戶端程序。DNS客戶端程序首先使用本地緩存信息進行解析,如果可以解析所要查詢的名稱,則DNS客戶端程序就直接應答該查詢,而不需要向DNS服務器查詢,該DNS查詢處理過程結束(/etc/hosts)

 1.png

     (2)、直接解析

如果DNS客戶端程序不能從本地DNS緩存中回答客戶端的DNS查詢,向客戶端所設定的局部DNS服務器發送一個查詢請求,要求局部DNS服務器進行解析。局部DNS服務器得到這個查詢請求,首先查看所要求查詢的域名自己能否解析,如果能解析,則直接應答,如不能,在查看自己的DNS緩存,如果可以從緩存中解析,則也是直接給予回應

 3.png

     (3)、遞歸解析

當局部DNS服務器無法進行DNS解析時,它就需要向其他DNS服務器進行查詢。此時有兩種方式:遞歸方式,局部DNS服務器自己負責向其它DNS服務器進行查詢,一般是先向該域名的根域名服務器查詢,再由根域名服務器一級級向下查詢。最后得到的查詢結果返回給局部DNS,再由局部DNS服務器返回給客戶端

 3.png

     (4)、迭代解析

當局部DNS服務器自己不能回答客戶端的DNS查詢時,也可以通過迭代查詢的方式進行解析。局部DNS服務器不是自己向其他DNS服務器進行查詢,而是把能解析該域名的其它DNS服務器的IP地址返回給客戶端的DNS程序,客戶端DNS程序再繼續想這些DNS服務器進行查詢,知道得到結果為止。

 4.png

備注:摘自http://blog.sina.com.cn/s/blog_4078ccd60101cj6r.html

DNS服務器類別

     負責解析至少一個域:

          主名稱服務器;

          輔助名稱服務器;

     不負責域解析:

          緩存名稱服務器;

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

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

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

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

主從DNS

一、主服務器部分需要在bind的主配置文件/etc/named.conf中定義允許哪些從服務器來同步信息

allow-transfer {};  允許向哪些主機做區域傳送;默認為向所有主機;應該配置僅允許從服務器;

allow-transfer { 192.168.150.132; };

二、主服務器上還需要在正向解析庫文件中添加從服務器的ns解析記錄

[root@node1 ~]# cat /var/named/void.com.zone

$TTL 3600

$ORIGIN void.com.

@    IN    SOA    ns1.void.com.    admin.void.com. (

        20161028     修改完配置文件后序列號手動進行+1操作

        1H

        10M

        3D

        1D )

    IN     NS    ns1

    IN     NS    ns2

ns1    IN    A     192.168.150.128

ns2    IN    A    192.168.150.132

www    IN    A    192.168.150.128

web    IN    CNAME    www

bbs     IN    A    192.168.150.129

配置修改檢查named-checkzone void.com.zone /var/named/void.com.zone

三、在從服務器上只用修改bind的配置文件/etc/named.rfc1912.zones,數據庫解析文件不需要定義(因為要從主服務器上傳送過來)

zone "void.com" IN {

    type slave;

    file "slaves/void.com.zone";

    masters { 192.168.150.128; };

};

注意:時間要同步;

     ntpdate命令;

配置文件語法檢查:named-checkconf

四、重載配置

rndc  reload

systemctl  reload  named.service

日志查看/var/log/messages

從服務器解析

[root@node2 ~]# dig -t A www.void.com @192.168.150.132

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A www.void.com @192.168.150.132

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56277

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:

;www.void.com.            IN    A

;; ANSWER SECTION:

www.void.com.        3600    IN    A    192.168.150.128

;; AUTHORITY SECTION:

void.com.        3600    IN    NS    ns1.void.com.

void.com.        3600    IN    NS    ns2.void.com.

;; ADDITIONAL SECTION:

ns1.void.com.        3600    IN    A    192.168.150.128

ns2.void.com.        3600    IN    A    192.168.150.132

;; Query time: 0 msec

;; SERVER: 192.168.150.132#53(192.168.150.132)

;; WHEN: 三 10月 26 21:11:43 CST 2016

;; MSG SIZE  rcvd: 125

從服務器slaves文件

[root@node2 ~]# ls -l /var/named/slaves/

總用量 4

-rw-r–r– 1 named named 378 10月 26 12:11 void.com.zone

子域授權

授權原理是在本域名服務器上的正向解析庫文件當中定義子域對應的DNS服務器的主機名和其A記錄即可

[root@node1 ~]# cat /var/named/void.com.zone

$TTL 3600

$ORIGIN void.com.

@    IN    SOA    ns1.void.com.    admin.void.com. (

        20161028

        1H

        10M

        3D

        1D )

    IN     NS    ns1

    IN     NS    ns2

ops.void.com     IN     NS     ns1.ops.void.com.     主要添加NS記錄

ns1    IN    A     192.168.150.128

ns2    IN    A    192.168.150.132

www    IN    A    192.168.150.128

web    IN    CNAME    www

bbs     IN    A    192.168.150.129

ns1.ops.void.com     IN     A     192.168.150.129     還有對應的A記錄

另外,子域還需要定義其對應子域的解析庫文件,這樣才能對子域進行解析。配置過程同上面的配置相同。

    子域授權:

        正向解析區域授權子域的方法:

            ops.magedu.com.         IN     NS      ns1.ops.magedu.com.

            ops.magedu.com.         IN     NS      ns2.ops.magedu.com.

            ns1.ops.magedu.com.     IN     A     IP.AD.DR.ESS

            ns2.ops.magedu.com.     IN     A     IP.AD.DR.ESS

        定義轉發:

            注意:被轉發的服務器必須允許為當前服務做遞歸;

            (1) 區域轉發:僅轉發對某特定區域的解析請求;

                zone  "ZONE_NAME"  IN {

                    type  forward;

                    forward  {first|only};

                    forwarders  { SERVER_IP; };

                };

                first:首先轉發;轉發器不響應時,自行去迭代查詢;

                only:只轉發;

            (2) 全局轉發:針對凡本地沒有通過zone定義的區域查詢請求,通通轉給某轉發器;

                options {

                    … …

                    forward  {only|first};

                    forwarders  { SERVER_IP; };

                    .. …

                };

原創文章,作者:N23-蘇州-void,如若轉載,請注明出處:http://www.www58058.com/62772

(0)
N23-蘇州-voidN23-蘇州-void
上一篇 2016-12-05
下一篇 2016-12-05

相關推薦

  • 推薦-MySQL存儲日志并使用Loganalyzer作為前端展示

    MySQL存儲日志并使用Loganalyzer作為前端展示 MySQL存儲日志并使用Loganalyzer作為前端展示 為什么要使用日志 本文目標 實驗拓撲圖 實驗環境 實驗步驟 syslog主機上rsyslog設置 Server1主機上rsyslog設置 Web服務器配置 總結 為什么要使用日志 在生產環境中我們可能需要一個較為完整的日志系統來查看運行中主…

    Linux干貨 2016-03-30
  • TIME_WAIT引起Cannot assign requested address報錯

    1.  問題描述      有時候用redis客戶端(php或者java客戶端)連接Redis服務器,報錯:“Cannot assign requested address。”      原因是客戶端頻繁的連接服務器,由于每次連接都在很短時間內結束,導致很多的TIME_WAIT。所以新的連…

    Linux干貨 2016-03-09
  • 馬哥教育網絡班21期-第九周課程練習

    "1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i login_user=0 declare -i nologin_user=0 whil…

    Linux干貨 2016-09-15
  • 三步走進行IP大揭秘

    跟隨博主三步走進行IP大揭秘! 一、IP簡介 1.ip地址:可以分為合法ip地址(公網ip地址)和私有ip地址, 合法ip地址主要應用于internet上的主機訪問,而私有ip地址應用于局域網中計算機的相互通信。 2.ip地址的表示形式:分為二進制表示和點分十進制表示。 一般使用點分十進制表示,現在通常使用的ip地址長度均為32位,由四個八位域組成,可稱為八…

    2017-09-02
  • 功能強大的Linux文本編輯器之Vim的使用

    VIM編輯器   Vim章節的內容:    使用vi和vim的三種主要模式    移動光標,進入插入模式    改變、刪除、復制文本    撤銷改變    搜索文檔    vim寄存器    可視化和多窗口 &…

    Linux干貨 2016-08-12
  • 20160804作業

    查出分區空間使用率的最大百分比值 查出用戶UID最大值的用戶名、UID及shell類型 查出/tmp的權限,以數字方式顯示 統計當前連接本機的每個遠程主機IP的連接數,并按從大到小排序 利用擴展正則表達式分別表示0-9、10-99、100-199、200-249、250-255        &nb…

    Linux干貨 2016-08-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 15:24

    贊,加密通訊可以自己畫個圖來描述下~~繼續加油~

欧美性久久久久