運維安全 | 等保視角下的SSH加固之旅
*本文原創作者:ForrestX386,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載
0×00 前言
前段時間在搞等保,根據等保的安全要求,需要對公司的伺服器進行安全加固,其中就涉及到對SSH Server的加固。正好最近有空,筆者將加固過程的一些經驗,總結分享一下,於是有了本文。
0×01 等保視角下的SSH 加固之旅
等保規範中 對主機安全要求有以下一個方面
1)身份鑑別 2)訪問控制 3)審計 4)入侵防範
根據這4點規範要求,結合實際加固經驗,總結如下
一、服務端的加固:
1、登入認證維度的加固
1)、選擇安全的登入認證方式
首推公鑰認證方式
通過ansible 批量更新,或者通過堡壘機的定時任務實現對管理的伺服器上的公鑰進行批量更新
如果需要再進一步提升安全性,可在公鑰認證的基礎上增加二次認證,相關文章有:
ofollow,noindex" target="_blank">基於簡訊的二次認證
嚴禁選擇基於密碼的、基於主機的認證方式:
PasswordAuthentication no HostbasedAuthentication no 禁用使用者的 .rhosts 檔案 IgnoreRhosts yes
如果有條件的可以接入Kerberos 認證
2)選擇安全的ssh-key生成演算法生成的key
ssh key 常見演算法及安全性
DSA: 已被證明不安全,且從OpenSSH Server 7 之後便不再支援
RSA: RSA演算法產生的私鑰的安全性依賴於金鑰的長度,如果金鑰的長度小於3072,則不夠安全,比如常見的2048 位的ssh key 是不夠安全的,1024位直接被標記為不安全
ECDSA:這個演算法產生的金鑰安全性依賴於當前機器產生的隨機數的強度
Ed25519: 目前最為推薦的ssh key 生成演算法,安全性最好!
如何檢視當前認證公鑰key加密演算法及其強度:
for key in ~/.ssh/id_*; do ssh-keygen -l -f "${key}"; done | uniq
如何生成Ed25519演算法的key 呢?
shell下執行命令:
ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C "[email protected]"
3)基於許可權最小化原則,限制不同使用者使用不同角色的賬戶
有的同學登入ssh 伺服器是為了執行日常的運維操作命令,有的同學則單存為了上傳下載檔案,根據許可權最小化原則,則給與日常運維的同學以普通ssh賬戶,可以獲取shell,限制只有上傳下載需求的同學只能sftp登入ssh 伺服器
建議參考文章: 運維安全 | 如何限制指定賬戶不能SSH只能SFTP在指定目錄
2、網路層的訪問控制
1)禁止埠轉發
AllowAgentForwarding no AllowTcpForwarding no X11Forwarding no
通過禁止TCP埠轉發,可以禁止SSH 遠端埠和本地埠轉發功能,也可以禁止SSH 遠端隧道的建立
2) 限制指定的IP才能連線
如果接入了堡壘機,則限制只允許堡壘機的IP連線
iptables -A INPUT -s 堡壘機IP -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j DROP
除了在防火牆上做規則限制,還可以通過TCP Wrapper 和sshd_config的配置命令
3、審計角度的加固
按照等保的要求,伺服器對日常的運維行為必須保留日誌,便於審計
為了實現等保的審計要求,可以選擇加入堡壘機,或者將ssh 登入日誌、bash 操作日誌集中轉發之SOC或者內部日誌平臺(比如通過syslog方式),可以參考的文章有: 安全運維之如何將Linux歷史命令記錄發往遠端Rsyslog伺服器
4、openssh server 本身的安全加固
及時更新openssh server及其依賴的openssl庫的補丁,比如openssh server就曾曝出過比較嚴重漏洞: OpenSSH現中危漏洞,可致遠程程式碼執行
建議關注:openssh 官方安全通告: https://www.openbsd.org/security.html
5、SSH Server 的入侵防範
1)ssh 相關後門進行排查、比如openssh 後門等,相關文章有:
2)ssh 登入日誌的排查
二、客戶端安全加固
從putty、winscp 被爆攜帶後門到xshell多個版本被爆後門,客戶端軟體的安全性值得我們投入更多的精力去關注與改進,不然再牛逼的服務端加固也無濟於事
百度軟體中心版putty被曝惡意捆綁軟體
從等保安全性要求,建議禁止使用破解版的ssh client 軟體,比如SecureCRT 等,避免軟體供應鏈汙染導致的安全問題。
建議從正規官網下載Xshell、MobaXterm、putty、winscp等ssh 客戶端軟體。
0×02 總結
從法律對網路安全要求趨嚴的大環境下,對伺服器的有效的加固是比不可少的環節,本文拋磚引玉,希望更多的業內從業人員分享自己的一線經驗。筆者行文匆忙,定有不足之處,還望各位斧正!
0×03 參考
http://www.freebuf.com/sectool/159488.html
http://www.freebuf.com/column/163631.html
http://www.freebuf.com/column/163631.html
https://blog.g3rt.nl/upgrade-your-ssh-keys.html
*本文原創作者:ForrestX386,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載