加密算法、https、dns(主從、視圖)

第九周 2018/1/29

1、簡述常見加密算法及常見加密算法原理,最好使用圖例解說

加密算法類型

  • 對稱加密:加密和解密同一密鑰;
  • 非對稱加密:加密和解密使用一對兒密鑰;通信的人是我們期望通信的人;
  • 單向加密:只能加密不能解密:提取數據的特征碼: 人–>指紋;指紋–>人? 完整性檢驗;

加密算法特性

一、對稱加密

1

特性

  1. 加密、解密使用同一密鑰;
  2. 將原始數據分割成固定大小的塊,以塊為單位進行加密;

缺陷

  1. 密鑰過多;服務器需要為每個人生成一個密鑰;
  2. 密鑰分發困難;服務器如何安全的給每個人發送密鑰;
加密:openssl enc -e 加密算法 -a -salt -in fstab -out fstab.ciphertext [-k PASS]
解密:openssl enc -d 加密算法 -a -salt -in fstab -out fstab.ciphertext [-k PASS]
    加密算法列表獲取:openssl ? --> Cipher commands 下的所有;引用時需要在其前加 -

二、非對稱加密

 

2

特性

  1. 密鑰分為公鑰和與之配對的私鑰;
  2. 私鑰:通過工具創建,自己留存,必須保證其私密性;secure key
  3. 公鑰:從私鑰中提取產生;可公開給所有人;pubkey
  4. 用公鑰加密的數據,只能使用與之配對的私鑰解密;反之亦然;

用途

  • 數字簽名:服務端私鑰加密指紋的結果,用于讓對方確認自己的身份;完整性檢驗、身份認證
  • 密鑰交換:客戶端用對方公鑰加密一個對稱密鑰,并發送給對方;
  • 數據加密:密鑰長度過長一般不用;

工作邏輯

Server 單向加密 –> 數字簽名 –> 密鑰加密數據 –> 對方公鑰加密密鑰
Client 自己私鑰解密密鑰 –> 密鑰 –> 對方公鑰 –> 單向加密

公鑰

證書

 

 生成私鑰:(umask 077; openssl genrsa -out private.key NUM_BITS)
 從私鑰中提取公鑰:openssl rsa -in private.key -pubout
    (): bash中特殊含義:在括號中運行的命令在當前shell的子shell進程中運行。若在子shell中定義的特性僅在子shell的生命周期中有效;
    NUM_BITS:密鑰長度:2^n;

三、單向加密

 

3

特性

  1. 定長輸出:提取數據特征碼長度固定,與數據大小無關;
  2. 雪崩效應初始條件纖微改變,結果發生巨大變化,避免比對;
  3. 避免密碼存儲文件中相同密碼出現結果相同;在密碼中加入salt;在下次登陸時,用給定的密碼和salt進行加密后的結果與密碼存儲文件中的字符比較;
  4. 完整性驗證;
加密格式:工具 文件
 openssl dgst -md5 file
 md5sum file
 sha1sum file
 ...

2、搭建apache或者nginx并使用自簽證書實現https訪問,自簽名證書的域名自擬

apache https

v1

s2

s3

nginx https

s4

附上腳本

#!/bin/bash
#
openssl version || exit
ntpdate 0.centos.pool.ntp.org
# ---------------------------- private CA ---------------------------------
dir='/etc/pki/CA'
mkdir -p ${dir}/{certs,crl,newcerts,private}
[ -f ${dir}/private/cakey.pem ] || (umask 077; openssl genrsa -out ${dir}/private/cakey.pem 2048)
[ -f ${dir}/cacert.pem ] || openssl req -new -x509 -key ${dir}/private/cakey.pem -out ${dir}/cacert.pem -days 7300
sleep 2
[ -f $dir/index.txt ] || touch $dir/index.txt
[ -f $dir/serial ] || echo "01" > $dir/serial

read -p 'nginx or httpd or haproxy? ' prog
[ -n "$prog" ] || exit
[ "$prog" == "nginx" -o "$prog" == "httpd" -o "$prog" == "haproxy" ] || exit 
echo -e "\033[1;31mInstall $prog ssl\033[0m"
# ----------------------------- $prog ssl ----------------------------------
ssl_dir="/etc/$prog/ssl"
#
mkdir -pv $ssl_dir
[ -f $ssl_dir/$prog.key ] || (umask 077; openssl genrsa -out $ssl_dir/$prog.key 2048)
[ -f ${ssl_dir}/$prog.csr ] || openssl req -new -key ${ssl_dir}/$prog.key -out ${ssl_dir}/$prog.csr -days 365
[ -f ${ssl_dir}/$prog.crt ] || openssl ca -in ${ssl_dir}/$prog.csr -out ${ssl_dir}/$prog.crt -days 365

http和nginx分別填入內容

CN HA MageEdu Ops ca.magedu.com caadmin@magedu.com

CN HA MageEdu Ops www.magedu.com webadmin@magedu.com

CN HA ZZ Ops nginx.magedu.com webadmin@magedu.com

3、簡述DNS服務器原理,并搭建主-輔服務器

