主题
等保-Linux服务器三权分立配置指南
文档版本:v1.0
创建日期:2025年
适用范围:Linux服务器等保合规配置
维护责任:网络信息安全
一、概述
三级等保要求实现"三权分立"管理模式,即将系统管理权限分离为配置权、授权权和审计权,分别由系统管理员、安全管理员和审计管理员负责,确保权限制衡,避免权力过度集中带来的安全风险。
1.1 合规要求
- 符合《信息安全等级保护基本要求》第三级标准
- 实现管理用户的权限分离和最小权限原则
- 建立有效的权限制衡机制
二、三权分立原理
2.1 三员职责划分
2.1.1 系统管理员(配置权)
主要职责:
- 系统资源配置和运行管理
- 用户身份管理
- 系统加载和启动管理
- 系统运行异常处理
- 数据和设备备份与恢复
- 日常运维工作
权限范围:
- 软件包管理(rpm, yum等)
- 系统服务管理(systemctl等)
- 存储设备管理(fdisk, mount等)
2.1.2 安全管理员(授权)
主要职责:
- 安全策略配置
- 安全参数设置
- 主体授权管理
- 可信验证策略配置
- 用户权限管理
- 安全事件处理
权限范围:
- 权限委派(visudo, chmod等)
- 进程管理(kill, killall等)
- 网络配置(iptables, ifconfig等)
2.1.3 审计管理员(审计权)
主要职责:
- 审计记录分析
- 审计策略配置
- 审计日志管理
- 操作行为监督
- 违规行为发现和报告
权限范围:
- 审计工具使用(aureport, ausearch等)
- 日志查看和分析
- 审计配置管理
2.2 权限分离原则
- 互斥性:同一设备的系统管理员和审计管理员不能由同一人兼任
- 制衡性:安全管理员和审计管理员不得由同一人兼任
- 最小权限:每个管理员只拥有履行职责所需的最小权限
- 职责分离:不同管理员负责不同的安全职能
三、实施步骤
以OpenEuler 22.03 LTS SP4 发行版举例
3.1 第一步:创建三员账户
bash
# 1. 创建系统管理员账户
useradd sysadmin
passwd sysadmin
# 2. 创建安全管理员账户
useradd secadmin
passwd secadmin
# 3. 创建审计管理员账户
useradd auditadmin
passwd auditadmin
3.2 第二步:配置sudo权限
编辑sudo配置文件:
bash
visudo
添加以下配置内容:
bash
# ==================== 系统管理员权限配置 ====================
# 软件包管理权限
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum, /usr/bin/dnf
# 系统服务管理权限
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, \
/sbin/mkfs, /sbin/fsck
# 系统管理员权限分配
sysadmin ALL=(root) SOFTWARE, SERVICES, STORAGE
# ==================== 安全管理员权限配置 ====================
# 权限委派管理
Cmnd_Alias DELEGATING = /usr/sbin/visudo, /bin/chown, /bin/chmod, \
/bin/chgrp, /usr/sbin/useradd, /usr/sbin/userdel, \
/usr/sbin/usermod, /usr/sbin/groupadd, /usr/sbin/groupdel
# 进程管理权限
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, \
/usr/bin/killall, /bin/ps, /usr/bin/top
# 网络管理权限
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, /usr/sbin/ufw
# 安全管理员权限分配
secadmin ALL=(root) DELEGATING, PROCESSES, NETWORKING
# ==================== 审计管理员权限配置 ====================
# 审计工具权限
Cmnd_Alias AUDIT_TOOLS = /usr/sbin/aureport, /usr/sbin/autrace, /usr/sbin/ausearch, \
/usr/sbin/audispd, /usr/sbin/auditctl
Cmnd_Alias AUDIT_LOG = /usr/bin/cat /var/log/*, /usr/bin/less /var/log/*, /usr/bin/tail /var/log/*, /usr/bin/head /var/log/*
#审计管理员权限分配
auditadmin ALL=(root) AUDIT_TOOLS, AUDIT_LOG
还需单独给审计用户 查看日志的权限;日志文件本身的权限通常是 600/640,普通用户读不了。这里需要配合组或 ACL 来开放审计用户的只读权限,或者改用 journalctl 并把用户加入 systemd-journal 组。
- 选择,加入系统日志组的方式
usermod -aG systemd-journal auditadmin
启用系统审计:
bash
# 启动审计服务
systemctl enable auditd
systemctl start auditd
# 配置审计规则
echo "-w /etc/passwd -p wa -k user_modification" >> /etc/audit/rules.d/audit.rules
echo "-w /etc/shadow -p wa -k password_modification" >> /etc/audit/rules.d/audit.rules
echo "-w /etc/sudoers -p wa -k privilege_modification" >> /etc/audit/rules.d/audit.rules
3.3 第三步:验证配置
bash
# 检查sudo配置语法
visudo -c
四、权限配置详解
4.1 系统管理员权限详解
权限类别 | 命令示例 | 用途说明 |
---|---|---|
软件包管理 | sudo yum install package | 安装、更新、删除软件包 |
服务管理 | sudo systemctl restart service | 启动、停止、重启系统服务 |
存储管理 | sudo mount /dev/sdb1 /mnt | 挂载、卸载存储设备 |
4.2 安全管理员权限详解
权限类别 | 命令示例 | 用途说明 |
---|---|---|
用户管理 | sudo useradd newuser | 创建、删除、修改用户账户 |
权限管理 | sudo chmod 755 /path/file | 修改文件和目录权限 |
网络安全 | sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT | 配置防火墙规则 |
4.3 审计管理员权限详解
权限类别 | 命令示例 | 用途说明 |
---|---|---|
审计查询 | sudo ausearch -k login | 搜索特定审计事件 |
审计报告 | sudo aureport --auth | 生成认证相关审计报告 |
日志查看 | sudo tail -f /var/log/secure | 实时查看安全日志 |
五、测试验证
5.1 系统管理员权限测试
bash
# 切换到系统管理员账户
su - sysadmin
# 测试软件包管理权限
sudo yum list installed
# 测试服务管理权限
sudo systemctl status sshd
# 测试存储管理权限
sudo df -h
# 测试无权限操作(应该失败)
sudo iptables -L # 应该被拒绝
5.2 安全管理员权限测试
bash
# 切换到安全管理员账户
su - secadmin
# 测试用户管理权限
sudo useradd testuser
# 测试权限管理
sudo chmod 644 /tmp/testfile
# 测试删除用户及其用户家目录
sudo userdel -r testuser
# 测试网络管理权限
sudo iptables -L
# 测试无权限操作(应该失败)
sudo yum install package # 应该被拒绝
5.3 审计管理员权限测试
bash
# 切换到审计管理员账户
su - auditadmin
# 测试审计查询权限
sudo ausearch -ts today
# 测试日志查看权限
sudo tail /var/log/secure
# 测试审计报告生成
sudo aureport --summary
# 测试无权限操作(应该失败)
sudo systemctl restart sshd # 应该被拒绝
六、相关法规标准
- 《信息安全等级保护基本要求》(GB/T 22239-2019)
- 《信息安全等级保护实施指南》(GB/T 25058-2019)
- 《中华人民共和国计算机信息系统安全保护条例》