DNS和openssl

本文主要講述ssl以及使用openssl創建CA,DNS服務器的搭建

 一.數據在互聯網上傳輸存在各種各樣的分險,數據在傳輸的過程中可能會被篡改,被截取等,于是就不得不解決這些安全問題,為了解決這些問題,ssl協議也就誕生了,ssl(Secure Socket Layer),首先,它是一中協議,專用于對數據進行加密與解密,是一個應用層協議,該協議提供了兩個基本服務:鑒別與保密。而Linux中的openssl則是該協議的開源實現,在套件中包括許多加密與解密的算法,使得用戶能夠利用該套件來實現一些安全機制,其中加密與解密算法就是其核心。

1.常見的加密與解密算法

(1)對稱加密:加密與解密使用同一個密鑰,常見的算法有:

DES,3DES,AES,Blowfish,Twofish,RC6,CAST5

對稱加密的特點:

加密與解密使用同一個密鑰,一旦密鑰被竊取,數據的安全性就無從得到保障
把數據分塊,然后逐個進行加密

對稱加密的缺點:

每一份數據的傳輸都需要一個密鑰,會導致密鑰過多,密鑰的分發就會變得十分的困難

(2)非對稱加密:加密與解密使用不同的密鑰,使用者需要實現生成兩密鑰,一個是公開的,叫做公鑰,另一個是不公開的,叫做私鑰,使用私鑰加密的數據中能用公鑰解密,密鑰成對出現使用。常見的算法有:

RSA ,DSA

非對稱加密的特點:

加密與解密使用不同的密鑰

非對稱加密的缺點:

密鑰過長,加密與解密的過程消耗資源過大

(3)單向散列加密:只能用于加密,用于提取數據的特征碼,常見的算法有:

MD5,SHA1,SHA256,SHA384,SHA512,CRC32

單向散列加密的特點:

定長輸出:不管加密多大的數據,其特征碼的長度是固定的位數
不可逆:得到特征碼無法還原其原始數據
雪崩效應:數據的微小改變,也會對加密結果帶來巨大的影響

單向散列加密的缺點:

只能用于加密。無法用于解密

2.密鑰交換

從加密與解密的方式中可以看出,要完成加密與解密的過程,依賴于密鑰交換,而密鑰交換的方式有兩種

(1)公鑰加密:將公鑰加密后發送給通信的另一方,但是如果一旦被別人截獲了,那后續的整個通信過程全都會癱瘓,因此這種方式不常用。

(2)DH:通信的雙方共有一些參數,共同協定一個加密算法,通過雙方所擁有的參數的交換,再加上協商的算法就能得到密鑰。

3.通過以上幾種加密方式,為了實現通信雙方的身份認證,信息完整性的保證,就需要將幾種加密方式結合起來,用非對稱加密方式來實現身份認證,使用單向散列加密來實現數據完整性的檢驗,于是一次完整的通信過程為:

發送方:

(1)先提取數據的特征碼,獲取源數據的hash值
(2)使用私鑰加密特征碼
(3)生成臨時密鑰,并使用此臨時密鑰加密數據
(4)使用對方的公鑰加密臨時密鑰并附在數據的后方

接受方:

