N25-第11周博客作業

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

  • 第一步:他們需要實現協商好對稱加密算法,單向加密算法,公鑰加密算法,交換公鑰等。
  • 第二步:B用戶想要將數據傳給A,首先需要使用單向加密算法取出數據的特征碼,并用自己的私鑰對這段特征碼進行加密(數字簽名),B用戶生成臨時對稱密鑰,并用對稱密鑰加密整段數據,B用戶使用
    A用戶的公鑰加密一次性對稱密鑰,附加在整段數據后面,并將整段數據發送給A用戶。
  • 第三步:A用戶使用自己的私鑰來解密被加密的對稱密鑰,用對稱密鑰解密整段加密的內容,用用戶B的公鑰解密數字簽名,如果解得開,數據來源得到驗證,獲取特征碼與用戶A使用相同的單向加密算法獲取整段數據的特征碼進行比較,如果相同,數據的完整性得到保證。

加密通信過程.png

A-->B加密通信過程:
    1.A生成數據;
    2.A先使用單向加密算法計算出這段數據的特征碼;
    3.A使用自己的私鑰加密加密這段特征碼并附加在數據后面;
    4.A生成一個臨時的對稱秘鑰,并使用此臨時秘鑰(對稱加密算法)加密整段數據;
    5.A獲取B的公鑰,然后使用B的公鑰加密之前的數據,然后發送給A;

    6.B收到A發來的數據;
    7.B使用自己的私鑰解密這段數據,得到A的對稱秘鑰;(秘鑰交換)
    8.B使用此對稱秘鑰解密數據,得到加密后的數據內容;(數據加密)
    9.B使用A的公鑰解密加密之前得到的數據(數據+特征碼+單向加密算法),實現身份驗證;
    10.B使用同樣的單向加密算法計算數據的特征碼,然后進行比較,從而實現數據完整性校驗;

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

(1)生成私鑰
        [root@director3 ~]# yum -y install openssl
        [root@director3 CA]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

(2)生成自簽證書

[root@director3 CA]# openssl req -new -x509 -key /etc/pki/CA/private/ca-key.pem \
        -out /etc/pki/CA/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) []:shanghai
        Locality Name (eg, city) [Default City]:shanghai
        Organization Name (eg, company) [Default Company Ltd]:DevOps
        Organizational Unit Name (eg, section) []:OPS
        Common Name (eg, your name or your server's hostname) []:director3 
        Email Address []:

(3)為CA創建所需要的目錄或文件
mkdir /etc/pki/CA/{certs,crl,newcerts}
touch /etc/pki/CA/{serial,index.txt}
echo 01> /etc/pki/CA/serial
要用到證書進行安全通信的服務器,需要向ca服務器請求簽署證書
步驟:
(1)用到的證書餓主機生成證書簽署請求
(umask 077;openssl genrsa -out httpd.key 2048)
(2)生成證書簽署請求
openssl req -new -key httpd.key -out httpd.csr -days 365
(3)將請求通過可靠方式發送給ca證書
(4)簽署證書
openssl ca -in httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
(5)查看證書中的信息
openssl x509 -in httpd.crt -noout -serial -subject

    3)為CA提供所需的目錄及文件
        [root@director3 CA]# mkdir /etc/pki/CA/{certs,crl,newcerts}
        [root@director3 CA]# touch /etc/pki/CA/{serial,index.txt}
        [root@director3 CA]# echo 01 > /etc/pki/CA/serial
        
    為客戶端頒發證書過程(以apache為例):
    1)生成一個私鑰
        [root@apache client]# (umask 077;openssl genrsa -out /tmp/client/http.key 4096)
        
    2)生成一個證書簽署請求
        [root@apache client]# openssl req -new -key /tmp/client/http.key -out /tmp/client/http.csr -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) []:shanghai
        Locality Name (eg, city) [Default City]:shanghai
        Organization Name (eg, company) [Default Company Ltd]:Test
        Organizational Unit Name (eg, section) []:Test1
        Common Name (eg, your name or your server's hostname) []:apache.example.com
        Email Address []:
        Please enter the following 'extra' attributes
        to be sent with your certificate request
        A challenge password []:
        An optional company name []:
        
    3)將此客戶端的證書請求通過可靠方式發送到CA上,讓CA簽署;
        [root@apache client]# scp /tmp/client/http.csr director3:~
    
    4)在CA上簽署證書請求
        [root@director3 CA]# openssl ca -in /root/http.csr -out /etc/pki/CA/certs/http.csr -days 365
        Using configuration from /etc/pki/tls/openssl.cnf
        Check that the request matches the signature
        Signature ok
        The organizationName field needed to be the same in the
        CA certificate (DevOPS) and the request (Test)
        
    5)將簽署的證書傳給客戶端

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

