加密算法、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]
    加密算法列表獲?。簅penssl ? --> 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
下一篇 2018-01-29

相關推薦

  • N25-第八周

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態; 在線的主機使用綠色顯示; 不在線的主使用紅色顯示; #!/bin/bash ipnet=172.16.250. trap ‘trap_action’ INT trap_action() { break return 1 } for ((i=1…

    Linux干貨 2017-05-27
  • 聊聊CentOS6的啟動過程

    前言:     作為一個合格的運維人員,系統的啟動過程我們需要牢記在心,此文不深入探討,只求大致理解CentOS6的啟動過程。 一張圖帶你了解CentOS6的啟動過程 注意:圖片放大查看效果更佳 上圖各階段詳解 POST:計算機開機時BIOS對其各硬件的簡單測試,測試各硬件的完整性 BootSqunce:加電自檢后根據…

    Linux干貨 2016-03-14
  • Linux系統的終端類型

    Linux系統的終端類型    Linux系統的終端主要包括控制臺終端、控制終端、串口終端、偽終端、虛擬終端。 1.  控制臺終端(/dev/console)。    在Unix系統中,計算機顯示器通常被稱為控制臺終端。Console與虛擬終端相關聯,內核將信息送到控制臺終端上(/dev/conso…

    Linux干貨 2015-09-14
  • N22-第一周作業

    1、描述計算機的組成及功能      計算機系統由硬件系統和軟件系統組成。硬件系統(Hardware system)是計算機完成計算工作  的物質基礎。軟件系統(Software system):是在計算機硬件設備上運行的各種程序,是介于用戶  和硬件系統之間的界面。1.1 計算機的硬件系…

    Linux干貨 2016-08-22
  • 初入Linux世界 —馬哥教育網絡班N22_第三周課程練習

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

    Linux干貨 2016-09-19
  • 作業——2016-10-17

    1 生產環境發現一臺服務器系統時間產生偏差,造成服務異常,請幫忙校正。     將系統時間同步到硬件時間的命令是hwclock -s 2 生產有一個數據同步腳本需要執行很長時間,怎樣做到無人值守,在管理工具退出的情況下,腳本依然能正常運行。     screen -S work  進去后開始做工作,暫時離開時…

    Linux干貨 2016-10-18

評論列表(2條)

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

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

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

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

欧美性久久久久