Linux账号权限须遵循最小化原则:普通用户禁用root权限,提权仅限sudo;禁用非必要系统账号并锁定shell与密码;强化密码策略与多因素认证;启用操作审计与日志集中留存。...
Linux账号权限须遵循最小化原则:普通用户禁用root权限,提权仅限sudo;禁用非必要系统账号并锁定shell与密码;强化密码策略与多因素认证;启用操作审计与日志集中留存。
账号权限最小化原则
Linux系统中每个账号的权限必须严格遵循“最小必要”原则。普通用户不应拥有root权限,临时提权应通过sudo而非直接切换root。检查账号权限的第一步是运行:
sudo -l -U username —— 查看该用户被允许执行的sudo命令
groups username —— 查看所属用户组,特别注意是否在wheel、sudo或docker等高危组中
禁用无用账号与默认账户
系统安装后常残留ftp、sync、games等非必要系统账号,它们shell通常设为/bin/false或/usr/sbin/nologin,但仍有潜在风险。建议统一锁定:
-
sudo usermod -s /usr/sbin/nologin username —— 禁止登录shell
-
sudo usermod -L username —— 锁定密码(在/etc/shadow中加!前缀)
- 对确认废弃的账号,直接删除:sudo userdel -
r username
特别注意:不要删除root、daemon、sys等核心系统账号,仅调整其shell和密码状态。
密码策略与多因素加固
仅靠密码已不足以保障安全。需组合使用以下措施:
- 启用PAM密码复杂度校验:编辑/etc/pam.d/common-password,添加行:
password requisite pam_pwquality.so retry=3 minlen=12 difok=3 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
- 设置密码有效期:sudo chage -M 90 -m 7 -W 7 username(90天过期,7天前警告)
- 对关键运维账号,部署SSH密钥+YubiKey或TOTP(如libpam-google-authenticator),禁用密码登录:
在/etc/ssh/sshd_config中设PasswordAuthentication no,重启sshd
操作行为审计与日志留存
权限治理必须配套可追溯的审计能力。重点配置以下日志源:
-
/var/log/auth.log(Debian/Ubuntu)或/var/log/secure(RHEL/CentOS):记录所有sudo、su、SSH登录事件
- 启用命令执行记录:在/etc/bash.bashrc或用户~/.bashrc中添加:
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.info "$(whoami) [$$] $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//") [$RETRN_VAL]"'
- 集中收集日志:用rsyslog或journalctl将auth日志转发至SIEM系统,保留至少180天
定期用sudo ausearch -m USER_CMD -ts today(需启用auditd)或grep "sudo:" /var/log/auth.log抽查高危操作。
# linux
# ssh
# debian
# 普通用户
# 设为
# 不应
# 仍有
# 而非
# 仅限
# 重启
# 该用户
# history
# 事件
# var
# word
# centos
# go
# docker
# ubuntu
# google
# linux系统
# 系统安装
# red
# bash
# 中加