(1)使用私鑰解密,獲得密鑰
(2)使用臨時密鑰獲得數據的特征碼
(3)使用發送方的公鑰解密特征碼
(4使用單向散列加密數據與解密來的數據做比較

通信過程.png

5.數字證書

從上述的過程中可以看出,通信過程中依賴于對方的公鑰,因此需要一個保證公鑰安全的方法,而實現這種方法的策略就是CA,CA就是安全證書的頒發機構,所以CA的實現過程為:

在證書簽署端:

(1)創建私鑰文件:(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

(2)創建自簽證書

    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem 

(3)創建輔助文件:touch /etc/pki/CA/index.txt ; echo 01 > /etc/pki/CA/serial

在需要申請證書端:

(1)創建私鑰文件:(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

(2)創建證書簽署請求: 

openssl req -new -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem

最后將簽署請求發送到簽署端,并由簽署端來簽署證書:

openssl ca in /path/to/cacertfile -out /path/to/crtfile -days 360

注意:創建自簽證書和創建證書簽署請求中的信息要一致


二.DNS

DNS:Domain Name System,是一個應用層協議,其作用是實現從FQDN(Full Qualified Domain Name)到IP地址的轉換,DNS系統也是一個分布式的數據庫系統。

1.DNS是從上到小分層的組織形式,從根開始,然后是頂級域,二級域等等,組織方式如下圖:

dns.png

2.一次查詢請求的過程

(1)客戶端發出請求
(2)檢查本地hosts文件中是否有對應的主機名和ip的記錄,若有則根據此文件中的記錄的ip進行通信
(3)若沒有,則向DNS服務器發出請求,服務器先查詢本地緩存
(4)若緩存沒命中,則DNS服務器向互聯網上的服務器發出查詢

3.DNS的查詢方式:

遞歸查詢:只發出一次請求,當收到應答時就為最終答案
迭代查詢:需要發出多次請求,每發出一次請求就能收到一個中間答案,最終的答案依賴于次中間答案

4.DNS服務器類型:

負責解析域:主DNS服務器(負責解析收到的查詢請求)和從DNS服務器
不負責解析域:緩存名稱服務器

5.查詢答案:

肯定答案:DNS服務器中有查詢請求中的條目
否定答案:DNS服務器中沒有查詢請求對應的條目
權威答案:由負責解析此域的主DNS直接返回的答案
非權威答案:有緩存服務器返回的答案

6.主-輔DNS服務器:

主DNS服務器:維護所負責解析的域數據庫的那臺服務器;讀寫操作均可進行;
從DNS服務器:從主DNS服務器那里或其它的從DNS服務器那里“復制”一份解析庫;但只能進行讀操作;

從DNS服務器從主DNS復制數據的實施:

序列號:serial,當此值發生改變時就說明主DNS服務器的內容發生改變
刷新時間間隔:refresh,從服務器多長時間向主DNS服務器同步數據
重試時間間隔:retry,當無法從主服務器同步數據后的重試時間
過期時長:expire,當從服務器一直無法向主服務器同步數據后,放棄重試的時間

7.區域傳送:

全量傳送:axfr, 傳送整個數據庫
增量傳送:ixfr, 僅傳送改變的數據

8.區域數據庫:記錄了次服務器負責解析的域的信息

資源記錄類型有:

SOA(Start Of Authority):起始授權記錄,一個區域只能有一條該記錄
NS(Name Service):域名服務記錄,一個區域解析庫可以有多個NS記錄;其中一個為主的;
A(Address):記錄了FQDN到IP地址的對應條目
AAAA:地址記錄, FQDN到IPv6對應的條目;
CNAME(Canonical Name):別名記錄;
PTR(Pointer):實現IP到FQDN的記錄
MX(Mail eXchanger):郵件交換器,用0-99表示優先級,數字越小優先級越高;

9.在CentOS中搭建DNS服務器

(1)安裝bind及其工具包

yum -y install bind bind-utils bind-libs 

(2)配置一個正向域為test.com

a.編輯主配置文件:

配置文件.png

b.在/var/named/下創建解析庫文件

正向解析庫文件為:vim /var/named/magedu.com

final-z.png

c.在/var/named下面創建反向解析庫文件

final-f.png

d.檢查配置文件的語法,并重載服,即可完成正向和反向區域的解析。測試結果為

result.png


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

(0)
zhangbaozhangbao
上一篇 2016-12-11
下一篇 2016-12-11

相關推薦

  • 馬哥教育網絡班20期+第3周課程練習

     1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 法一: who | cut -d ‘ ‘ -f 1 | tail -u 法二: who | cut -d ’’-f&…

    Linux干貨 2016-06-26
  • 文本編輯器sed和vim的用法集錦

    8月8號,主要學習內容為: 一、文本處理工具sed 二、vim編輯器 一、文本處理工具sed 1)簡介    sed是一種流編輯器,它一次處理一行內容。處理時,把 當前處理的行存儲在臨時緩沖區中,稱為“模式空間”( pattern space),接著用sed命令處理緩沖區中的內容 ,處理完成后,把緩沖區的內容送往屏幕。接著處理下…

    Linux干貨 2016-08-12
  • Linux發展史

    Linux系統的發展史           內容摘要:            Linux操作系統的誕生       &n…

    Linux干貨 2016-10-18
  • grep命令及正則表達式

    grep命令和正則表達式 grep基本概念 grep:global search regular expression and print out the line. 作用:文本過濾器,用于文本搜索,用指定“模式”逐行匹配。 模式:由正則表達式字符及文本字符所編寫的過濾條件 正則表達式:由一類特殊字符和文本字符所編寫的模式,其有些字符不表示字符字面意義,而表…

    Linux干貨 2016-11-05
  • Nginx代理MogileFS并實現負載均衡和高可用

    Nginx代理MogileFS并實現負載均衡和高可用 MogileFS nginx 負載均衡 前言 實驗拓撲 實驗環境 實驗步驟 配置MogileFS 配置Nginx 總結 前言 上篇文章我們了解分布式系統和MogileFS的基本使用, 但是那樣的架構是有問題的, 本篇文章我們來了解一下如何使用nginx-mogilefs-module-…

    大數據運維 2016-05-05
  • N25-第二周博客作業

    第二周博客作業 1.Linux上的文件管理類命令都有哪些,其常用的使用方法和演示 2.bash的工作特性之命令執行狀態返回值和命令行展開所涉及內容演示及其實例 3.請使用命令行展開功能完成以下練習;    (1)創建/tmp的目錄下a_c,a_d,b_c,b_d     (2) 創建/tmp/mylinux目錄下的 4…

    Linux干貨 2016-12-11

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-16 14:47

    清晰易懂~閱讀起來很順。能再深入一下會更好。
    繼續加油~

欧美性久久久久