加密基礎
- NISI定義的數據安全
- 保密性:數據保密性,隱私性
- 完整性:數據完整性,系統完整性
- 可用性:能正常獲取其中信息
- 安全攻擊
- 被動攻擊:竊聽
- 主動攻擊:偽裝(利用telnet偽裝身份發郵件,利用dig查找郵件服務器),重放,消息篡改,拒絕服務
- 安全機制
- 加密,數據簽字,訪問控制,數據完整性,認證交換,流量填充,路由控制,公正
- 安全服務
- 認證;訪問控制;數據完整性,不可否認性
- 數據保密性:連接保密性;無連接保密性;選擇域保密性;流量保密性
- 不安全網絡協議
- 密碼算法和協議
- 對稱加密;公匙加密;單向加密;認證協議
- DES已經被破解;3DES;Blowfish;Rc6;IDE6收費;常用AES
- 特性 1加密解密使用同一個密匙。2 將原始數據分割成固定大小塊
- 缺陷:1密匙過多,2密匙分發
- gpg -c 加密 -d 解密 -o生成文件
- 公匙加密: 密匙成對出現,公匙加密只能私匙解反之亦然
- 公匙公開給所有人pubkey
- 私匙自己留存,secret key
- 功能:
- 數子簽名,主要用于接收方確認發送方身份 CA數子證書
- 密匙交換,發送方用對方公匙加密一個對稱密匙發給對方
- 數據加密(太長沒人來用,只用來公匙加密)
- 算法:
- RSA,DSA只能用于認證。ELGamal商業
- 單向加密:只能加密,不能解,提取數據指紋
- 特性:輸出定長,雪崩效應
- 算法:md5 sha1 。。。。。
- 功能:完整性
- 數據傳遞過程加密
- 先用單向加密提取特征碼,用自己私鑰加密特征碼;附加數據后面,再利用對稱秘鑰進行加密,利用秘鑰要換使對方獲知秘鑰,利用對方公匙加密對稱秘鑰
- 密鑰交換 IKE
- 公匙加密 利用算法DH
- 雙方同時對已知的一個數進行運算,然后彼此交換后再次運算
- PKI:public key infrastructure
- 簽證機構:CA 注冊機構:RA 證書結構:CRL 證書庫取庫
- X.509:定義證書結構及標準
- 版本號;序列號;簽名算法ID;發行者名稱;有效期限;主體名稱;主體秘鑰;發行者唯一標識;主體唯一標識;擴展;發行者簽名
- 對稱加密;公匙加密;單向加密;認證協議
- SSL
- ssl/tls 基于ip地址來實現
- 在tcp/ip應用層和傳輸層之間加的半層;如果不適用就是HTTP傳輸文本;使用就是HTTPS傳輸二進制
- 分層:1基礎算法原語的實現;2各種算法的實現;3:組合算法的半成品 4 成品軟件
- ssl的連接過程
- openssl :開元項目
- 三個組件:openssl多用途命令工具 libcryto公共加密庫 libssl庫實現ssl及tls
- 單向加密 dgst 哈希
- openss dgst -md5 filename
- 生成用戶密碼
- openssl passwd -1 -salt 【SALT】
- 生成隨機數
- openssl rand -base64 -hex num num標識字節,-hex每個字符4位
- 生產密匙dui
- openssl genrsa -out filename num(2048)
- 提取公匙
- openssl rsa -in filename -pubout
- 隨機數生成器
- 記錄鍵盤敲擊和磁盤io讀寫中斷來存入熵池
- /dev/random 僅從熵池返回隨機數,隨機數用盡,堵塞
- /dev/urandom 從熵池返回隨機數,用盡后用軟件模擬
- 證書申請流程
- 生成申請請求;RA核驗,CA簽發;證書獲取
- 建立私有CA
- 配置openssl的文件:/etc/pki/tls/openssl.cnf
- 1 :創建CA所需要的文件 在/etc/pki/CA下創建
- touch index.txt echo 01 >serial 輸入初始證書編號
- 注意index.txt必須為空否則會報錯
- 2:CA自簽證
- 配置規定的CA密匙和證書存放位置
- 生成密匙 (umask 077;openssl genrsa -out private/cakey.pem 2048 )
- openssl req -new -x509 -key private/cakey.pem -days 7300 -out cacert.pem
- -new新證書請求 -x509專用ca生成自簽證書 -key生成請求的私鑰文件 -days n證書期限 -out證書路徑
- 配置規定的CA密匙和證書存放位置
- 3:需要生成證書的機器發出請求
- 先生成對稱密匙;利用密匙生成證書請求格式為.csr后綴;發送給ca服務器
- openssl req -new -key httpd.key ? >httpd.csr
- 注意請求;國家和省,公司的名字要一致;其他隨意
- 先生成對稱密匙;利用密匙生成證書請求格式為.csr后綴;發送給ca服務器
- 4:ca蓋章
- 使用ca服務器蓋章后發還給請球者,將生成的證書放在certs文件夾里
- openssl ca -in /tmp/httpd.csr -out certs/httpd.crt -days 365 證書放在/etc/pki/CA/certs/
- 簽證后文件生成.crt后綴文件;https只用到密匙和證書
- 查看證書信息
- openssl x509 -in certs/httpd.crt ?-noout -text|-subject|-serial
- 吊銷證書
- openssl ca -revoke certs/httpd.crt?
- 生成吊銷編號(第一次) echo 01 >/etc/pki/CA/crlnumber
- openssl ca -gencrl -out crl.pem 發布到吊銷數據庫
- ssl/tls 基于ip地址來實現
- openSSH
- ssh安全的遠程登錄,22/TCP
- OpenSSH :ssh的開源實現;dropbear:另一個開源實現
- telnet 23/TCP 不安全連接
- 安裝telnet server
- 啟動服務 chkconfig telnet on
- service xinnetd restart xinnetd是個超級守護進程用來通知服務開啟服務
- 啟動服務 chkconfig telnet on
- 安裝telnet server
- ssh協議版本
- v1基于CRC-32的MAC;不安全
- v2雙方主機協議選擇安全的MAC方式,使用DH算法密匙交換,基于RSA或DSA實現身份驗證
- 兩種用戶登錄認證 基于password 基于key
- 注意 連接主機發生變化時或其他主機冒充時會連接失?。ㄊ状芜B接會獲取公匙存在家目錄下的.ssh/known_hosts)
- 配置文件
- 客戶端配置文件 ssh /etc/ssh/ssh_config
- 服務器端 sshd /etc/ssh/sshd_config
- 常用參數
- prot listenaddress監聽ip
- 限制用戶登錄 AllowUsers use1 use2 AllowGroups
- ssh命令
- -v調試模式顯示連接細節 -X支持顯示圖形 -t
- ssh服務安全
- 不要使用默認端口;禁止protocol version 1 ;限制可登錄用戶 ;設置空閑會話時長
- 利用防火墻設置ssh訪問策略; 監聽特定ip ;使用基于密匙認證
- 禁止空密碼登錄;禁止root直接登錄 ;限制ssh訪問頻率和并發;做好日志分析
- 日志文件 /var/log/secure
- 生成認證秘鑰用于自動登錄
- 主機間
- 生成秘鑰對 ssh-keygen -t rsa -p ”“ -f /home/wang/.ssh/id-rsa -p對秘鑰加密 -f指定文件路徑 注意P是大寫 .ssh文件必須存在
- 傳輸公鑰 ssh-copy-id -i ./ssh/id_rsa.pub root@172.16.100.9
- xshall利用密匙登錄
- 生成密匙復制到 .ssh/authorized_keys
- scp sftp
- -r遞歸復制 -q靜默模式
- scp user@ip /path 遠程復制到本地
- scp /path user@ip 向遠程傳輸文件
- rsync 根據狀態進行復制,如果已經有了文件未發生變化就不復制了
- -r遞歸復制 -p保留權限 –
- -r遞歸復制 -p保留權限 –
- 主機間
- pssh 批處理工具(epl源)
- -h 主機文件列表 -H主機 -A手動輸入密碼
- 注意 未連接過的主機直接使用話報錯
- PSCP.PSSH 批量復制文件到本地
- PSLURP.PSSH -L指定文件從遠程主機復制到本地位置
- pslurp -H 192.168.1.10 -L /app/ /etc/passwd user 復制遠端的passwd到本地app下改名為user
- PSLURP.PSSH -L指定文件從遠程主機復制到本地位置
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99043