網絡通信安全基礎、openssl、openssh

數據安全分為:

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

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

可用性:數據有效性

 

安全攻擊分為:

被動攻擊:竊聽

主動攻擊:偽裝、重放、消息篡改、拒絕服務

 

安全機制:

加密、數字簽名、訪問控制、數據完整性、認證交換機制、流量填充、路由控制、公證

 

安全服務:

認證:

訪問控制:

數據保密性:連接、無連接、選擇域、流量

數據完整性:

不可否認性:

 

 

linux系統:openssl、gpg(pgp協議)

常見密碼算法和協議:

對稱加密:加密數據流

算法:DES、3DES、AES、Blowfish、Twofish、IDEA、RC6、CASTS

特點:1、加密和解密使用同一個密鑰;2、將原始數據分隔成固定大小的塊,逐個進行加密;

缺陷:1、密鑰過多;2、密鑰分發;

 

公鑰加密:密鑰是成對兒出現

算法:RSA、DSA、ELGamal

公鑰:公開給所有人;public key

私鑰:自己留存,必須保證其私密性;secret key

用途:數字簽名(主要在于讓接收方確認發送方的身份。)、密鑰交換(發送方用對方的公鑰加密一個對稱密鑰,并發送給對方。)、數據加密;

特點:用公鑰加密的數據,只能使用與之配對兒的私鑰解密;反之亦然;

 

單向加密:只能加密,不能解密;提取數據指紋;保證數據的完整性。

算法:md5(128bit)、sha1(160bit)、sha224、sha256、sha384、sha512

特性:1、定長輸出;2、雪崩效應;

 

密鑰交換:IKE

1、公鑰加密:缺陷:密鑰在網絡傳輸。

2、DH(Diffie-Hellman):密鑰無需在網絡傳輸。

 

 

PKI:公鑰基礎設施

簽證機構:CA

注冊機構:RA

證書吊銷列表:CRL

證書存取庫:

 

X.509:定義了證書的結構以及認證協議標準;組成格式如下

版本號

序列號

簽名算法ID

發行者名稱

有效期限

主體名稱

主體公鑰

發行者唯一標識

主體的唯一標識

擴展

發行者簽名

 

SSL:安全的套接字層

TLS:傳輸層安全

 

openssl:開源項目;三個組件

openssl:多用途的命令行工具;

libcrypto:公共加密庫;

libssl:庫,實現了ssl及tls;

 

openssl命令:

openssl version:程序版本號

對稱加密:

工具:enc、gpg

算法:3des、aes、blowfish、twofish

enc命令:

加密:# openssl enc -e -des3 -a -salt -in fstab -out fstab.ciphertext

解密:# openssl enc -d -des3 -a -salt -in fstab.ciphertext -out fstab

 

單向加密:

工具:md5sum、sha1sum、sha256sum、…openssl dgst

# md5sum ? ?/PATH/TO/SOMEFILE

# openssl ? dgst ? -md5 ?? /PATH/TO/SOMEFILE

 

生成用戶密碼:

openssl passwd -1 -salt SALT

 

生成隨機數:

openssl rand -base64|-hex NUM

NUM:表示字節數;-hex時,每個字符為4位,出現的字符數為NUM*2

 

隨機數生成器:

/dev/random:僅從熵池返回隨機數;隨機數用盡,阻塞;

/dev/urandom:從熵池返回隨機數;隨機數用盡,會利用軟件生成偽隨機數,非阻塞;

 

生成密鑰對兒:

openssl genrsa -out /path/to/privatekey.file NUM_BITS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?生成私鑰

openssl rsa -in /path/to/privatekey.file -pubout > /path/to/publickey.file ? ? 提取公鑰

例子:

# (umask 077;openssl genrsa -out rsa.private 2048) ? ? ? ? 生成私鑰

# openssl rsa -in rsa.private -pubout > ? ?rsa.public ? ? ? ? ? ? 從私鑰提取出公鑰

 

 

openssl:開源項目;三個組件

openssl:多用途的命令行工具;

libcrypto:公共加密庫;

libssl:庫,實現了ssl及tls;

 

PKI:公鑰基礎設施

簽證機構:CA

注冊機構:RA

證書吊銷列表:CRL

證書存取庫:

 

建立私有CA:

OpenCA

openssl

 

證書申請及簽署步驟:

1、生成申請請求;

2、RA(注冊機構)核驗

3、CA(簽證機構)簽署

4、獲取證書

 

創建私有CA:openssl的配置文件:/etc/pki/tls/openssl.cnf

(1)創建所需的文件

# touch index.txt

# echo 01 > serial

 

(2)CA自簽證書(即生成私鑰,簽署證書時自動生成公鑰,公鑰封裝為證書)

# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

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

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

-x509:專用于CA生成自簽證書

-key:生成請求時用到的私鑰文件

-days n:證書的有效期限

-out:證書的保存路徑

 

(3)發證

(a)用到證書的主機生成證書請求;

# (umask 077;openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)

# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 365

(b)把請求文件傳輸給CA;

# scp

(c)CA校驗及簽署,并將證書發還給請求者;

# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

# scp

 

(4)吊銷證書

(a)獲取要吊銷的證書的serial

# openssl x509 -in /PATH/FROM/CERT_FILE ?-noout -serial ? -subject

(b)CA先根據客戶提交的serial和subject信息來驗正與index.txt文件中的信息是否一致

吊銷證書:

# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem

(c)生成吊銷證書的編號(如果是第一次吊銷);

# echo 01 > /etc/pki/CA/crlnumber

(d)更新證書的吊銷列表文件

# openssl ca -gencrl -out thisca.crl

如果需要,查看crl文件的內容:
# openssl crl -in /path/to/crlfile.crl -noout -text

 

