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