(1)用戶發起dns解析請求,如果是此dns負責的解析列表或者有此域名的解析緩存,dns就返回給用戶域名的解析ip。

(2)若果此dns不知道此域名的解析,則此dns會幫用戶去遞歸請求,去請求根服務器,根服務器也不知道,而是返回他二級域的IP。

(3)此dns會去請求二級域,二級域返回他下面的三級域的地址。

(4)依次迭代下去,最終找到請求域名的dns解析IP,返回給用戶。

(5)請求的dns會緩存下這個域名的解析,而后返回給用戶。

dns服務器的類型:

負責解析至少一個域:
    主名稱服務器
    輔助名稱服務器
不負責解析:
    緩存名稱服務器

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

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

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

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

(1)
    安裝bind軟件:
        [root@ns1 ~]# yum -y install bind bind-utils
        
    編輯/etc/named.conf配置文件,修改添加如下幾項:
        listen-on port 53 { any; };
        allow-query     { 10.0.0.0/24; };
        dnssec-enable no;
        dnssec-validation no;
        include "/etc/named.magedu.com" ;
        
    創建及修改magedu.com域配置文件:
        [root@ns1 ~]# (umask 027;touch /etc/named.magedu.com)
        [root@ns1 ~]# chgrp named /etc/named.magedu.com
        [root@ns1 ~]# cat /etc/named.magedu.com 
            zone "magedu.com" IN {
              type  master;
              file  "db.magedu.com";
            };
            zone "0.0.10.in-addr.arpa" IN {
              type  master;
              file  "db.reverse";
            };
            
    創建域正向及反向解析文件:
    [root@ns1 ~]# touch /var/named/{db.magedu.com,db.reverse}
    [root@ns1 ~]# chgrp -R named /var/named/
    正向解析文件:
        [root@ns1 ~]# cat /var/named/db.magedu.com 
        $ORIGIN magedu.com.
        $TTL 1D
        @IN SOAns1.magedu.com. admin.magedu.com. (
                  2016110401
                  6H
                  1H
                  1W
                  1D)
            NS  ns1
              MX  10 mail
        ns1  A    10.0.0.5
        www   A     10.0.0.3
        ftp   A    10.0.0.2
        mail  A     10.0.0.6
        php   CNAME www
        cdn     NS    ns.cdn
        ns.cdn  A     10.0.0.4
        
    反向解析文件:
        [root@ns1 ~]# cat /var/named/db.reverse 
        $TTL 1D
        @IN SOAns1.magedu.com. admin.magedu.com. (
        2016110410; serial
        1D; refresh
        1H; retry
        1W; expire
        3H ); minimum
          NS  ns1.magedu.com.
              MX  10  mail.magedu.com.
        5     PTR     ns1.magedu.com.
        4     PTR     ns.cdn.magedu.com.
        2     PTR     ftp.magedu.com.
        3     PTR     www.magedu.com.
        3     PTR     php.magedu.com.
        6     PTR     mail.magedu.com.
        
    檢查配置:
        [root@ns1 ~]# named-checkconf
        [root@ns1 ~]# named-checkzone magedu.com /var/named/db.magedu.com
        [root@ns1 ~]# named-checkzone 0.0.10.in-addr.arpa db.reverse
        
    啟動服務:
        [root@ns1 ~]# systemctl start named.service
    測試:
        正向解析:
            [root@ns1 ~]# nslookup -q=NS magedu.com 10.0.0.5
            Server:10.0.0.5
            Address:10.0.0.5#53
            magedu.comnameserver = ns1.magedu.com.
            [root@ns1 ~]# nslookup -q=A www.magedu.com 10.0.0.5
            Server:10.0.0.5
            Address:10.0.0.5#53
            Name:www.magedu.com
            Address: 10.0.0.3
            
    反向解析:
        [root@ns1 ~]# nslookup -q=PTR 10.0.0.3 10.0.0.5
        Server:10.0.0.5
        Address:10.0.0.5#53
        3.0.0.10.in-addr.arpaname = www.magedu.com.
        3.0.0.10.in-addr.arpaname = php.magedu.com.
        
