OpenSSH安全淺析
SSH與OpenSSH
SSH 是建立在應用層基礎上的安全協議,是目前較可靠,專為遠程登錄會話和其他網路服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其他操作平台。我們常用的OpenSSH就是SSH協議的開源實現。
SSH與Shell組成
IETF RFC 4251 到 4256 將 SSH 定義為 「經由一個不安全網路進行遠程登錄和其他安全網路服務的安全 shell 協議」。shell 由三個主要元素組成。
傳輸層協議:提供伺服器身份驗證、隱私和具有完美轉發隱私的完整性。該層可以提供可選壓縮且通過一個 TCP/IP 連接運行,但是也可用於任何其他可靠的數據流之上。
用戶認證協議:從伺服器到客戶端進行身份驗證,且通過傳輸層運行。
連接協議:多路傳輸加密隧道到多個邏輯通道,通過用戶認證協議運行。
如何讓我們的OpenSSH更安全
一、基礎配置,服務端配置文件為/etc/ssh/sshd_config
1、將 root 賬戶僅限制為控制台訪問
PermitRootLogin non
2、僅使用 SSH Protocol 2
3、禁用空密碼
PermitEmptyPasswords non
4、用戶登錄控制
AllowUsers user1@host1 user1@!* *@*nDenyUsers user2n
5、配置 Idle Log Out Timeout 間隔
ClientAliveInterval 300nClientAliveCountMax 0n
6、禁用基於主機的身份驗證
HostbasedAuthentication non
7、禁用用戶的 .rhosts 文件
IgnoreRhosts yesn
8、強密碼策略(生成14位隨機字元密碼)
</dev/urandom tr -dc !@#$%^&*()-+=0-9a-zA-Z | head -c14; echo ""n
9、pam_chroot
通過ssh遠程登錄的用戶將被限制在jail環境中。
10、訪問控制
tcpwrapper(/etc/hosts.allow,/etc/hosts.deny)niptables(限制源IP等)n
二、攻防對抗
一旦攻擊者獲取了相關許可權,就可能安裝openssh後門、或者隱身登錄等。接下來我們看看如何讓攻擊者無所遁形。
隱身登錄(登錄後,不能通過w、who查看到)
通過ssh –T來連接,但-T相當於notty,ctrl+C會中斷會話;
另外,大家都知道,w查看時是通過utmp二進位log,如果攻擊者在獲取許可權後,只要修改了utmp,就可以達到隱身效果,管理員再登錄上來的時候,通過w、who就看不到已經登錄的攻擊者了,如下所示。
當然,這樣操作會造成整個utmp為空,如果是在管理員登錄之後再操作的話,還是會發現異常的。
同時也要處理下wtmp,否則還是會被審計到。
那麼如何快遞排查呢,我們可以通過ps命令查看進程,如下圖所示。
我們可以看到當攻擊者處理掉自己的記錄後,管理員雖然通過w、who看不到,但是進程中卻存在著攻擊者登錄申請的TTY。
以上只是簡單的隱藏,通常情況下,攻擊者獲取許可權後,會安裝openssh後門,成功運行後門後,攻擊者通過後門登錄將不記錄任何日誌,正常用戶登錄該主機或者通過該主機通過ssh連接其他主機時,都會被後門記錄到賬號密碼。
這裡我們介紹如何利用操作系統自身的工具手工快速查找後門,主要用到strace、strings、grep。
通過openssh後門功能中會記錄正常用戶登錄賬號密碼,因此猜測會用到open系統調用,只要在登錄是用strace跟蹤sshd打開的系統調用,然後過濾open,就應該能獲取到記錄密碼的文件及路徑。
strace –o ssh –ff –p pid
可以看到記錄文件中關鍵字為user:password,而且因為後門密碼是硬編碼在後門patch中的,因此我們通過關鍵字利用strings可以找到攻擊者的openssh後門密碼。
如果安全意識不高的攻擊者使用了自己攻擊機器的通用密碼,通過抓包獲取到攻擊者攻擊IP後,就有可能控制攻擊者的機器。(意淫)
攻擊者通過openssh後門登錄後,w、who同樣看不到登錄信息,但ps查看進程,仍然可以看到申請到的TTY,也可以快速發現攻擊行為。
以上只是最基礎一些小tips,歡迎各位大佬拍磚。
本篇文章為懸鏡安全實驗室原創文章,如需轉載請標註來源:http://lab.xmirror.cn/。
懸鏡安全實驗室介紹:
懸鏡安全實驗室由資深安全專家結合多年的安全工程實施經驗和技術儲備為行業客戶提供專業的安全保障和安全諮詢等服務,主要包括:伺服器防黑加固、高級滲透測試、安全事件應急響應、信息系統安全風險評估、安卓App風險評估及APT模擬攻擊測試等,全天候7*24位金融、電商、開發者和政企客戶的各類應用服務提供一站式【雲+端】防黑加固解決方案。
推薦閱讀:
※Chrome Trubofan 優化不當而導致的 RCE
※如何學習物聯網安全?
※安全套接層有什麼用?
※如何評價 KoolShare 論壇的 merlin 改版固件?
※有人用簡訊轟炸機騷擾我,報警警察能查到他嗎?