不讓Putty后門盜密碼 一次性密碼來解決
原創2011年的互聯網密碼泄露事件剛剛過去不久,最近又據某站點在微博中爆出《頭條:疑上萬服務器賬號泄露》——部分漢化開源遠程服務器管理軟件Putty、WinSCP、SSH Secure等被爆內置后門,截至目前PuTTY后門服務器已有上萬賬戶泄露,管理員手中的海量數據面臨重大安全危機。
修改密碼,亡羊補牢
每一次面對密碼泄露事件之后,大凡給出的建議方案都是例如“建議盡快修改密碼,策略加固”之類的,以此避免短時間內重復出現密碼泄露情況,算是亡羊補牢方案,無法解決密碼認證自身的靜態屬性,只要存在偷盜,靜態密碼認證機制即面臨其固有的風險。由于各種盜竊技術五花八門,防不勝防,很多時候管理員無法控制服務器登陸密碼被盜。
是否有一種方法,即使非法用戶獲取了賬號密碼之后,仍然無法成功訪問我們管理的服務器資源?
嘗試考慮一次性密碼技術
一次性密碼技術絕對不是一個新的概念,簡而言之即根據特定算法計算出來隨即變化的密碼且一次使用有效,目前通行的是基于時間型的它每隔60/30秒變化一個密碼,然而在服務器登陸認證場景下,它確實是最為合適的。
為什么這樣說?目前服務器一次性密碼認證解決方法是在賬戶密碼認證技術之上,再增加一層一次性密碼認證,從而形成雙因子認證,后門Putty/ WinSCP/SSH Secure通過植入木馬獲取用戶賬戶、密碼、一次性密碼信息并上傳至其服務器中,非法用戶利用盜竊的賬號、密碼、一次性密碼進行非授權訪問,由于該一次性密碼已經使用失效,因此仍然成功訪問服務器。
尤其像IDC、電信運營商、網游、大型企業、政府、互聯網企業等,其服務器數量十分龐大,傳統定期為服務器修改高強度密碼方案可以減少猜測導致的非授權訪問幾率,但仍無法解決偷盜引起的非法登入,另一方面處理修改、遺忘而導致的重置密碼相關的IT管理成本日益增加,采用一次性密碼在提升服務器認證安全同時亦可減少以上開銷。
在服務器管理上,目前通常采用硬件令牌作為一次性密碼生成器,由于密碼產生無需與服務器接觸,因此適合遠程訪問服務器。
由于一次性密碼認證借助Linux/UNIX內置的PAM認證,具體可參考寧盾的《用PAM結合動態密碼提升Linux服務器訪問安全》中提及的方案,需要增加的就是認證服務器軟件,然后配置PAM認證即可,同時它可以與服務器證書機制并存,進一步提升訪問安全,越來越多的企業在服務器管理中已經采用了一次性密碼方案。
以上是筆者實施過多家企業服務器一次性密碼認證的一點淺薄心得,歡迎批評指正。