(2)
    修改(1)中db.magedu.com文件,添加如下記錄:
        cdn     NS    ns.cdn
        ns.cdn  A     10.0.0.4

    重啟服務:
        [root@ns1 ~]# systemctl restart named.service

    在ns.cdn.magedu.com主機上安裝bind,bind-utils;
    修改配置文件/etc/named.conf;
    添加cdn.magedu.com域的配置文件及解析文件;如下:
        配置文件:
            [root@ns ~]# cat /etc/named.cdn.magedu.com 
            zone "cdn.magedu.com" IN {
              type  master;
              file  "db.cdn.magedu.com";
            };
            
        解析文件:
            [root@ns ~]# cat /var/named/db.cdn.magedu.com 
            $ORIGIN cdn.magedu.com.
            $TTL 1D
            @ IN SOA  ns.cdn.magedu.com. admin.cdn.magedu.com. (
                      2016110433
                      6H
                      1H
                      1W
                      1D) 
                    NS    ns
                    MX 10 mail
            ns      A     10.0.0.4
            www      A     10.0.0.8
            
    檢查配置及啟動服務:
        [root@ns ~]# systemctl start named.service
        
    測試:
        在ns.cdn.magedu.com主機上測試:
            [root@ns ~]# dig -t A www.cdn.magedu.com @10.0.0.4
            ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A www.cdn.magedu.com @10.0.0.4
            ;; global options: +cmd
            ;; Got answer:
            ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21374
            ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
            ;; OPT PSEUDOSECTION:
            ; EDNS: version: 0, flags:; udp: 4096
            ;; QUESTION SECTION:
            ;www.cdn.magedu.com.INA
            ;; ANSWER SECTION:
            www.cdn.magedu.com.86400INA10.0.0.8
            ;; AUTHORITY SECTION:
            cdn.magedu.com.86400INNSns.cdn.magedu.com.
            ;; ADDITIONAL SECTION:
            ns.cdn.magedu.com.86400INA10.0.0.4
            ;; Query time: 1 msec
            ;; SERVER: 10.0.0.4#53(10.0.0.4)
            ;; WHEN: Fri Oct 21 09:35:34 CST 2016
            ;; MSG SIZE  rcvd: 96
            
        在ns1.magedu.com主機上測試:
            [root@ns1 ~]# dig -t NS cdn.magedu.com @10.0.0.5
            ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t NS cdn.magedu.com @10.0.0.5
            ;; global options: +cmd
            ;; Got answer:
            ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18288
            ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
            ;; OPT PSEUDOSECTION:
            ; EDNS: version: 0, flags:; udp: 4096
            ;; QUESTION SECTION:
            ;cdn.magedu.com.INNS
            ;; ANSWER SECTION:
            cdn.magedu.com.86400INNSns.cdn.magedu.com.
            ;; ADDITIONAL SECTION:
            ns.cdn.magedu.com.86400INA10.0.0.4
            ;; Query time: 2 msec
            ;; SERVER: 10.0.0.5#53(10.0.0.5)
            ;; WHEN: Fri Nov 04 16:03:09 CST 2016
            ;; MSG SIZE  rcvd: 76
            
            [root@ns1 ~]# dig -t A www.cdn.magedu.com @10.0.0.5
            ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A www.cdn.magedu.com @10.0.0.5
            ;; global options: +cmd
            ;; Got answer:
            ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35925
            ;; 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.INA
            ;; ANSWER SECTION:
            www.cdn.magedu.com.86400INA10.0.0.8
            ;; AUTHORITY SECTION:
            cdn.magedu.com.86376INNSns.cdn.magedu.com.
            ;; ADDITIONAL SECTION:
            ns.cdn.magedu.com.86376INA10.0.0.4
            ;; Query time: 2 msec
            ;; SERVER: 10.0.0.5#53(10.0.0.5)
            ;; WHEN: Fri Nov 04 16:03:33 CST 2016
            ;; MSG SIZE  rcvd: 96