專業術語

  • 協議:是一種規范,http, ftp, smtp(郵件傳輸), pop3/imap4(郵件收取)
    • 規范;由特定具體的軟件來實現
  • :無形的,邏輯的概念;正向解域區域 + 反向解析區域
  • 區域:物理,一個一個的解析庫對應的主機; 正向解析區域 反向解析區域;
  • 遞歸請求:發起一次查詢,就會有結果;
  • 迭代查詢:發起N次查詢,才有結果;緩存DNS;
  • 轉發非我所負責的域,就轉發;注意:接收請求的主機,應該為轉發的主機遞歸;
    • 區域轉發:解析非我所負責的域的主機,且解析此域內的主機才轉發;
    • 全局轉發:解析非我所負責的域的主機,統統轉發;

DNS工作邏輯

  1. dns程序扮演客戶端;
  2. 查詢本機/etc/hosts文件;
  3. 根據/etc/resolv.conf中nameserver指令指向的IP(運營商緩存DNS),從上向下;向第一個DNS服務器發起 遞歸查詢請求;
  4. 運管商DNS 迭代查詢 查找根域,返回頂級域某個DNS的IP;
  5. 運營商DNS 迭代查詢 查找頂級域,返回三級域某個DNS的IP;
  6. 運營商DNS 迭代查詢 查找三級域,返回其域內某個主機的IP;
  7. 運營商DNS 返回遞歸請求
  8. dns程序庫返回給某進程其域名解析結果
  9. 真正的通信

DNS

域名注冊

在Top Level Domain的DNS服務器主機的解析庫中添加子域條目;子域指向的主機(IP)即為解析 子域 的dns服務器;子域DNS服務器:需要一個有公網IP的主機;

 

搭建主從服務器

z1

z2

z3

z4

z5

z6

z7

z8

z9

z10

z11

4、搭建并實現智能DNS

q1

q2

q3

q4

q11

q6

q7

 

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91336

(2)
逆神陽逆神陽
上一篇 2018-01-29 12:13
下一篇 2018-01-29 19:21

相關推薦

  • 練習-vim的使用

    vi編輯器是linux上最常用的編輯器,vim是vi增強版, 一、vim的幾種模式     編輯模式、插入模式、命令行模式     編輯模式:可以進行光標移動,字符刪除,行的增刪復制粘貼等操作  插入模式:對字符進行編輯,  命令行模式:通過各種命令進行保存,查找,替換,環境設置等操作 &…

    Linux干貨 2016-07-04
  • find命令歸納

    首先,find可以實現以下方式查找 文件名:-name -iname -regex 文件類型:-type TYPE:(f,d,l,s,b,c,p) 文件大小:-size [+|-]#UNIT #UNIT(k,M,G)范圍(由小到大):[0,#-1](#-1,#](+#,oo) 時間戳:-{a|m|c}time -{a|m|c}min  范圍(現在到…

    Linux干貨 2016-04-19
  • Boot目錄下內容丟失導致系統無法啟動

    Boot目錄下內容丟失導致系統無法啟動 筆者朋友近期在一次學習過程中不慎將虛擬機中boot目錄下內容丟失,導致系統無法啟動。當然此前他并不知道是這樣,只是應為莫名的彈出框報錯所有導致系統無法啟動。此后朋友將此故障告知筆者,筆者本身其實也是小白剛剛學習linux不就,但是對這些稀奇古怪的故障感覺很有興趣,所以筆者就掉進坑里搞了好久才搞出來點眉目來。為了讓更多學…

    Linux干貨 2016-10-24
  • 網絡N22期-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who | cut -d" " -f1 | uniq root 2、取出最后登錄到當前系統的用戶的相關信息。 [roo…

    Linux干貨 2016-08-29
  • 文本處理章練習題

    2017.7.27練習 1、找出ifconfig “網卡名” 命令結果中本機的IPv4地址 ifconfig |head -n 2 |tail -n 1|tr -s ” ” : |cut -d: -f4   2、查出分區空間使用率的最大百分比值 df|tr -s ‘ ‘ %|sort -t% -k5 …

    2017-07-29
  • 磁盤管理之MBR與GPT分區

    磁盤管理之MBR與GPT分區 2016-08-26 zanghonglei%1 $ S 磁盤管理之MBR與GPT分區 linux下的文件分為常規文件和設備文件,常規文件一定在某一個設備上被存儲,不論這個設備是真實的還是虛擬的,這里的設備是linux中vfs層中的設備,也就是設備文件中的設備,vfs層的設備分為字符設備和塊設備,字符設備可以類比為一個…

    Linux干貨 2016-08-29

評論列表(2條)

  • 馬哥教育
    馬哥教育 2018-01-31 22:33

    總結的很贊~DNS解析過程可以用圖來說明會清楚點;另外DNS智能解析遇到的問題、解決思路和實驗結果最好能描述的更細一點哈~加油~

    • 逆神陽
      逆神陽 2018-02-01 08:29

      @馬哥教育好的,老師!我加一個圖。

欧美性久久久久