強制用戶不重用最近使用的密碼,下降密碼猜想攻擊風險。
加固建議shell
在 /etc/pam.d/password-auth 和 /etc/pam.d/system-auth 中 password sufficient pam_unix.so 這行的末尾配置 remember
參數爲5-24之間,原來的內容不用更改,只在末尾加了 remember=5
。安全
確保SSH LogLevel設置爲 INFO,記錄登陸和註銷活動。
加固建議服務器
編輯 /etc/ssh/sshd_config 文件以按以下方式設置參數(取消註釋):dom
LogLevel INFO
設置SSH空閒超時退出時間,可下降未受權用戶訪問其餘用戶ssh會話的風險。
加固建議ssh
編輯 /etc/ssh/sshd_config,將 ClientAliveInterval
設置爲300到900,即5-15分鐘,將ClientAliveCountMax
設置爲0-3之間。佈局
ClientAliveInterval 600 ClientAliveCountMax 2
SSHD強制使用V2安全協議。
加固建議spa
編輯 /etc/ssh/sshd_config 文件以按以下方式設置參數:unix
Protocol 2
設置較低的 Max AuthTrimes 參數將下降SSH服務器被暴力攻擊成功的風險。
加固建議日誌
在 /etc/ssh/sshd_config 中取消 MaxAuthTries
註釋符號#,設置最大密碼嘗試失敗次數3-6,建議爲4:code
MaxAuthTries 4
設置密碼修改最小間隔時間,限制密碼更改過於頻繁。
加固建議
在 /etc/login.defs 中將 PASS_MIN_DAYS
參數設置爲7-14之間,建議爲7:
PASS_MIN_DAYS 7
需同時執行命令爲root用戶設置:
chage --mindays 7 root
設置密碼失效時間,強制按期修改密碼,減小密碼被泄漏和猜想風險,使用非密碼登錄方式(如密鑰對)請忽略此項。
加固建議
使用非密碼登錄方式如密鑰對,請忽略此項。在 /etc/login.defs 中將 PASS_MAX_DAYS
參數設置爲 60-180之間,如:
PASS_MAX_DAYS 90
需同時執行命令設置root密碼失效時間:
chage --maxdays 90 root
檢查密碼長度和密碼是否使用多種字符類型。
加固建議
編輯 /etc/security/pwquality.conf,把 minlen
(密碼最小長度)設置爲9-32位,把 minclass
(至少包含小寫字母、大寫字母、數字、特殊字符等4類字符中等3類或4類)設置爲3或4。如:
minlen=10 minclass=3
除root之外其餘UID爲0的用戶都應該刪除,或者爲其分配新的UID。
加固建議
除root之外其餘UID爲0的用戶都應該刪除,或者爲其分配新的UID
查看命令:
cat /etc/passwd | awk -F: '($3 == 0) { print $1 }'|grep -v '^root$'
它將進程的內存空間地址隨機化來增大入侵者預測目的地址難度,從而下降進程被成功入侵的風險。
加固建議
執行命令:
sysctl -w kernel.randomize_va_space=2
設置用戶權限配置文件的權限。
加固建議
執行如下5條命令
chown root:root /etc/passwd /etc/shadow /etc/group /etc/gshadow chmod 0644 /etc/group chmod 0644 /etc/passwd chmod 0400 /etc/shadow chmod 0400 /etc/gshadow
訪問控制配置文件的權限設置。
加固建議
運行如下4條命令:
chown root:root /etc/hosts.allow chown root:root /etc/hosts.deny chmod 644 /etc/hosts.deny chmod 644 /etc/hosts.allow
確保 rsyslog 服務已啓用,記錄日誌用於審計。
加固建議
運行如下命令啓用 rsyslog
服務:
systemctl enable rsyslog systemctl start rsyslog
確保密碼到期警告天數爲7或更多。
加固建議
在 /etc/login.defs 中將 PASS_WARN_AGE
參數設置爲7-14之間,建議爲7:
PASS_WARN_AGE 7
同時執行命令使root用戶設置生效:
chage --warndays 7 root
禁止SSH空密碼用戶登陸。
加固建議
編輯文件 /etc/ssh/sshd_config,將 PermitEmptyPasswords
配置爲no:
PermitEmptyPasswords no
檢查系統空密碼帳戶。
加固建議
爲用戶設置一個非空密碼,或者執行一下命令鎖定用戶
passwd -l <username>