(3)
    為了保證DNS服務的高可用性,可以采取主從架構,一主多從;或對DNS服務做HA;
    本例采取一主一從架構:
        ns1.magedu.com 主dns服務器
        ns2.magedu.com 輔助dns服務器
        備注:初始化(2)中的子域

    首先時間需要保持同步
    分別在兩臺主機上安裝chrony,啟動chronyd服務;
    修改ns1主機上的正向解析記錄,添加:
             NS    ns2
        ns2  A     10.0.0.4
        
    在ns2上安裝bind,bind9;
    修改配置文件基本類似ns1:
    添加配置文件:
        [root@ns2 ~]# cat /etc/named.slave.magedu.com 
        zone "magedu.com" IN {
            type slave;
            file "slaves/magedu.com.zone";
            masters { 10.0.0.5; };
        };
        
    檢查配置文件并啟動服務:
        [root@ns2 ~]# systemctl start named.service
        
    查看slaves目錄下是否生成域解析文件:
        [root@ns2 ~]# ll /var/named/slaves/
        total 4
        -rw-r--r-- 1 named named 540 Nov  4 16:22 magedu.com.zone
        
    此時說明dns主從復制成功;也可以在dns slave主機上測試解析:
        [root@ns2 ~]# dig -t A www.magedu.com @10.0.0.4
        ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> -t A www.magedu.com @10.0.0.4
        ;; global options: +cmd
        ;; Got answer:
        ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30244
        ;; 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.INA
        ;; ANSWER SECTION:
        www.magedu.com.86400INA10.0.0.3
        ;; AUTHORITY SECTION:
        magedu.com.86400INNSns1.magedu.com.
        ;; ADDITIONAL SECTION:
        ns1.magedu.com.86400INA10.0.0.5
        ;; Query time: 0 msec
        ;; SERVER: 10.0.0.4#53(10.0.0.4)
        ;; WHEN: Fri Nov 04 16:24:41 CST 2016
        ;; MSG SIZE  rcvd: 93


原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/76605

(0)
oranixoranix
上一篇 2017-05-21 18:46
下一篇 2017-05-21 20:39

相關推薦

  • lamp架構實現論壇架構及壓力測試

    練習:分別使用CentOS 7和CentOS 6實現以下任務 (1) 配置四個基于名稱的虛擬主機;   (a) discuzX   (b) wordpress   (c) drupal   (d) phpMyAdmin,此虛擬主機僅支持https協議; (2) 對phpMyAdmin首頁做壓力測試   分別給…

    Linux干貨 2016-10-17
  • LINUX 下正確關機方法

    Linux下正確關機方法 Table of Contents 1關機前 1.1觀察系統使用 1.2通知在線使用者關機 2關機 2.1 sy 2.2 shutdo 2.3 rebo 2.4 ha 2.5 powero 3執行 3.1等級 3.2等級 1關機前準備 1.1觀察系統使用狀態 誰在線:who 聯網狀態:netstat -a 后臺執行的程序:ps -a…

    Linux干貨 2017-08-21
  • 用戶及權限管理

    新建用戶用到的相關文件/etc/default/useradd /etc/login.defs /etc/skel/* 批量創建用戶1.創建用戶列表user.txt(文件格式同/etc/passwd) 2.newusers user.txt 3.創建密碼文件passwd.txt(格式  用戶名:密碼) 4.cat passwd.txt | chpa…

    Linux干貨 2016-08-11
  • SHELL網絡爬蟲實例剖析

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1552472        前天簡單分享了用 shell 寫網絡爬蟲的一些見解,今天特地把代碼發出來與51博…

    Linux干貨 2016-08-15
  • 千萬不要把 bool 設計成函數參數

    我們有很多Coding Style 或 代碼規范。但這一條可能會經常被我們所遺忘,就是我們經常會在函數的參數里使用bool參數,這會大大地降低代碼的可讀性。不信?我們先來看看下面的代碼。 當你讀到下面的代碼,你會覺得這個代碼是什么意思? widget->repaint(false); 是不要repaint嗎?還是別的什么意思?看了文檔后,我們才知道這個…

    Linux干貨 2016-07-10
  • 以后的運維是linux系統的天下

       搞IT行業差不多10年了,也接觸過網絡設備的配置,比如防火墻和交換機的管理,也管理過虛擬化平臺,比如vmware的虛擬化,還懂一些簡單的oracle數據庫的安裝,存儲、光釬交換機的配置等,因為曾經在傳統企業做過8年多的網管,當時的企業規模也是比較大,也接觸了很多設備,但就是linux接觸的不是很多,后來去一家公司做系統集成,也是什么…

    Linux干貨 2016-10-19
欧美性久久久久