Openssl,openssh
1.加密算法:
1. 首先提取出數據的特徵碼,使用自己的私鑰進行加密;然後生成一串密碼,使用這串密碼對數據進行對稱加密。最後利用數據接收方的公鑰對密碼進行加密。
2. 首先利用自己的私鑰對對稱加密使用的密碼進行解密;然後使用密碼對數據進行解密;再利用發送方的公鑰對加密後的特徵碼進行解密;並利用特徵碼對數據進行校驗。
OpenSSL的使用:
1.文本加密及解密
2.單向加密,生成用戶密鑰,生成隨機數
3.生成密鑰及公鑰
搭建簡易的CA
1. 生成密鑰
2. 估計密鑰生成文件證書
3. 生成工作環境
4. 證書籤署
節點生成證書併發送給CA
#scp file.csr username@CAserver:/path
CA簽署證書
#openssl ca -in file.csr -out file.crt -days #
CA將證書發送給節點
# scpfile.csr username@CAserver:/path吊銷證書
5.證書籤署
節點獲取證書serial
# opensslx509 -in /path/to/cerificate_file.crt -noout -serial -subject
CA驗證證書信息
#openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem
# echo00 >/etc/pki/CA/crlnumber (僅在第一次吊銷時使用)
更新證書吊銷列表文件
# openssl ca -gencrl -out /etc/CA/crl/ca.cr
注意:
1、不要使用默認的22號端口
2、不要使用protocol 1
3、限制可登陸的用戶
白名單:
AllowUsersuser1 user2 user3 ...
AllowGroupsgrp1 grp2 grp3 ...
黑名單:
DenyUsers
DenyGroups
4、設定空閒會話超時時長
ClientAliveInterval 300s
ClientAliveCountMax 0
5、利用防火牆設置ssh訪問策略
6、僅監聽在特定的IP地址,而非本機所有的IP地址
7、使用強密碼策略
tr -dc A-Za-z0-9_ < /dev/urandom | head -c# | xargs
8、使用基於密鑰的認證
9、禁止使用空密碼
10、禁止root直接登錄
11、限制ssh的訪問頻度
12、做好日誌記錄,週期性分析