一、檢查是否存在除root之外UID為0 的用戶
1 配置要求: 2 除root之外的其他賬號UID不能為0 3 檢查步驟: 4 執行以下命令查看系統中UID為0的賬號 5 awk -F : '($3 == 0) {print $1}' /etc/passwd 6 合規標准: 7 除root之外無其他UID為0的賬戶則合規。否則不合規 8 加固方案: 9 1.執行備份 10 cp -p /etc/passwd /etc/passwd.bat 11 cp -p /etc/shadow /etc/shadow.bat 12 cp -p /etc/group /etc/group.bat 13 2.刪除除root以外uid為0的賬戶(刪除之前應確保賬號未被其他業務使用) 14 userdel usename
二、檢查系統中是否存在空密碼賬戶
1 配置要求: 2 在/etc/shadow文件中第二項不能為空 3 檢查步驟: 4 執行以下命令查看系統中是否存在空密碼賬戶 5 awk -F : '($2 == "") {print $1}' /etc/shadow 6 合規標准: 7 執行上面命令后顯示為空則合規。否則不合規 8 加固方案: 9 1.執行備份 10 cp -p /etc/shadow /etc/shadow.bat 11 cp -p /etc/passwd /etc/passwd.bat 12 cp -p /etc/group /etc/group.bat
13 2.設置密碼
14 passwd username
15 測試:
16 1.創建用戶:
17 useradd aaa (此時aaa沒有設置密碼,但還不能使用空密碼登錄)
18 2.使用root賬戶清除aaa密碼
19 passwd -d aaa
20 3.再次使用如下命令檢查
21 awk -F : '($2 == "") {print $1}' /etc/shadow (此時發現顯示不為空了)
三、檢查用戶口令設置
1 配置要求: 2 密碼設置必須符合策略 3 檢查步驟: 4 執行以下命令檢查以下參數 5 PASS_MAX_DAYS 密碼最長過期天數參考值90 6 PASS_MIN_DAYS 密碼最小過期天數參考值0 7 PASS_MIN_LEN 密碼最小長度參考值8 8 PASS_W ARN_AGE 密碼過期警告天數參考值7 9 合規標准: 10 密碼設置符合策略則合規。否則不合規 11 加固方案: 12 1.執行備份 13 cp -p /etc/login.defs /etc/login.defs.bat 14 2.修改如下參數 15 PASS_MAX_DAYS 密碼最長過期天數參考值90 16 PASS_MIN_DAYS 密碼最小過期天數參考值0 17 PASS_MIN_LEN 密碼最小長度參考值8 18 PASS_W ARN_AGE 密碼過期警告天數參考值7
四、對用戶密碼強度的設置
1 配置要求: 2 設置新密碼不能和舊密碼相同,新密碼至少8位,同時包含大小寫字母、數字和符號 3 檢查步驟: 4 執行以下命令修改參數 5 vi /etc/pam.d/sysetm-auth 6 difok= :此選項用來定義新密碼中必須要有幾個字符和舊密碼不同 7 minlen=:此選項用來設置新密碼的最小長度 8 ucredit= :此選項用來設定新密碼中可以包含的大寫字母的最大數目。-1 至少一個 9 lcredit=:此選項用來設定新密碼中可以包含的小寫字母的最大數目 10 dcredit=:此選項用來設定新密碼中可以包含的數字的最大數目 11 ocredit=:此選項用來設定新密碼中可以包含的標點符號的最大數目 12 合規標准: 13 新密碼不能和舊密碼相同,新密碼至少8位,同時包含大小寫字母、數字和符號則合規。否則不合規 14 加固方案: 15 1.執行備份 16 cp -p /etc/pam.d/sysetm-auth /etc/pam.d/sysetm-auth.bat 17 2.修改參數 18 password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
19:注:這個密碼強度的設定只對普通用戶有限制作用,root用戶無論修改自己的密碼還是修改普通用戶的時候,不符合強度設置依然可以設置成
五、對用戶的登錄次數進行限制
1 配置要求: 2 對用戶登錄次數進行限制 3 檢查步驟: 4 執行以下命令修改文件中的參數 5 vi /etc/pam.d/sshd 6 合規標准: 7 對用戶登錄次數進行限制,當普通用戶輸入密碼錯誤達到3次鎖定150秒,root用戶輸入密碼錯誤達到3次鎖定300秒則合規。否則不合規
注:鎖定的意思即使密碼輸入正確也無法登錄成功。 8 加固方案: 9 1.執行備份 10 cp -p /etc/pam.d/sshd /etc/pam.d/sshd.bat 11 2.設置如下 12 auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300
測試:當密碼輸入三次錯誤時,用戶密碼被鎖定
查看被鎖定用戶
將被鎖定的用戶解鎖
查看被鎖定用戶
六、禁止root用戶遠程登錄
1 配置要求: 2 禁止root用戶遠程登錄 3 檢查步驟: 4 執行以下命令修改文件中的參數 5 vi /etc/ssh/sshd_config 6 修改參數為PermitRootLogin no 7 合規標准: 8 root用戶無法遠程登錄(如CRT登錄)則合規。否則不合規 9 加固方案: 10 1.執行備份 11 cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bat 12 2.修改如下 13 進入/etc/ssh/sshd_config文件 14 修改參數:PermitRootLogin no
測試遠程登錄:
提示密碼驗證失敗,請檢查用戶名和密碼是否正確
七、設置歷史命令保存條數和賬戶超時時間
1 配置要求: 2 設置歷史命令保存條數和賬戶超時時間 3 檢查步驟: 4 執行以下命令修改文件中的參數 5 vi /etc/profile 6 修改參數為 HISTSIZE=100 7 TMOUT=600 8 合規標准: 9 這個歷史條數和超時時間不要太大,越小越好 10 加固方案: 11 1.執行備份 12 cp -p /etc/profile /etc/profile.bat 13 2.修改如下 14 進入/etc/profile文件 15 修改參數:HISTSIZE=100 16 TMOUT=600
八、設置只有指定用戶組才能使用su命令切換到root用戶
配置要求:只有指定用戶才能使用su命令切換到root用戶 檢查步驟: 將普通用戶加入wheel組。usermod -G wheel linux 執行以下命令編輯文件 vi /etc/pam.d/su 將下面這行注釋去掉 auth required pam_wheel.so use_uid 執行以下命令編輯文件 vi /etc/login.defs 末尾加入SU_WHEEL_ONLY yes 即可。 合規標准: 這個歷史條數和超時時間不要太大,越小越好 加固方案: 1.執行備份 cp -p /etc/pam.d/su /etc/pam.d/su.bat 2.修改如下 將普通用戶加入wheel組:usermod -G wheel linux 執行以下命令編輯文件:vi /etc/pam.d/su 將下面這行注釋去掉:auth required pam_wheel.so use_uid 執行以下命令編輯文件:vi /etc/login.defs 末尾加入SU_WHEEL_ONLY yes 即可。
測試:切換用戶aaa,用aaa用戶切換su - root,提示登錄拒絕。
利用用戶linux切換su - root 登錄成功。
九、對Linux賬戶進行管理
1 檢查規則: 2 使用如下命令檢查: 3 1.查看具有登錄權限的用戶: 4 使用命令 awk -F: '($7=="/bin/bash"){print $1}' /etc/passwd 5 2.查看UID為0的賬號,UID為0的用戶會自動切換到root用戶,所以危害很大 6 使用命令 awk -F: '($3==0)' /etc/passwd 7 3.查看空口令賬號,如果存在空口令用戶的話必須設置密碼 8 使用命令 awk -F: '($2=="")' /etc/shadow 9 加固方案: 10 1.刪除不必要的賬戶 11 使用命令 userdel -r usename 12 2.鎖定不必要的賬戶 13 使用命令 passwd -l username 14 注意:username是刪除或鎖定的賬戶名稱
十、對重要文件進行鎖定,即使是root'用戶也無法刪除
1 設置要求: 2 根據公司的業務需求,覺得哪些文件比較重要,就設置 3 加固方案: 4 chattr 改變文件或目錄的擴展屬性 5 lsattr 查看文件目錄的擴展屬性 6 操作命令: 7 chattr +i /etc/passwd /etc/shadow //增加屬性 8 chattr -i /etc/passwd /etc/shadow //移除屬性 9 sattr /etc/passwd /etc/shadow //查看修改后屬性