強制用戶不重用最近使用的密碼,下降密碼猜想攻擊風險。shell
加固建議安全
在 /etc/pam.d/password-auth 和 /etc/pam.d/system-auth 中 password sufficient pam_unix.so 這行的末尾配置 remember
參數爲5-24之間,原來的內容不用更改,只在末尾加了 remember=5
。服務器
確保SSH LogLevel設置爲 INFO,記錄登陸和註銷活動。dom
加固建議ssh
編輯 /etc/ssh/sshd_config 文件以按以下方式設置參數(取消註釋):佈局
LogLevel INFO
複製代碼
設置SSH空閒超時退出時間,可下降未受權用戶訪問其餘用戶ssh會話的風險。ui
加固建議spa
編輯 /etc/ssh/sshd_config,將 ClientAliveInterval
設置爲300到900,即5-15分鐘,將ClientAliveCountMax
設置爲0-3之間。unix
ClientAliveInterval 600
ClientAliveCountMax 2
複製代碼
SSHD強制使用V2安全協議。日誌
加固建議
編輯 /etc/ssh/sshd_config 文件以按以下方式設置參數:
Protocol 2
複製代碼
設置較低的 Max AuthTrimes 參數將下降SSH服務器被暴力攻擊成功的風險。
加固建議
在 /etc/ssh/sshd_config 中取消 MaxAuthTries
註釋符號#,設置最大密碼嘗試失敗次數3-6,建議爲4:
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>
複製代碼