Null 密碼
定義:Null 密碼是指允許用戶或系統賬戶使用空密碼(即不輸入任何字符)進行登錄或身份驗證的配置。
危害:
完全繞過身份驗證:
這是最嚴重的危害。攻擊者無需破解或竊取任何密碼,只需輸入用戶名并留空密碼即可直接訪問系統。這相當于沒有門鎖。
暴力破解的“天堂”:
攻擊者可以編寫極其簡單的腳本,自動嘗試所有已知的用戶名并搭配空密碼,成功率極高,且速度非常快。
極易被忽略:
系統管理員可能專注于管理復雜密碼,卻忘記檢查是否存在允許空密碼的賬戶或配置,從而留下一個巨大的安全漏洞。
內外部威脅:
無論是外部攻擊者還是心懷不滿的內部員工,都可以輕松利用此漏洞,幾乎不會留下任何破解痕跡。
修復方案:
強制執行強密碼策略:
在操作系統、數據庫、應用程序層面,配置安全策略,強制要求所有賬戶的密碼必須滿足最小長度、復雜性(包含大小寫字母、數字、特殊字符)要求。
明確禁止空密碼:
Windows:通過組策略 (
Computer Configuration -> Windows Settings -> Security Settings -> Account Policies -> Password Policy
) 確保“密碼必須符合復雜性要求”已啟用,“最小密碼長度”至少為1(實際上應設置為8以上)。Linux:通過?
pam_unix
?或?pam_pwquality
?模塊配置,確保在?/etc/pam.d/system-auth
?或類似文件中沒有?nullok
?參數(該參數允許空密碼)。應使用?minlen
,?lcredit
,?ucredit
?等參數設置復雜性。數據庫/應用:在創建用戶時使用?
IDENTIFIED BY 'strong_password'
?語句,確保密碼不為空。
定期審計和用戶賬戶審查:
定期掃描系統,檢查是否存在密碼為空的賬戶。可以使用自動化腳本或安全配置管理(SCM)工具來完成。
對所有服務賬戶和用戶賬戶進行清理,禁用或刪除不再需要的賬戶。
使用多因素認證(MFA):
即使在某些極端情況下配置錯誤,啟用了MFA也可以增加一層額外的保護,防止空密碼直接導致完全淪陷。但這絕不能作為允許空密碼的借口。
網絡隔離與訪問控制:
對允許遠程登錄的服務(如SSH, RDP, MySQL遠程登錄)實施網絡層訪問控制(防火墻策略),只允許特定的IP地址或網絡段訪問,減少暴露面。