创建账户(禁止交互式登录)
powershell
sudo useradd -s /sbin/nologin sysadmin # 系统管理员
sudo useradd -s /sbin/nologin secadmin # 安全管理员
sudo useradd -s /sbin/nologin auditadmin # 审计管理员
设置强密码(需符合等保复杂度要求)
powershell
sudo passwd sysadmin
sudo passwd secadmin
sudo passwd auditadmin
(2)配置sudo权限
系统管理员权限(示例)
powershell
sysadmin ALL=(ALL) /usr/bin/apt,/usr/bin/yum,/usr/bin/systemctl,/usr/sbin/useradd,/usr/sbin/userdel,/sbin/ifconfig
安全管理员权限(示例)
powershell
secadmin ALL=(ALL) /usr/sbin/iptables,/usr/sbin/setsebool,/usr/bin/passwd,/usr/bin/chmod,/usr/sbin/ausearch
审计管理员权限(仅读权限)
powershell
auditadmin ALL=(ALL) /usr/bin/cat /var/log/*,/usr/sbin/ausearch,/usr/bin/less /var/log/*
或者使用下面的权限控制
#系统管理员
powershell
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
sysadmin ALL=(root) SOFTWARE,SERVICES,STORAGE
#安全管理员
powershell
Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, /bin/chgrp
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
secadmin ALL=(root) DELEGATING,PROCESSES,NETWORKING
#审计管理员的权限
powershell
auditadmin ALL=(root) NOPASSWD:/usr/sbin/aureport,NOPASSWD:/usr/sbin/autrace,NOPASSWD:/usr/sbin/ausearch,NOPASSWD:/usr/sbin/audispd,NOPASSWD:/usr/sbin/auditctl
测试配置是否正确
visudo -c
(3)配置审计日志保护
设置日志目录权限
powershell
sudo chown -R root:auditadmin /var/log
sudo chmod -R 750 /var/log
sudo chmod 640 /var/log/*.log
安装并配置auditd(审计守护进程)
powershell
sudo apt-get install auditd
sudo auditctl -e 1 # 启用审计
(4)配置SSH访问控制
在/etc/ssh/sshd_config中限制角色登录
powershell
AllowUsers sysadmin secadmin auditadmin
(5)启用历史操作记录
powershell
vim /etc/pam.d/system-auth
auth required pam_faillock.so preauth silent deny=5 unlock_time=300
auth required pam_faillock.so authfail deny=5 unlock_time=300
account required pam_faillock.so