等保-linux-三权分立账号设置,系统管理员、安全管理员、审计管理员

在Linux系统中实现等保(信息安全等级保护)要求的"三权分立"(系统管理员、安全管理员、审计管理员)账号设置,需要按照最小权限原则进行权限划分。以下是具体实施方案:


1. 账号角色定义

角色职责范围对应Linux权限
系统管理员日常系统运维、资源配置、网络管理、普通用户管理sudo权限限于:软件安装/卸载、服务管理、磁盘管理、网络配置、用户管理(非特权)
安全管理员安全策略配置、权限分配、安全审计配置、安全事件处理sudo权限限于:防火墙/SElinux配置、密码策略、文件权限修改、审计规则查看
审计管理员审计日志收集与分析、监控系统操作、审计策略配置(无权操作被审计内容)仅能查看日志文件(/var/log/)、使用审计工具(如auditd),但无系统修改权限

2. 具体实施步骤

(1) 创建三个角色账户
# 创建账户(禁止交互式登录)sudouseradd -s /sbin/nologin sysadmin # 系统管理员sudouseradd -s /sbin/nologin secadmin # 安全管理员sudouseradd -s /sbin/nologin auditadmin # 审计管理员# 设置强密码(需符合等保复杂度要求)sudopasswd sysadmin sudopasswd secadmin sudopasswd auditadmin 
(2) 配置sudo权限

编辑/etc/sudoers(建议使用visudo命令):

# 系统管理员权限(示例) sysadmin ALL=(ALL) /usr/bin/apt,/usr/bin/yum,/usr/bin/systemctl,/usr/sbin/useradd,/usr/sbin/userdel,/sbin/ifconfig # 安全管理员权限(示例) secadmin ALL=(ALL) /usr/sbin/iptables,/usr/sbin/setsebool,/usr/bin/passwd,/usr/bin/chmod,/usr/sbin/ausearch # 审计管理员权限(仅读权限) auditadmin ALL=(ALL) /usr/bin/cat /var/log/*,/usr/sbin/ausearch,/usr/bin/less /var/log/* 或者使用下面的权限控制 #系统管理员 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 #安全管理员 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 #审计管理员的权限 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) 配置审计日志保护
# 设置日志目录权限sudochown -R root:auditadmin /var/log sudochmod -R 750 /var/log sudochmod640 /var/log/*.log # 安装并配置auditd(审计守护进程)sudoapt-getinstall auditd sudo auditctl -e 1# 启用审计
(4) 配置SSH访问控制
# 在/etc/ssh/sshd_config中限制角色登录 AllowUsers sysadmin secadmin auditadmin 
(5) 启用历史操作记录
# 为每个角色配置独立操作日志sudoecho"export PROMPT_COMMAND='whoami>> /var/log/role_audit.log'">> /etc/profile 

3. 权限验证要点

  • 系统管理员:应能管理用户但无法修改审计规则或查看敏感日志
  • 安全管理员:应能配置防火墙但无法安装软件或查看其他用户的操作日志
  • 审计管理员:应能查看所有日志但无法执行rmchmod等修改命令

4. 等保合规要求

  1. 账号唯一性:禁止共享账号,每个管理员使用独立账户
  2. 权限分离:确保三个角色权限无交叉(尤其注意审计员不能有写权限)
  3. 日志留存:审计日志至少保留6个月,建议配置远程日志服务器
  4. 定期审查:每季度检查权限分配和日志完整性

5. 增强建议

  • 配置堡垒机进行集中权限管理
  • 部署SElinux增强权限控制
  • 使用auditd监控特权命令执行
  • 对sudo操作进行二次认证(如配置pam_tty_audit)

通过以上配置,可满足等保2.0三级及以上系统对"三权分立"的要求。实际部署时需根据具体业务需求调整权限命令列表。

Read more

使用 VS Code 连接 MySQL 数据库

使用 VS Code 连接 MySQL 数据库

文章目录 * 前言 * VS Code下载安装 * 如何在VS Code上连接MySQL数据库 * 1、打开扩展 * 2、安装MySQL插件 * 3、连接 * 导入和导出表结构和数据 前言 提示:这里可以添加本文要记录的大概内容: 听说VS Code不要钱,功能还和 Navicat 差不多,还能在上面打游戏 但是没安装插件是不行的 发现一个非常牛的博主 还有一个非常牛的大佬 提示:以下是本篇文章正文内容,下面案例可供参考 VS Code下载安装 VS Code下载安装 如何在VS Code上连接MySQL数据库 本篇分享是在已有VS Code这个软件的基础上,数据库举的例子是MySQL 1、打开扩展 2、安装MySQL插件 在搜索框搜索 MySQL和 MySQL Syntax,下载这三个插件 点击下面的插件,选择【install】安装

By
RustFS 保姆级上手指南:国产开源高性能对象存储

RustFS 保姆级上手指南:国产开源高性能对象存储

最近在给项目选型对象存储的时候,发现一个挺有意思的现象:一边是MinIO社区版功能逐渐“躺平”,另一边是大家对存储性能和安全性的要求越来越高。就在这时,一个叫 RustFS 的国产开源项目闯入了我的视野。 折腾了一阵子后,我感觉这玩意儿确实有点东西。它用Rust语言写,天生就带着高性能和内存安全的基因,性能号称比MinIO快一大截,而且用的是对商业友好的Apache 2.0协议。今天,我就手把手带大家从零开始,搭建一个属于自己的RustFS服务,体验一下国产存储的威力。 一、 RustFS是什么?为什么值得你关注? 简单说,RustFS是一个 分布式对象存储系统 。你可以把它理解成一个你自己搭建的、功能跟阿里云OSS、亚马逊S3几乎一样的“私有云盘”。 但它有几个非常突出的亮点,让我觉得必须试试: * 性能猛兽 :基于Rust语言开发,没有GC(垃圾回收)带来的性能抖动,官方数据显示在4K随机读场景下,性能比MinIO高出40%以上,内存占用还不到100MB,简直是“小钢炮”。 * 100%S3兼容 :这意味着你现有的所有使用S3 API的代码、工具(比如AWS

By