查看證書信息:

# openssl x509 -in /PATH/FROM/CERT_FILE ?-noout -text|-subject|-serial

 

 

ssh:secure shell,protocol

openssh:ssh協議的開源實現

dropbear:另一個ssh協議的開源實現

ssh協議版本:

v1:基于CRC-32做mac,不安全,man-in-middle

v2:雙方主機協議選擇安全的mac方式,基于dh算法做密鑰交換,基于rsa或dsa算法實現身份認證;

用戶登錄認證的兩種方式:基于password,基于key。

 

openssh:C/S

C:ssh,scp,sftp

Windows客戶端:xshell,putty,securecrt

S:sshd

客戶端組件:

ssh,配置文件:/etc/ssh/ssh_config

ssh ?[-p port] ? [user@]host ? [command]

-X:開啟x11轉發

-Y:支持信任的x11轉發

 

linux下基于密鑰的認證:

(1)在客戶端生成密鑰對

# ssh-keygen ? ? ?-t ? rsa ? ? [-P ”]? ? [-f output_keyfile]

(2)把公鑰傳輸至遠程服務器對應用戶的家目錄

# ssh-copy-id ? ? ? ? [-i [identity_file]] ? ? ? [-p port] ? ? ?[user@]hostname

(3)測試

windows下基于密鑰的認證(xshell):

(1)生成客戶端密鑰對;

工具—》新建用戶密鑰生成向導—》生成私鑰文件

(2)自行將公鑰信息,復制到服務器端的對應用戶的.ssh/authorized_keys文件中(該文件權限為600);

 

scp命令:

PULL:scp [options] ? [user@]host:/PATH/FROM/SOMEFILE ? /PATH/TO/SOMEWHERE

PUSH:scp [options] ?/PATH/FROM/SOMEFILE ? ?[user@]host:/PATH/TO/SOMEWHERE

常用option:

-r:遞歸復制

-p:保持源文件的屬性信息

-q:靜默模式

-P PORT:指明remote host的監聽端口

 

sftp命令:

sftp [user@]host

sftp> help

 

服務器端組件:

sshd,配置文件:/etc/ssh/sshd_config

具體參考# man sshd_config

限制可登陸用戶的辦法:用戶和組名空格分隔

AllowUsers user1 user2 …:用戶白名單

AllowGroups:組白名單

DenyUsers:用戶黑名單

DenyGroups:組黑名單

 

ssh服務的最佳實踐:

1、不要使用默認端口;

2、禁止使用protocol version 1;

3、限制可登陸用戶;

4、設定空閑會話超時時長;ClientAliveInterval

5、利用防火墻設置ssh的訪問策略;

6、僅監聽特定的IP地址;

7、基于口令認證時,使用強密碼策略;最好基于密鑰認證;

8、禁止使用空密碼;

9、禁止root用戶直接登錄;PermitRootLogin no

10、限制ssh的訪問頻度和并發在線數; ? ? MaxAuthTries ? ? ? ? ? MaxSessions

11、做好日志,經常分析;

 

ssh協議的另一個實現方式:dropbear

1、# dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key

# dropbearkey -t dss -f /etc/dropbear/dropbear_dss_host_key

2、# dropbear -p 172.20.120.4:22022 -F -E

 

 

 

 

 

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

(0)
N26-深圳-城市蝸牛N26-深圳-城市蝸牛
上一篇 2017-12-06 00:21
下一篇 2017-12-06 14:03

相關推薦

  • linux發行版之間的愛恨情仇

    千絲萬縷,森羅萬象

    Linux筆記 2018-05-13
  • Linux用戶與組管理

    linux用戶及組管理

    Linux筆記 2018-05-24
  • 遷移/home目錄到新的分區上步驟

    遷移/home目錄到新的分區上步驟 1、 安裝一個新的硬盤 2、 查看新硬盤的設備名,如下圖所示: 3、 在新硬盤上創建一個主分區,如下圖所示: 4、 將新創建的分區格式化為ext4文件系統,并加上/home卷標,如下圖所示: 5、 創建/home目錄臨時掛載點,并將分區掛載到臨時掛載點上,如下圖所示: 6、 切換單用戶,將除了root用戶之外的用戶踢出,如…

    2018-04-27
  • 課堂實驗

    實驗:針對不同的用戶設置不同的共享目錄和權限 vim /etc/samba/smb.conf[global]workgroup = WANGGROUPsecurity = usernetbios name = smbsrv7passdb backend = tdbsamlog file = /var/log/samba/log.%Ilog level = 2…

    2018-07-01
  • 學習liunx 系統筆記

    服務器按應用功能可分為:web 服務器 ? 數據庫服務器 ? 文件服務器 ?中間件應用服務器 ?日子服務器 ? 監控服務器 ? 程序版本控制服務器 ?虛擬機服務器 ? ? 郵件服務器 ? 打印服務器 ? 域控制服務器 ?多媒體服務器 ?通訊服務器 ? ?ERP 服務器等! 服務器按外形可分為:塔式服務器 ? 、機架式服務器 ?、刀片式服務器。  

    Linux筆記 2018-04-01
  • 掛載點 文件通配符 目錄的一些理解

    掛載點 掛載點實際上就是linux中的磁盤文件系統的入口目錄,類似于windows中的用來訪問不同分區的C:、D:、E:等盤符。其實Windows也支持將一個磁盤分區掛在一個文件夾下面,只是我們用C:、D:這樣的盤符操作用慣了,一般沒有將分區掛到文件夾。文件一般掛載在misc文件夾下 在我們打開Centos 6(并未登錄)時在遠程控制臺是不能看到掛載點的如圖…

    2018-04-01
欧美性久久久久