1. 程式人生 > >加密演算法原理及DNS服務原理

加密演算法原理及DNS服務原理

1、簡述常見加密演算法及常見加密演算法原理,最好使用圖例解說
在安全領域,利用金鑰加密演算法來對通訊的過程進行加密是一種常見的安全手段。利用該手段能夠保障資料安全通訊的三個目標

    1、資料的保密性,防止使用者的資料被竊取或洩露;
    2、保證資料的完整性,防止使用者傳輸的資料被篡改;
    3、通訊雙方的身份確認,確保資料來源與合法的使用者;

而常見的金鑰加密演算法型別大體可以分為三類:對稱加密、非對稱加密、單向加密。

對稱加密
加密演算法原理及DNS服務原理

    對稱加密演算法採用單金鑰加密,在通訊過程中,資料傳送方將原始資料分割成固定大小的塊,經過金鑰和加密演算法逐個加密後,傳送給接收方;接收方收到加密後的報文後,結合金鑰和解密演算法解密組合後得出原始資料。由於加解密演算法是公開的,因此在這過程中,金鑰的安全傳遞就成為了至關重要的事了。而金鑰通常來說是通過雙方協商,以物理的方式傳遞給對方,或者利用第三方平臺傳遞給對方,一旦這過程出現了金鑰洩露,不懷好意的人就能結合相應的演算法攔截解密出其加密傳輸的內容。
    對稱加密演算法擁有著演算法公開、計算量小、加密速度和效率高得特定,但是也有著金鑰單一、金鑰管理困難等缺點。
    常見的對稱加密演算法有:
    DES:分組式加密演算法,以64位為分組對資料加密,加解密使用同一個演算法。
    3DES:三重資料加密演算法,對每個資料塊應用三次DES加密演算法。
    AES:高階加密標準演算法,是美國聯邦政府採用的一種區塊加密標準,用於替代原先
    DES,目前已被廣泛應用。
    Blowfish:Blowfish演算法是一個64位分組及可變金鑰長度的對稱金鑰分組密碼演算法,可用來加密64位元長度的字串。

非對稱加密
加密演算法原理及DNS服務原理

    非對稱加密演算法採用公鑰和私鑰兩種不同的密碼來進行加解密。公鑰和私鑰是成對存在,公鑰是從私鑰中提取產生公開給所有人的,如果使用公鑰對資料進行加密,那麼只有對應的私鑰才能解密,反之亦然。
    非對稱加密演算法具有安全性高、演算法強度負複雜的優點,其缺點為加解密耗時長、速度慢,只適合對少量資料進行加密,其常見演算法包括:
    RSA:RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰,可用於加密,也能用於簽名。
    DSA:數字簽名演算法,僅能用於簽名,不能用於加解密。
    DSS:數字簽名標準,技能用於簽名,也可以用於加解密。
    ELGamal:利用離散對數的原理對資料進行加解密或資料簽名,其速度是最慢的。

單向加密
加密演算法原理及DNS服務原理

    這種加密嚴格意思上算不上加密,也常被稱為雜湊運算,用於對資料生成獨一無二的校驗碼,對於校驗碼叫法很多(如特徵碼,指紋資訊)這類加密有個特點,就是具有雪崩效應,對任何資料,就算你改動一個標點符號,改動前和改動後使用演算法計算出來的結果是翻天覆地的變化。但只要資料沒發生改動,使用單向加密演算法計算出來的值是不會發生改變的,所以使用單向加密能很好的解決資料完整性的問題。
    常見的演算法包括:MD5、sha1、sha224等等,其常見用途包括:數字摘要、數字簽名等。

2、搭建apache或者nginx並使用自簽證書實現https訪問,自簽名證書的域名自擬
加密演算法原理及DNS服務原理
加密演算法原理及DNS服務原理
加密演算法原理及DNS服務原理
加密演算法原理及DNS服務原理


3、

簡述DNS伺服器原理,並搭建主-輔伺服器

  • DNS是什麼

            DNS(Domain Name Service的縮寫)的作用就是根據域名查出IP地址。IP地址是由32位二進位制數字組成,人們很難記住這些IP,相反,大家願意使用比較容易記憶的主機名字。而電腦在處理IP資料報文時,是使用IP地址的,因為它是固定長度。
            DNS查詢的型別對於客戶端來說是遞迴查詢,對於DNS伺服器來說,絕大多數是迭代查詢的。DNS名稱解析中,從名稱到IP的查詢叫做正向解析,而從IP到名稱的查詢叫做反向解析。如果DNS伺服器至少解析了一個或一個以上的域叫做DNS主伺服器或者DNS輔助伺服器,如果不負責任何解析叫做DNS快取伺服器。
  • DNS的域名解析過程
    加密演算法原理及DNS服務原理

    使用者使用瀏覽器輸入網址時域名解析過程:
    客戶訪問時,先查自己的hosts檔案,有則返回
    客戶hosts中沒有就去查自己的快取,有則返回
    客戶快取沒有就去找dns伺服器
    dns伺服器先找根伺服器獲得頂級域伺服器地址
    dns伺服器在找頂級域伺服器去獲得二級域伺服器地址
    dns伺服器從二級域伺服器獲得最終的IP地址
    客戶端從dns伺服器中得到IP地址
    
    DNS區域資料庫檔案:
    資源記錄(resource record 簡稱rr)的型別有以下幾種:
    SOA:起始授權記錄,只能有一個,必須放在第一條
    NS:域名服務記錄,其中一個為主,可以有多個
    A:IPV4地址記錄
    AAAA:IPV6地址記錄
    CNAME:別名記錄
    PTR:反向解析記錄
    MX:郵件交換器
  • 搭建DNS主--輔伺服器
    1)伺服器環境
    主伺服器為CentOS6.5,地址:192.168.2.104
    輔伺服器為CentOS7.4,地址:192.168.2.100
    2)在主伺服器上
