馬哥2016全新Linux+Python高端營運班第九周作業

來源:互聯網
上載者:User

標籤:馬哥2016全新linux+python高端營運班第九周作業

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

SSL協議基礎:

SSL協議位於TCP/IP協議與各種應用程式層協議之間,本身又分為兩層:

1)SSL記錄協議:建立在可靠傳輸層協議(TCP)之上,為上層協議提供資料封裝、壓縮、加密等準系統。

2)SSL握手協議:在SSL記錄協議之上,用於實際資料轉送前,通訊雙方進行身份認證、協商密碼編譯演算法、交換加密金鑰等。

SSL協議通訊過程:

1)瀏覽器發送一個串連請求給伺服器;伺服器將自己的認證(包含伺服器公開金鑰S_PuKey)、對稱式加密演算法種類及其他相關資訊返回用戶端。

2)用戶端瀏覽器檢查伺服器傳送到CA認證是否由自己信賴的CA中心簽發。若是,執行第4步;否則,給客戶一個警告資訊:詢問是否繼續訪問

3)用戶端瀏覽器比較認證裡的資訊,如認證有效期間、伺服器網域名稱和公開金鑰S_PK,與伺服器傳回的資訊是否一致;如果一致,則瀏覽器完成對伺服器的身份認證

4)伺服器要求用戶端發送用戶端認證(包含用戶端公開金鑰C_PuKey)、支援的對稱式加密方案及其他相關資訊。收到後,伺服器進行相同的身份認證,若沒有通過驗證,則拒絕串連;

5)伺服器根據用戶端瀏覽器發送到密碼種類,選擇一種加密程度最高的方案,用用戶端公開金鑰C_PubKey加密後通知到瀏覽器;

6)用戶端通過私密金鑰C_prKey解密後,得知伺服器選擇的加密方案,並選擇一個通話密鑰Key,接著用伺服器公開金鑰S_PuKey加密後發送伺服器;

7)伺服器接收到的瀏覽器傳送到訊息,用私密金鑰S_PrKey解密,獲得通話密鑰key。

8)接下來的資料轉送都使用該對稱金鑰Key進行加密。

上面所述的是雙向認證SSL協議的具體通訊過程,伺服器和使用者雙方必須都有認證。由此可見,SSL協議是通過非對稱金鑰機制保證雙方身份認證,並完成建立串連,在實際資料通訊

時通過對稱金鑰機制保障資料安全性。


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

(1)設定檔:/etc/pki/tls/openssl.cnf

建立所需要的檔案:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/7B/wKioL1gVUfTzC0f2AAAVmMs7spk253.jpg" title="1.jpg" alt="wKioL1gVUfTzC0f2AAAVmMs7spk253.jpg" />

(2)CA伺服器自簽認證:

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/7B/wKioL1gVUoChAcoJAAAup2wX7P8834.jpg" title="2.jpg" alt="wKioL1gVUoChAcoJAAAup2wX7P8834.jpg" />

-new:產生新認證簽署請求;

-x509:專用於CA產生自簽認證;

-key:產生請求時用到的私密金鑰檔案;

-days n:認證的有效期間限;

-out /PATH/TO/SOMECERTFILE:認證的儲存路徑

(3)發認證:

    1)用戶端產生認證請求:

設定檔

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/7E/wKiom1gVVLDgYdgPAAAXRFKQ6dY157.jpg" title="5.jpg" alt="wKiom1gVVLDgYdgPAAAXRFKQ6dY157.jpg" />

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/89/7B/wKioL1gVVHbw3NrYAAAYUkkZfYA019.jpg" style="float:none;" title="6.jpg" alt="wKioL1gVVHbw3NrYAAAYUkkZfYA019.jpg" />

2)把請求檔案傳輸給CA伺服器:

如沒有安裝SCP工具,可以用我們配置的yum install openssh-clients來安裝即可使用。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/89/7E/wKiom1gVU7mA6nIVAAANEMjvQxc400.jpg" style="float:none;" title="4.jpg" alt="wKiom1gVU7mA6nIVAAANEMjvQxc400.jpg" />

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/89/7B/wKioL1gVVXiDZYrJAAAOwsU48XM423.jpg" title="7.jpg" alt="wKioL1gVVXiDZYrJAAAOwsU48XM423.jpg" />

