1、簡述常見加密算法及常見加密算法原理,最好使用圖例解說
- 單向加密算法:提取數據特征碼,將特徵碼整體附加到明文後,再進行傳遞。接收到數據後用同樣的特徵碼還原明文 ,並與發過來的特徵碼比對,如果一樣就沒問題。
1、輸入一樣,輸出必然相同,所以叫特徵碼
2、雪崩效應:輸入的微小改變,將會引起結果的巨大改變。這是爲了必免暴力破解的
3、定長輸出,無論原始數據是多大,結果大小都是相同的,也就是特徵碼是相同的
4、不可逆的,無法根據特征碼還原原來的數據
單向加密
MD4
MD5
SHA1
SHA192,SHA256,SHA384,192等數字指輸出長度
CRC-32:循環冗餘較驗碼 - 公鑰加密算法:非對稱加密算法
密鑰對,公鑰是從私鑰中提取出來的,用公鑰加密的,只能以與之相對的私鑰解密。用對方的公鑰加密,只能對方的私鑰解密。
公鑰:P
私鑰:S
公鑰加密(非對稱加密)加密和簽名是核心功能
身份認證(數字簽名)
數據加密
密鑰交換 - 對稱加密算法有:
DES:Data Encrption Standard, 56bit密鑰長度,不安全,很少用
3DES:三重DES,用的比較多
AES:Advanced Encrption Standard(高級加密標準), 128bit密鑰
AES變種:AES192, AES256, AES512
Blowfish
實現對稱加密的工具在linux上有:openssl,gpg - OpenSSL:SSL的開源實現
OpenSSL由三部分組成:
1、libcrypte:通用加密庫,連接到此庫就可加密
2、libssl:TLS/SSL協議的實現
基於會話的、實現了身份認證、數據機密性和會話完整性的TLS/SSL庫
3、openssl:多用途命令行工具
實現私有證書,頒發機構用2、搭建apache或者nginx并使用自簽證書實現https訪問,自簽名證書的域名自擬
1.創建CA服務器cd /etc/pki/CA
(umask 077;openssl genrsa -out private/cakey.pem 2048)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
touch index.txt serial
echo 01 > serial
2.到web服務器mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
(umask 077;openssl genrsa -out http.key 2048)
openssl req -new -key http.key -out nginx.csr
scp nginx.csr 192.168.1.2:/tmp
3.到CA服務器
openssl ca -in /tmp/nginx.csr -out /etc/pki/CA/certs/nginx.crt -days 365
//newcerts中的也是證書,是pem格式的
scp certs/nginx.crt 192.168.1.3:/etc/nginx/ssl
4.到web服務器cd /etc/nginx
cp conf.d/vhost1.conf conf.d/vhost1_ssl.conf
vim conf.d/vhost1_ssl.conf
server {
listen 443 ssl;
server_name www.ruopu.com;
root /data/nginx/vhost1;
access_log /var/log/nginx/vhost1_ssl_access.log main;
ssl on;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_protocols sslv3 tlsv1 tlsv1.1 tlsv1.2;
ssl_session_cache shared:SSL:10m;
//SSL是自定義的名字,1m內存空間可以緩存4000個會話,這里定義10M。
}
nginx -t
nginx -s reload
ss -tln
將cacert.pem傳到主機,并在firefox瀏覽器中導入證書。
訪問https://www.ruopu.com
3、簡述DNS服務器原理,并搭建主-輔服務器
測試使用主服務器為CentOS6.5,地址:192.168.1.110,從服務器為CentOS7,地址:192.168.1.100 - 在主服務器上
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 “ruopu.com” IN {
type master;
file “ruopu.com.zone”;
};
zone “1.168.192.in-addr.arpa” IN {
type master;
file “192.168.1.zone”;
};
chgrp named /etc/named.conf
cd /var/named
vim /var/named/ruopu.com.zone`
$TTL 600
IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012801
1H
5M
2D
6H)
IN NS ns1.ruopu.com.
IN NS ns2.ruopu.com.
IN MX 10 mail
ns1 IN A 192.168.1.110
ns2 IN A 192.168.1.100
mail IN A 192.168.1.100
www IN A 192.168.1.110
www IN A 192.168.1.100
chmod 640 /var/named/ruopu.com.zone
chown root.named /var/named/ruopu.com.zone
named-checkzone "ruopu.com" /var/named/ruopu.com.zone
cp ruopu.com.zone 192.168.1.zone -p
vim 192.168.1.zone
$TTL 600 //反向區域里的DNS域名必須寫完整
IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012801
1H
5M
2D
6H)
IN NS ns1.ruopu.com.
IN NS ns2.ruopu.com.
110 IN PTR ns1.ruopu.com.
100 IN PTR ns2.ruopu.com.
110 IN PTR www.ruopu.com.
100 IN PTR mail.ruopu.com.
100 IN PTR www.ruopu.com.named-checkconf
named-checkzone "1.168.192.in-addr.arpa" 192.168.1.zone
service named start
- 在從服務器上
yum install -y bind
mv /etc/named.conf{,.bak}
rsync -e ssh -avz --progress root@192.168.1.110:/etc/named.conf /etc
setenforce 0
systemctl stop firewalld
mv /etc/named.conf{,.bak}
- 在主服務器上
chgrp named /etc/named.conf
//將配置文件屬組改為namedservice named restart
rsync -e ssh -avzr --progress /etc/named.conf 192.168.1.100:/etc/
- 在從服務器上
vim /etc/named.conf
options {
directory “/var/named”;
allow-recursion {192.168.1.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 “ruopu.com” IN {
type slave;
file “slaves/ruopu.com.zone”;
masters {192.168.1.110;};
allow-transfer {none;};
zone “1.168.192.in-addr.arpa” IN {
type slave;
file “slaves/192.168.1.zone”;
allow-transfer {none;};
masters {192.168.1.110;};
};
//將ruopu.com的正反向區域類型改為slave從服務類型,另外加入masters指明主服務器地址,allow-transfer指明不與任何主機傳送systemctl start named
- 在主從兩臺服務器上查看傳送日志
tail /var/log/messages
4、搭建并實現智能DNS
在配置文件中用view定義多個區域,在view中用match-clients來判斷訪問的客戶端的來源與哪個view匹配,與哪個view匹配就返回哪個區域的文件。這里沒有從服務器,只有主服務器,沒有反向域
1、將客戶端網卡改為NAT模式,服務器添加一塊網卡,用NAT模式。NAT地址是192.168.110網段的
2、創建配置文件cp /etc/named.conf /root
vim /etc/named.conf
acl telecom {
192.168.1.0/24;
127.0.0.1/8;
};
//用acl來定義一個地址池,并取名叫telecom
options {
directory “/var/named”;
allow-recursion {telecom;};
};
view telecom {
match-clients {telecom;};
zone “ruopu.com” IN {
type master;
file “telecom.ruopu.com.zone”;
};
};
view unicom {
match-clients {any;};
zone “ruopu.com” IN {
type master;
file “unicom.ruopu.com.zone”;
};
};
//定義兩個區域,一個是telecom一個是unicom。any表示如果telecom無法匹配的都會由unicom匹配。
將兩臺主機的DNS都指向DNS服務器
3、創建區域文件vim /var/name/telecom.ruopu.com.zone
$TTL 43200
@ IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012901
1H
10M
7D
1D)
IN NS ns1
IN MX 10 mail
ns1 IN A 192.168.1.110
mail IN A 192.168.110.131
www IN A 192.168.1.110chgrp named /var/named/telecom.ruopu.com.zone
chmod 640 /var/named/telecom.ruopu.com.zone
cp -a /var/name/telecom.ruopu.com.zone /var/named/unicom.ruopu.com.zone
vim /var/named/unicom.ruopu.com.zone
$TTL 43200
@ IN SOA ns1.ruopu.com. admin.ruopu.com. (
2018012901
1H
10M
7D
1D)
IN NS ns1
IN MX 10 mail
ns1 IN A 192.168.1.110
mail IN A 192.168.1.110
www IN A 192.168.110.131
//telecom與unicom兩個區域文件中解析的地址是不一樣的。但ns地址是不會變的dig -t A www.ruopu.com @192.168.1.110
//在兩臺主機上執行此命令,得到的結果是不一樣的
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91333
可以補充一下 非對稱加密算法有哪些,實驗過程整體挺不錯,能寫一下遇到的問題和解決思路最好~加油。