9月20日 OpenSSL,加密解密

SSL:Secure Socket Layer

特點:

保密性:數據保密性,隱私性

完整性:數據完整性,系統完整性

可用性:加密能夠解密。

OSI:x.800定義了安全***機制

 

現代互聯網安全服務的基礎安全框架叫做PKI機制:Public Key Infrastructure

PKI:

簽證機構:CA

註冊機構:RA

證書吊銷列表:CRL

證書存取庫:

 

DSS:Digital Siganature Standard

 

加密協議種類

對稱加密:加密解密用同一個密鑰:3des,aes

公鑰加密:密鑰成對出現:公鑰-私鑰,加密速度慢,常用於數字簽名和密鑰交換。

            RSA,DSA(DSS)

單向加密:主要用於提取數據指紋或特徵碼。

            MD5,sha1

密鑰交換:DH:Deffie-Hellman算法

SSL是一種庫,是TCP/IP協議層中的半層,基於TCP實現的,必須要有虛擬電路支持。

請求服務器中的數字證書:其中是使用者的公鑰

CA:證書籤證機構

數字證書格式:

版本號version:

序列號serial number:CA用於唯一標識此證書

簽名算法標識:

發行者名稱:CA自己名稱

有效期:起止日期

證書主體名稱:證書擁有者的名稱:

證書主體公鑰信息:證書擁有者自己的公鑰

發行商的唯一標識:

證書主體的唯一標識:

擴展信息:

簽名:CA對此證書的數字簽名

證書的用途:

用戶證書:用戶之間通信用的

主機證書 (httpd):服務器的進程間通信用的

Open SSL 的組成部分:

libcrypto:加密解密庫文件

libssl:ssl協議實現

openssl:多用途命令行工具,每種功能都使用專用的子命令來實現

openssl:子命令分類:

標準命令

消息摘要命令

加密,解密相關命令

加密 openssl enc -e加密 -a以文本模式輸出 -salt:加些隨機數進來 -in加密哪個文件 -out放在哪 -des3密碼

解密 openssl enc –d

image 加密前

 image 加密中

image 加密後

 

單向加密 openssl dgst –CIPHER file

image

 

生成用戶密碼:openssl passwd –1 –salt 8bit 隨機數

image 

不知爲啥生出了一堆

 

生成隨機數:openssl rand –hex|-base64 NUM

image

image

 

公鑰加密

數字簽名:RSA/DSA

密鑰交換DH:

操作過程:私鑰能提取出公鑰

openssl genrsa –out 文件 位數

(umask 077;openssl genrsa –out 文件 位數)在括號中運行的表示在子shell中運行

image

私鑰中提取公鑰

openssl rsa –in 私鑰文件 –pubout

image

 

公鑰加密爲了完成密鑰交換

私鑰機密爲了完成身份驗證

 

隨機數生成器:

random,urandom

熵池:保存硬件中斷產生的隨機數

/dev/random:從熵池中取隨機數,熵池裏的隨機數耗盡,取隨機數的進程會被阻塞

/dev/urandom:從熵池中取隨機數,熵池裏的隨機數耗盡,會用僞隨機數生成器替代,不安全。

 

構建私有CA

1、生成私鑰;

2、生成自簽署證書;

image

查看CA_Default

dir:定義CA工作目錄

certs:$dir引用dir的值:爲客戶端發放的證書存取庫

crl_dir:吊銷文件

database:數據庫

 

new_certs_dir:剛生成的證書

certificate:CA自己的證書

serial:會不斷加一

crlnumber:吊銷編號

private_key:存放私鑰的

 

步驟:

自己生成

1、在CA工作目錄裏生成自己的私鑰, 私鑰的位置是private_key

2、生成自簽證書:

     openssl req –new –x509 –key /etc/pki/CA/private/cakey.pem –out /etc/pki/CA/cacert.pem –days

        -new 生成新證書的簽署請求

        -key私鑰文件路徑,提取公鑰用的

        -days N:證書有效時長,單位是天

        -out輸出文件保存位置:

        -x509:直接輸出自簽署的證書文件,通常只有構建CA才這麼用

3、提供輔助文件

        touch /etc/pki/CA/index.txt

        echo 01> serial

 

1

image

2、3

image

 

給節點發證書:

1、節點申請

        1.1 生成私鑰:

                (umask 077; openssl genrsa -out privatekey.key 2048)
        1.2 生成證書請求

                req -new -key privatekey.key -out privatekey.csr -days 365

2、CA簽發證書:

                openssl ca –in file –out file –days N

3、把簽署好的證書發還給請求者

建立文件夾

image

生成證書

image

發送請求



 

 

OpenSSH:

CS架構協議:

   Server需要sshd:  /stc/ssh/sshd_config

   Client需要ssh,xshell,putty  /stc/ssh/ssh_config

   scp:安全跨主機複製工具,基於ssh實現

   sftp

sshsecure shell,用來取代telnet(23/tcp)

 

telnet是有xinetd這個超級守護進程來管理的:

打開telnet,他是明文的,容易被盜

chkconfig telnet on

image

service xinetd restart

ss –tnl 查找23tcp端口

iptables -F清空防火牆規則

ssh protocol

v1不安全 v2安全

兩種方式認證:

      基於口令認證:

      基於密鑰認證:基於DH

      在客戶端生成一對密鑰,私鑰自己留着,公鑰通過私密方式保存到遠程服務器某用戶的家目錄專用於ssh通信的文件中

命令行用法:

ssh [選項] –l user host,不指定用戶名就以自己當前用戶名代入

ssh [選項] user@host

也可以通過ssh一次執行一條命令然後返回

image

 

私鑰登錄:

1、創建私鑰

ssh [選項] [user]@[local] -p指明端口號

image

2、複製到服務器上

image

 

 

scp:遠程複製文件:

push:scp –r(目錄遞歸) –p(權限)自己的文件 user@host:/path -P指明端口號

pull:scp user@host:/path 位置

 

服務器端配置sshd:/etc/ssh/sshd_config

1、port默認是22,儘量不使用默認,大家都愛用22022

2、protocol 2,1不安全

3、限制可登錄用戶:禁用root登入,

                PermitRootLogin,默認是yes

                AllowUsers user1 user2,白名單

                AllowGroups grp1

                DenyUsers user1黑名單

4、僅監聽需要監聽的ip地址:

                ListenAddress

5、強密碼策略:

                建議隨機數

6、禁止使用空密碼登入:

7、限制登入頻度:默認是6次

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章