系統賬号安全政策
1 檢查是否隻有 root 使用者 UID 為 0
$ awk -F: '$3==0 {print $1}' /etc/passwd
2 檢查是否存在空密碼使用者
$ awk -F: 'length($2)==0 {print $1}' /etc/shadow
3 将非登入用的使用者 Shell 設為 /sbin/nologin
$ usermod -s /sbin/nologin user01
4 鎖定長期不使用的使用者,禁止登入
$ passwd -l user01
鎖定使用者 user01 的密碼 。
passwd: 操作成功
注:解鎖使用指令:passwd -u user01
5 删除無用使用者(需人工判斷)
$ usermod -r user01
6 禁用所有使用者登入(除root使用者)
$ touch /etc/nologin
注:解除删除該檔案即可
7 設定使用者登入後逾時退出,600秒無任何操作後自動登出
$ vim /etc/profile
export TMOUT=600
8 禁止 root 使用者遠端登入
$ vim /etc/ssh/sshd_config
PermitRootLogin no
9 使用者登入認證失敗次數限制,嘗試登入失敗3次後鎖定10分鐘,修改/etc/pam.d/system-auth 和 /etc/pam.d/password-auth 檔案,增加:
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth required pam_faillock.so authfail audit deny=3 unlock_time=600
account required pam_faillock.so
10 限制使用 su指令的使用者範圍,隻有 root 使用者以及 wheel 組的使用者方可使用 su 功能
$ vim /etc/pam.d/su
auth required pam_wheel.so use_uid
[user01@node01 ~]$ su -
密碼:
su: 拒絕權限
[user01@node01 ~]$ whoami
user01
[root@node01 ~]# gpasswd -a user01 wheel
正在将使用者“user01”加入到“wheel”組中
[user01@node01 ~]$ su -
密碼:
上一次登入:二 11月 29 15:39:22 CST 2022從 192.168.1.109pts/0 上
最後一次失敗的登入:二 11月 29 22:50:40 CST 2022pts/0 上
最有一次成功登入後有 1 次失敗的登入嘗試。
[root@node01 ~]#
密碼政策
1 設定密碼最小長度為8位
$ vim /etc/login.defs
PASS_MIN_LEN 8
2 密碼複雜度政策,設定密碼政策至少包括大寫字母、小寫字母、數字、特殊字元
$ vim /etc/pam.d/system-auth
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=8 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=-1
3 設定特定臨時使用者的過期時間,設定使用者在2022-11-30過期
$ chage -E '2022-11-30' user01
[root@node01 ~]# chage -E '2022-11-30' user01
[root@node01 ~]# chage -l user01
最近一次密碼修改時間 :11月 29, 2022
密碼過期時間 :從不
密碼失效時間 :從不
帳戶過期時間 :11月 30, 2022
兩次改變密碼之間相距的最小天數 :0
兩次改變密碼之間相距的最大天數 :99999
在密碼過期之前警告的天數 :7
密碼修改政策
1 密碼修改最小間隔天數,設定為2天
$ vim /etc/login.defs
PASS_MIN_DAYS 2
2 密碼生存周期,設定60天後必須修改
$ vim /etc/login.defs
PASS_MAX_DAYS 60
3 密碼過期7天前告警
$ vim /etc/login.defs
PASS_WARN_AGE 7
4 禁止使用最近用過的密碼,限定為5個
$ vim /etc/pam.d/system-auth
password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow remember=5
注:舊密碼存放在/etc/security/opasswd檔案中
5 使用者下次登陸時強制修改密碼
$ chage -d 0 user01
[root@node01 ~]# chage -d 0 user01
[root@node01 ~]# chage -l user01
最近一次密碼修改時間 :密碼必須更改
密碼過期時間 :密碼必須更改
密碼失效時間 :密碼必須更改
帳戶過期時間 :從不
兩次改變密碼之間相距的最小天數 :0
兩次改變密碼之間相距的最大天數 :99999
在密碼過期之前警告的天數 :7
** 喜歡請 +關注 ~~,支援就是力量 **