1、詳細描述一次加密通訊的過程,結合圖示最佳。
發送者:
1)使用單向加密算法提取要發送文件的特征碼;
2)使用自己的私鑰加密特征碼并附加在數據后面;
3)生成用于對稱加密的臨時密碼;
4)用此臨時密鑰加密數據和已經使用私鑰加密后的特征碼;
5)使用接收方的公鑰加密此臨時密鑰,附加在對稱加密后的數據后方。
接收方:
1)使用自己的私鑰解密加密后的臨時密鑰,從而獲得對稱密鑰;
2)使用對稱密鑰解密對稱加密的數據和私鑰加密的特征碼密文,從而獲得數據和特征碼密文;
3)使用發送方的公鑰解密特征碼密文,從而獲得特征碼明文;
4)使用與對方同樣的單向加密算法計算數據的特征碼,并與解密而來的進行比較。
2、描述創建私有CA的過程,以及為客戶端發來的證書請求進行辦法證書。
本人在兩臺虛擬機上操作,一個為服務器,一個為客戶機
(1)服構建私有CA,生成自簽證書(服務器機上)
配置文件 /etc/pki/tls/opessl.cnf
工作目錄 /etc/pki/CA
1、生成私鑰文件
[root@CentOS7 CA]# ls
certs crl newcerts private
[root@CentOS7 CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 1024 bit long modulus
..++++++
…………….++++++
e is 65537 (0x10001)
[root@CentOS7 CA]# ll private/
總用量 4
-rw——-. 1 root root 1675 5月 4 12:35 cakey.pem
2、生成自簽證書
[root@CentOS7 CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem
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]:Magedu
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server’s hostname) []:ca.magedu.com
Email Address []:caadmin@magedu.com
[root@CentOS7 CA]#
[root@CentOS7 CA]# ls
cacert.pem certs crl newcerts private
3、創建必要文件
[root@CentOS7 CA]# touch serial index.txt
[root@CentOS7 CA]# echo 01 >index.txt
(2)客戶機向服務機發送CA請求(客戶機上)
生成私鑰;
生成證書請求;
將請求發送到CA主機
1、生成私鑰
[root@CentOS6 httpd]# cd /etc/httpd
[root@CentOS6 httpd]# ls
conf conf.d logs modules run
[root@CentOS6 httpd]# mkdir ssl
[root@CentOS6 httpd]# (umask 077;openssl genrsa -out httpd.key 1024)
Generating RSA private key, 1024 bit long modulus
..++++++
….++++++
e is 65537 (0x10001)
2、生成證書請求
[root@CentOS6 httpd]# openssl req -new -key httpd.key -out httpd.crs
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]:Magedu
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server’s hostname) []:www.magedu.com
Email Address []:webadmin@magedu.com
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
3、將請求發送到CA主機
[root@CentOS6 httpd]# scp httpd.crs root@192.168.0.110:/tmp/
(3)CA主機簽署客戶機的CA請求,并發給客戶機
1、簽署證書
[root@CentOS7 CA]# openssl ca -in /tmp/httpd.csr -out certs/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: May 4 05:45:54 2017 GMT
Not After : May 4 05:45:54 2018 GMT
Subject:
countryName = CN
stateOrProvinceName = ShangHai
organizationName = Magedu
organizationalUnitName = Ops
commonName = www.magedu.com
emailAddress = webadmin@magedu.com
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
B1:90:08:70:04:35:41:D5:DC:DE:DE:3D:28:6F:99:E6:94:BE:52:65
X509v3 Authority Key Identifier:
keyid:24:41:BF:0F:A2:FC:9B:0F:DB:07:E1:01:8F:1E:CA:D8:B4:50:7F:58
Certificate is to be certified until May 4 05:45:54 2018 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
2、證書發給客戶機
[root@CentOS7 CA]# scp certs/httpd.crt root@192.168.0.109:/etc/httpd/ssl/
注:報錯如下的話。清空index.txt文件
root@CentOS7 CA]# openssl ca -in /tmp/httpd.csr -out certs/httpd.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
wrong number of fields on line 1 (looking for field 6, got 1, ” left)
2、 描述DNS查詢過程以及DNS服務器類別。
客戶端在訪問一個網址的時候
第一步:查詢本地hosts文件
第二步:hosts文件中查詢不到時查詢本機的緩存
第三步:本地緩存查詢不到的時候,查詢本機指向的默認DNS服務器
第四步:由默認DNS服務器向根DNS服務器進行遞歸查詢(客戶端只查詢一次,由指定的DNS服務器進行查詢到結果后返回客戶端)
4、搭建一套DNS服務器,負責解析magedu.com域名(自行設定主機名及IP)
(1)、能夠對一些主機名進行正向解析和逆向解析;
(2)、對子域cdn.magedu.com進行子域授權,子域負責解析對應子域中的主機名;
(3)、為了保證DNS服務系統的高可用性,請設計一套方案,并寫出詳細的實施過程
1、下載DNS軟件包bind
[root@CentOS6 etc]# yum install bind -y
2、修改主配置文件/etc/named.conf
[root@CentOS7 ~]# vim /etc/named.conf
options {
listen-on port 53 { any; }; 修改后
listen-on-v6 port 53 { ::1; };
directory “/var/named”;
dump-file “/var/named/data/cache_dump.db”;
statistics-file “/var/named/data/named_stats.txt”;
memstatistics-file “/var/named/data/named_mem_stats.txt”;
allow-query { any; }; 修改后
/*
3、對文件進行語法檢查named-checkconf
[root@CentOS7 ~]# named-checkconf
4、在配置文件/etc/named.rfc1912.zones或/etc/named.conf中添加magedu.com的正向與反向域。
[root@CentOS7 ~]# vim /etc/named.rfc1912.zones
zone “magedu.com” IN {
type master; 注:結尾以分號(;)結束
file “magedu.com.zone”; 注:正向域數據庫文件的文件名
};
zone “0.168.192.in-addr.arpa” IN { 注:反向域為IP網絡ID反寫加.in-addr.arpa
type master;
file “named.192.168.0 “; 注:反向域數據庫文件的文件名
};
5、創建正向域數據庫文件與反向域數據庫文件(在目錄/var/named/下創建)
正向域數據庫文件
[root@CentOS7 ~]# vim /var/named/magedu.com.zone
$TTL 3600
$ORIGIN magedu.com.
@ IN SOA ns1.magedu.com. dnsadmin.magedu.com. (
2017050401
1H
10M
3D
1D )
@ IN NS ns1.magedu.com.
@ IN MX 10 mail.magedu.com.
ns1 IN A 192.168.0.108
www IN A 192.168.0.110
bbs IN A 192.168.0.111
ftp IN A 192.168.0.112
web IN CNAME ftp
反向域數據庫文件
[root@CentOS7 ~]# vim /var/named/named.192.168.0
$TTL 3600
@ IN SOA ns1.magedu.com. dnsadmin.mage.du.com. (
2017050401
1H
10M
3D
1D )
@ IN NS ns1.magedu.com.
108 IN PTR ns1.magedu.com.
110 IN PTR www.magedu.com.
111 IN PTR bbs.magedu.com.
112 IN PTR ftp.magedu.com.
6、修改文件權限及屬主,屬組
[root@CentOS7 named]# chmod 640 magedu.com.zone named.192.168.0
[root@CentOS7 named]# chown root.named magedu.com.zone named.192.168.0
7、語法檢查
[root@CentOS7 named]# named-checkzone magedu.com magedu.com.zone
zone magedu.com/IN: magedu.com/MX ‘mail.magedu.com’ has no address records (A or AAAA)
zone magedu.com/IN: loaded serial 2017050401
OK
[root@CentOS7 named]# named-checkzone 0.168.192.in-addr.arpa named.192.168.0
zone 0.168.192.in-addr.arpa/IN: loaded serial 2017050401
OK
8、重啟服務
[root@CentOS7 named]# systemctl restart named.service
9、檢測配置
注:要想直接使用配置過的NS,需要在/etc/resolv.conf和 /etc/hosts中進行添加,否則必須在命令中指定。
如:dig -x 192.168.0.110 @192.168.0.108
[root@CentOS7 named]# dig -x 192.168.0.112
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> -x 192.168.0.112
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41080
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;112.0.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:
112.0.168.192.in-addr.arpa. 3600 IN PTR ftp.magedu.com. 能正確解析到
;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 3600 IN NS ns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com. 3600 IN A 192.168.0.108
;; Query time: 2 msec
;; SERVER: 192.168.0.108#53(192.168.0.108)
;; WHEN: 五 5月 05 10:19:29 CST 2017
;; MSG SIZE rcvd: 117
[root@CentOS7 named]# dig bbs.magedu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> bbs.magedu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47129
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;bbs.magedu.com. IN A
;; ANSWER SECTION:
bbs.magedu.com. 3600 IN A 192.168.0.111 能正確解析到
;; AUTHORITY SECTION:
magedu.com. 3600 IN NS ns1.magedu.com.
;; ADDITIONAL SECTION:
ns1.magedu.com. 3600 IN A 192.168.0.108
;; Query time: 1 msec
;; SERVER: 192.168.0.108#53(192.168.0.108)
;; WHEN: 五 5月 05 10:20:07 CST 2017
;; MSG SIZE rcvd: 93
子域授權
1、在主服務器的文件/var/named/magedu.com.zone中添加一個NS和A記錄/
2、在被授權的服務器上安裝bind,
修改主配置文件/etc/named.conf
/etc/named.rfc1912.zones添加域
/var/named/目錄下創建域文件數據
3、重載主配置文件和區域解析庫文件 rndc reload
1、主服務器,
[root@CentOS7 ~]# vim /var/named/magedu.com.zone
cdn IN NS ns3
ns3 IN A 192.168.0.109 添加這兩條
2、在被授權的服務器
[root@CentOS6 ~]# vim /etc/named.conf
isten-on port 53 { 192.168.0.109;127.0.0.1; };
allow-query { any; }; 修改的地方
[root@CentOS6 ~]# vim /etc/named.rfc1912.zones
zone “cdn.magedu.com” IN {
type master;
file “cdn.magedu.com”; 添加
};
[root@CentOS6 ~]# vim /var/named/cdn.magedu.com
$TTL 3600
$ORIGIN cdn.magedu.com.
@ IN SOA cdn.magedu.com. admin.cdn.magedu.com. (
2017050501
1H
10M
1D
2H
)
cdn.magedu.com. IN NS ns1
ns1 IN A 192.168.0.109
txt.cdn.magedu.com. IN A 192.168.0.119
cccd IN A 192.168.0.120
3、測試
[root@CentOS7 ~]# dig -t A cccd.cdn.magedu.com @192.168.0.108
; <<>> DiG 9.9.4-RedHat-9.9.4-38.el7_3.3 <<>> -t A cccd.cdn.magedu.com @192.168.0.108
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15179
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;cccd.cdn.magedu.com. IN A
;; ANSWER SECTION:
cccd.cdn.magedu.com. 3600 IN A 192.168.0.120 解析的結果
;; AUTHORITY SECTION:
cdn.magedu.com. 3600 IN NS ns3.magedu.com.
;; ADDITIONAL SECTION:
ns3.magedu.com. 3600 IN A 192.168.0.109
;; Query time: 30 msec
;; SERVER: 192.168.0.108#53(192.168.0.108)
;; WHEN: 五 5月 05 16:41:23 CST 2017
;; MSG SIZE rcvd: 9
[root@CentOS7 ~]#
主從復制配置
前提條件:
從服務器的版本應大于等于主服務器
主服務器:192.168.0.109 CentOS6
從服務器:192.168.0.110 CentOS7
主服務器配置
1、修改主配置文件
[root@CentOS6 ~]# vim /etc/named.conf
listen-on port 53 { 192.168.0.109; }; 修改后
allow-query { any; }; 修改后
notify yes; 添加更新通知
zone “magedu.com” IN {
type master;
file “magedu.com.zone”;
allow-transfer { 192.168.0.110; }; 必須添加這一條
};
zone “0.168.192.in-addr.arpa” IN {
type master;
file “named.192.168.0”;
allow-transfer { 192.168.0.110; }; 必須添加這一條
};
2、 在/var/named下創建定義的區域。同上
注:區域中必須加從服務器IP地址NS記錄
3、配置檢查,重啟
[root@CentOS6 ~]# named-checkconf
[root@CentOS6 ~]# named-checkzone magedu.com /var/named/magedu.com.zone
zone magedu.com/IN: loaded serial 2017050804
OK
[root@CentOS6 ~]# named-checkzone “0.168.192.in-addr.arpa” /var/named/named.192.168.0
zone 0.168.192.in-addr.arpa/IN: loaded serial 2017050801
OK
[root@CentOS6 ~]# service named start
從服務器配置
[root@CentOS7 ~]# vim /etc/named.conf
listen-on port 53 { 192.168.0.110; };
allow-query { any; };
dnssec-enable no;
dnssec-validation no;
zone “magedu.com” IN {
type slave;
file “slaves/magedu.com”;
masters { 192.168.0.109; };
};
zone “0.168.192.in-addr.arpa” IN {
type slave;
file “slaves/named.192.168.0”;
masters { 192.168.0.109; };
};
從服務器查看/var/named/slaves/,是否生成文件
[root@CentOS7 ~]# ll /var/named/slaves/
總用量 8
-rw-r–r– 1 named named 516 5月 8 13:25 magedu.com
-rw-r–r– 1 named named 468 5月 8 13:26 named.192.168.0
原創文章,作者:ning407631632,如若轉載,請注明出處:http://www.www58058.com/75000
希望ssl相關的原理和過程圖要理解,這兩年都在搞全站https,所以這部分還是需要注重的。