3)CA簽署認證,並將認證發還給要求者:

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/89/7E/wKiom1gVVqjgWD9bAABDsUuYG0c233.jpg" style="float:none;" title="8.jpg" alt="wKiom1gVVqjgWD9bAABDsUuYG0c233.jpg" />

650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/89/7B/wKioL1gVVqiyH3VaAAAVBGYRpNA985.jpg" style="float:none;" title="9.jpg" alt="wKioL1gVVqiyH3VaAAAVBGYRpNA985.jpg" />


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

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

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

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

先進行安裝:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/89/7E/wKiom1gVW3rwP4xPAAA_MiI-3Eg113.jpg" title="10.jpg" alt="wKiom1gVW3rwP4xPAAA_MiI-3Eg113.jpg" />

 常用的設定檔有:

  /etc/named.conf#主設定檔

  /etc/named.rfc1912.zones#地區設定檔

  /etc/rc.d/init.d/named#啟動指令碼

  /var/named#存放地區資料檔案

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/89/7B/wKioL1gVXPuwyjq3AAA9csowdGg249.jpg" style="float:none;" title="11.jpg" alt="wKioL1gVXPuwyjq3AAA9csowdGg249.jpg" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/7E/wKiom1gVXPvCS68rAAAmWYafDWc558.jpg" style="float:none;" title="12.jpg" alt="wKiom1gVXPvCS68rAAAmWYafDWc558.jpg" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/7B/wKioL1gVXPuCTEwMAAAIjgfY818126.jpg" style="float:none;" title="13.jpg" alt="wKioL1gVXPuCTEwMAAAIjgfY818126.jpg" />

listen-on port 53 { any; };表示監聽本地IP的53連接埠,允許所用地址訪問本地53連接埠

allow-query     { any; };允許所有地址查詢

recursion yes;是否遞迴,如果是no那麼這台DNS伺服器將不會遞迴解析,yes或注釋掉不寫,表是允許,預設是允許的

include "/etc/named.rfc1912.zones";載入地區設定檔

正向和反向地區解析

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/89/7F/wKiom1gVeqHxSGxBAAAaPyzpUBs843.jpg" title="12.jpg" alt="wKiom1gVeqHxSGxBAAAaPyzpUBs843.jpg" />

allow-transfer { 192.168.199.65; };表示只允許192.168.199.65這個主機同步資料,也就是作它的輔助DNS,多個IP用“;”隔開;

編輯正向解析的zone檔案

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/89/7C/wKioL1gVem7Bm2c0AAAr2XyJbFY193.jpg" title="11.jpg" alt="wKioL1gVem7Bm2c0AAAr2XyJbFY193.jpg" />

編輯反向解析的zone檔案

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/89/7C/wKioL1gVekuhhcryAAAqB3wpu_s857.jpg" title="10.jpg" alt="wKioL1gVekuhhcryAAAqB3wpu_s857.jpg" />

啟動服務:

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/89/7C/wKioL1gVaVLzZmAXAAAIQcYx8ag279.jpg" title="19.jpg" alt="wKioL1gVaVLzZmAXAAAIQcYx8ag279.jpg" />

正向解析:

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/7F/wKiom1gVexGAXaDmAABBRm2qgnQ266.jpg" style="float:none;" title="13.jpg" alt="wKiom1gVexGAXaDmAABBRm2qgnQ266.jpg" />

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/7C/wKioL1gVexHi_1MWAAAZR4kqM7s179.jpg" style="float:none;" title="14.jpg" alt="wKioL1gVexHi_1MWAAAZR4kqM7s179.jpg" />650) this.width=650;" src="http://s4.51cto.com/wyfs02/M00/89/7F/wKiom1gVezjDYO4pAAAZR4kqM7s374.jpg" title="14.jpg" alt="wKiom1gVezjDYO4pAAAZR4kqM7s374.jpg" />

反向解析:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/89/7C/wKioL1gVe4qTlCRNAABDi-r_NvE192.jpg" style="float:none;" title="15.jpg" alt="wKioL1gVe4qTlCRNAABDi-r_NvE192.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/89/7F/wKiom1gVe4rAqm7mAAAZSNoJ5wE643.jpg" style="float:none;" title="16.jpg" alt="wKiom1gVe4rAqm7mAAAZSNoJ5wE643.jpg" />

配置主從同步:

# vim /etc/named.rfc1912.zones 