#mv /etc/named.conf{,.bak}

#vim /etc/named.conf
options {
directory “/var/named”;
};

zone “.” IN {
type hint;
file “named.ca”;
};

zone “localhost” IN {
type master;
file “named.localhost”;
};

zone “0.0.127.in-addr.arpa” IN {
type master;
file “named.loopback”;
};

zone “magedutext.com” IN {
type master;
file “magedutext.com.zone”;
};

zone “1.168.192.in-addr.arpa” IN {
type master;
file “192.168.2.zone”;
};

#chgrp named /etc/named.conf
#cd /var/named
#vim /var/named/magedutext.com.zone
$TTL 600

IN SOA ns1.magedutext.com. admin.magedutext.com. (
2018012801
1H
5M
2D
6H)
IN NS ns1.magedutext.com.
IN NS ns2.magedutext.com.
IN MX 10 mail
ns1 IN A 192.168.2.104
ns2 IN A 192.168.2.100
mail IN A 192.168.2.100
www IN A 192.168.2.104
www IN A 192.168.2.100

chmod 640 /var/named/magedutext.com.zone
chown root.named /var/named/magedutext.com.zone
named-checkzone “magedutext.com” /var/named/magedutext.com.zone
cp magedutext.com.zone 192.168.2.zone -p
vim 192.168.2.zone

IN SOA ns1.magedutext.com. admin.magedutext.com. (
2018120116
1H
5M
2D
6H)
IN NS ns1.magedutext.com.
IN NS ns2.magedutext.com.
104 IN PTR ns1.magedutext.com.
100 IN PTR ns2.magedutext.com.
104 IN PTR www.magedutext.com.
100 IN PTR mail.magedutext.com.
100 IN PTR www.magedutext.com.
#named-checkconf
#named-checkzone “1.168.192.in-addr.arpa” 192.168.2.zone
#service named start

3)在輔伺服器上

#yum install -y bind
#mv /etc/named.conf{,.bak}
#rsync -e ssh -avz –progress [email protected]:/etc/named.conf /etc
#setenforce 0
#systemctl stop firewalld
#mv /etc/named.conf{,.bak}

4)在主伺服器上

#chgrp named /etc/named.conf
#service named restart
#rsync -e ssh -avzr –progress /etc/named.conf 192.168.2.100:/etc/

5)在輔伺服器上

#vim /etc/named.conf
options {
directory “/var/named”;
allow-recursion {192.168.2.0/24; 127.0.0.1;};
};

zone “.” IN {
type hint;
file “named.ca”;
};

zone “localhost” IN {
type master;
file “named.localhost”;
allow-transfer {none;};
};

zone “0.0.127.in-addr.arpa” IN {
type master;
file “named.loopback”;
allow-transfer {none;};
};

zone “magedutext.com” IN {
type slave;
file “slaves/magedutext.com.zone”;
masters {192.168.2.104;};
allow-transfer {none;};

zone “1.168.192.in-addr.arpa” IN {
type slave;
file “slaves/192.168.2.zone”;
allow-transfer {none;};
masters {192.168.2.104;};
};
#systemctl start named

6)在主輔兩臺伺服器上檢視傳送日誌

#tail /var/log/messages

4、搭建並實現智慧DNS
建立配置檔案

vim /etc/named.conf
acl telecom {
192.168.2.0/24;
127.0.0.1/8;
};
options {
directory “/var/named”;
allow-recursion {telecom;};
};

view telecom {
match-clients {telecom;};
zone “magedutext.com” IN {
type master;
file “telecom.magedutext.com.zone”;
};
};

view unicom {
match-clients {any;};
zone “magedutext.com” IN {
type master;
file “unicom.magedutext.com.zone”;
};
};

//定義兩個區域,一個是telecom一個是unicom。any表示如果telecom無法匹配的都會由unicom匹配。
將兩臺主機的DNS都指向DNS伺服器
建立區域檔案

im /var/name/telecom.magedutext.com.zone
$TTL 43200
@ IN SOA ns1.magedutext.com. admin.magedutext.com. (
2018012901
1H
10M
7D
1D)
IN NS ns1
IN MX 10 mail
ns1 IN A 192.168.2.104
mail IN A 192.168.110.131
www IN A 192.168.2.104
chgrp named /var/named/telecom.magedutext.com.zone
chmod 640 /var/named/telecom.magedutext.com.zone
cp -a /var/name/telecom.magedutext.com.zone /var/named/unicom.magedutext.com.zone
vim /var/named/unicom.magedutext.com.zone
$TTL 43200
@ IN SOA ns1.magedutext.com. admin.magedutext.com. (
2018012901
1H
10M
7D
1D)
IN NS ns1
IN MX 10 mail
ns1 IN A 192.168.2.104
mail IN A 192.168.2.104
www IN A 192.168.110.131

//telecom與unicom兩個區域檔案中解析的地址是不一樣的。但ns地址是不會變的
dig -t A www.magedutext.com @192.168.2.104