在末尾添加

zone "magedu.com" IN {

type slave;

masters { 192.168.1.65; };

file "slaves/magedu.com.zone";

allow-transfer { none; };

};


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

type slave;

masters { 192.168.1.65; };

file "slaves/1.168.192.zone";

allow-transfer { none; };

};

批定type類型為slave,並指定主伺服器為192.168.1.65

]# service named start

服務啟動後,會在/var/named/slaves/自動添加magedu.com.zone和199.168.192.zone檔案

]# ll /var/named/slaves/ 

子域授權:

新增一台IP為192.168.1.61的伺服器為子域

在父域的地區檔案中添加NS和A記錄

]# vim /var/named/magedu.com.zone

添加

cdn     IN      NS      ns1.cdn.magedu.com.

ns1.cdn IN      A       192.168.1.61

[[email protected] ~]# yum -y install bind

[[email protected] ~]# scp 192.168.1.64:/etc/named.conf /etc/

[[email protected] ~]# vim /etc/named.rfc1912.zones

在末尾添加

zone "cdn.magedu.com" IN {

type master;

file "cdn.magedu.com.zone";

};


zone "magedu.com" IN {

type forward;

forward only;

forwarders { 192.168.1.65; };

};

[[email protected] ~]# vim /var/named/cdn.magedu.com.zone

$TTL    86400

@       IN      SOA     ns.cdn.magedu.com.  admin.cdn.magedu.com. (

                                                                                                            2016092201

                                                                                                            2H

                                                                                                            5M

                                                                                                            7D

                                                                                                            12H )

            IN      NS      ns.cdn.magedu.com.

            IN      MX 10   mx1.cdn.magedu.com.

            IN     A    192.168.1.61

ns        IN       A       192.168.1.61

mx1     IN       A       192.168.1.61

www     IN      A       192.168.1.61

測試

1)子域測試

[[email protected] ~]# dig @192.168.1.61  www.cdn.magedu.com

2)父域測試

[[email protected] ~]# dig -t www.magedu.com


4、請描述一次完整的http請求處理過程;

一次完整的HTTP請求過程從TCP三向交握建立串連成功後開始,用戶端按照指定的格式開始向服務端發送HTTP請求,服務端接收請求後,解析HTTP請求,處理完商務邏輯,最後返回一個HTTP的響應給用戶端,HTTP的響應內容同樣有標準的格式.


5、httpd所支援的處理模型有哪些,他們的分別使用於哪些環境。

prefork:多進程模型,每個進程響應一個請求;

一個主進程:負責產生n個子進程,子進程也稱為背景工作處理序,每個子進程處理一個使用者請求;即便沒有使用者請求,也會預先產生多個空閑進程,隨時等待請求到達;最大不會超過1024個;最小空閑多少,並發響應多少
prefork:最大不能超過1024個並發請求,高效能web伺服器,這個差了一個數量級。10倍 c10k,這種模式很穩定,一個進程崩潰,不會影響到其他進程。---->問的性要求高的
worker:多執行緒模式,每個線程響應一個請求;一個主進程:產生多個子進程,每個子進程負責生個多個線程,每個線程響應一個請求;
m進程,n線程:m*n----->並發量稍微高點的
event:事件驅動模型,每個線程響應n個請求;一個主進程:產生m個子進程,每個進程直接n個請求;
m*n----->高並發--->


6、建立httpd伺服器(基於編譯的方式進行),要求:

提供兩個基於名稱的虛擬機器主機:

(a)www1.stuX.com,分頁檔目錄為/web/vhosts/www1;錯誤記錄檔為/var/log/httpd/www1.err,訪問日誌為/var/log/httpd/www1.access;

(b)www2.stuX.com,分頁檔目錄為/web/vhosts/www2;錯誤記錄檔為/var/log/httpd/www2.err,訪問日誌為/var/log/httpd/www2.access;

(c)為兩個虛擬機器主機建立各自的首頁檔案index.html,內容分別為其對應的主機名稱;

(d)通過www1.stuX.com/server-status輸出httpd工作狀態相關資訊,且只允許提供帳號密碼才能訪問(status:status);


本文出自 “11822904” 部落格,請務必保留此出處http://11832904.blog.51cto.com/11822904/1867354

馬哥2016全新Linux+Python高端營運班第九周作業

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.