# 苏州教育E卡通数据安全运维操作手册 ## 前言 本手册基于苏州教育E卡通平台的实际运维需求,旨在建立一套**实用、可操作**的数据安全管控体系。聚焦于解决实际工作中真正存在的风险问题。 本手册适用于所有参与平台运维、管理的人员,包括但不限于系统管理员、客服人员、学校管理人员等。 ## 一、风险分级体系 ### 1.1 三级操作分类 **等保三级依据**:根据GB/T 22239-2019要求,对不同风险的操作采取相应控制措施。 #### 🔴 **关键操作** (CRITICAL) **识别标准**: - 系统核心配置修改 - 用户权限分配 - 审计规则修改 - 批量数据处理(≥50条) - 系统运维重大调整 **管控要求**: - **主管审批**:事前纸质(电子档)审批流程 - **双人确认**:一人操作,一人监督 - **双因素认证**:密码+动态码,堡垒机或摄像记录 - **操作记录**:详细日志记录 - **自动备份**:执行前自动备份 #### 🟡 **重要操作** (IMPORTANT) **识别标准**: - 特殊敏感数据修改(身份证、家庭住址、监护人联系方式) - 新生录入、注册报到等 - 账号创建和权限分配(非管理员,如班主任等) **管控要求**: - **主管审批**:事后审核 - **双因素认证**:重要操作时启用 - **操作确认**:关键步骤二次确认 - **操作日志**:完整记录操作链路 #### 🟢 **一般操作** (NORMAL) **识别标准**: - 学生信息查询 - 系统状态查看 - 非敏感信息修改 - 补换卡订单处理 - 报表生成和统计 **管控要求**: - **基本认证**:用户名密码认证 - **操作记录**:基础日志记录 - **访问控制**:基于角色的权限控制 - **会话管理**:超时自动退出 --- ## 二、简化的角色体系 ### 2.1 核心角色定义 | 角色 | 主要职责 | 可操作范围 | 禁止操作 | |------|----------|------------|----------| | **家长用户** | 查看自己孩子信息 | ✓ 查看基本信息
✓ 修改联系方式
✓ 查看卡状态 | ✗ 查看其他学生
✗ 修改关键信息
✗ 批量操作 | | **学校教师** | 管理本校学生 | ✓ 新生录入
✓ 修改非关键信息
✓ 本校数据查询 | ✗ 跨校查询
✗ 删除记录
✗ 批量导出 | | **客服人员** | 处理补卡业务 | ✓ 学生信息查询(补卡用)
✓ 处理补换卡订单
✓ 查询卡状态 | ✗ 查看敏感信息
✗ 修改数据
✗ 批量导出 | | **系统(区域)管理员** | 处理学校业务 | ✓ 信息修改
✓ 敏感信息
✓ 执行任务
✓ 用户账号管理 | ✗ 参与业务审批
✗ 单独操作 | | **审核管理员** | 业务审核 | ✓ 业务审批
✓ 信息查询
✓ | ✗ 修改数据
✗ 用户账号管理✗ 单独操作 | | **安全审计管理员** | 安全审计 | ✓ 查看所有日志
✓ 生成安全报告
✓ 设置监控规则
✓ 调查安全事件 | ✗ 修改业务数据
✗ 执行业务操作
✗ 查看敏感信息 | | **系统运维人员** | 系统运维 | ✓ 服务器维护
✓ 数据库备份
✓ 执行审批脚本
| ✗ 查看业务数据
✗ 参与业务审批
✗ 单独操作 | ### 2.2 权限分离原则 **核心原则**: - **操作与审核分离**:操作人不能同时是审核人 - **技术与业务分离**:系统管理员不接触业务数据 - **监督与执行分离**:安全管理员只监督不执行 **简化的权限矩阵**: | 操作类型 | 学校教师 | 客服人员 | 系统管理员 | 安全管理员 | |----------|----------|----------|------------|------------| | 数据查询 | ✅(本校) | ✅(授权) | ❌ | ✅(审计) | | 数据修改 | ✅(非关键) | ❌ | ✅(脚本) | ❌ | | 关键操作 | ❌ | ❌ | ✅(双人) | ❌ | | 系统运维 | ❌ | ❌ | ✅ | ❌ | | 安全审计 | ❌ | ❌ | ❌ | ✅ | --- ## 三、统一的操作流程 ### 3.1 标准三阶段流程 **所有操作统一采用三阶段流程**: ``` 申请阶段 → 审批阶段 → 执行阶段 ``` #### **第一阶段:申请** - 操作人提交申请 - 系统自动检查权限 - 生成操作编号 #### **第二阶段:审批** - **关键操作**:需要双人确认 - **重要操作**:需要主管审批 - **一般操作**:自动审批 #### **第三阶段:执行** - 验证审批状态 - 执行操作 - 记录结果 ### 3.2 操作流程简化图 ``` ┌─────────┐ ┌─────────┐ ┌─────────┐ │ 申请 │───→│ 审批 │───→│ 执行 │ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ │ │ 自动检查 分级审批 结果记录 权限验证 双人确认 日志保存 ``` --- ## 四、简化的技术控制 ### 4.1 访问控制 **表级权限控制**(避免过度复杂的字段级控制): ```sql -- 简化的角色权限表 CREATE TABLE role_permissions ( role_id VARCHAR(20), table_name VARCHAR(50), can_select BOOLEAN DEFAULT FALSE, can_insert BOOLEAN DEFAULT FALSE, can_update BOOLEAN DEFAULT FALSE, can_delete BOOLEAN DEFAULT FALSE ); -- 学校教师权限示例 INSERT INTO role_permissions VALUES ('school_teacher', 'students', TRUE, TRUE, TRUE, FALSE), -- 可以增删改查但不能删除 ('school_teacher', 'card_status', TRUE, FALSE, TRUE, FALSE); ``` **简单的数据脱敏**: ```sql -- 敏感信息视图 CREATE VIEW student_public_view AS SELECT student_id, name, -- 简单脱敏:不根据角色复杂判断 CONCAT(SUBSTRING(id_card, 1, 6), '****', SUBSTRING(id_card, 15, 4)) as id_card_masked, school_name, card_status FROM students; ``` ### 4.2 身份鉴别 **简化的双因素认证**: ```c // 不需要复杂的多种组合,就用最简单的 enum auth_method { PASSWORD_ONLY, // 一般操作 PASSWORD_SMS, // 重要操作 PASSWORD_DUPLICATE // 关键操作(双人) }; ``` **会话管理**: - 关键操作:15分钟超时 - 重要操作:30分钟超时 - 一般操作:60分钟超时 ### 4.3 审计日志 **简化的审计结构**: ```sql -- 简单的审计表,不要复杂的数字签名 CREATE TABLE audit_logs ( id BIGSERIAL PRIMARY KEY, user_id VARCHAR(50) NOT NULL, operation_type VARCHAR(50) NOT NULL, table_name VARCHAR(50), operation_time TIMESTAMP DEFAULT NOW(), client_ip INET, result VARCHAR(20), -- SUCCESS/FAILURE details TEXT, -- 简单的JSON描述 prev_hash VARCHAR(64) -- 简单的哈希链保护 ); ``` **完整性保护**: - 使用简单的哈希链而不是复杂的数字签名 - 每条记录包含前一条记录的哈希值 - 定期验证链的完整性 --- ## 五、监控和告警 ### 5.1 简单的告警规则 **告警规则**(不要搞得太复杂): - 单个账号1小时内操作超过50次 - 非工作时间操作(22:00-7:00) - 连续5次登录失败 - 未审批就执行的操作 **告警处理**: 1. 系统自动发送告警 2. 安全管理员15分钟内响应 3. 记录处理结果 ### 5.2 监控指标 **核心监控指标**: - 登录成功率 - 操作执行成功率 - 异常操作数量 - 系统响应时间 --- ## 六、数据保护和备份 ### 6.1 数据完整性 **简单的完整性检查**: ```sql -- 每日自动检查 CREATE OR REPLACE FUNCTION daily_check() RETURNS void AS $$ BEGIN -- 检查重复数据 INSERT INTO integrity_issues SELECT 'duplicate_id_card', COUNT(*) FROM students WHERE id_card IN ( SELECT id_card FROM students GROUP BY id_card HAVING COUNT(*) > 1 ); -- 检查数据格式 INSERT INTO integrity_issues SELECT 'invalid_phone', COUNT(*) FROM students WHERE phone NOT LIKE '1________'; END; $$ LANGUAGE plpgsql; ``` ### 6.2 备份策略 **简单的备份方案**: - **实时备份**:关键数据实时同步 - **每日备份**:全量数据备份 - **异地备份**:备份到异地存储 - **保留期限**:在线30天,离线1年 --- ## 七、应急响应 ### 7.1 简化的应急流程 **三级响应**: | 事件级别 | 响应时间 | 处理方式 | |----------|----------|----------| | **一般事件** | 2小时内 | 在线处理 | | **重要事件** | 30分钟内 | 紧急处理 | | **重大事件** | 15分钟内 | 立即处理 | ### 7.2 应急联系人 | 角色 | 联系人 | 电话 | |------|--------|------| | 应急总指挥 | [姓名] | [电话] | | 技术负责人 | [姓名] | [电话] | | 安全负责人 | [姓名] | [电话] | --- ## 八、培训和考核 ### 8.1 培训内容 **新员工培训**(4小时): - 手册内容和操作规范(2小时) - 系统操作演示(1小时) - 应急流程说明(1小时) **年度复训**(2小时): - 安全事件案例分析(1小时) - 操作规范更新(1小时) ### 8.2 考核要求 - 每年1次操作规范考试 - 每半年1次应急演练 - 不合格人员重新培训 --- ## 九、操作检查表 ### 9.1 关键操作检查表 **申请阶段**: - [ ] 操作目的明确 - [ ] 影响范围确认 - [ ] 申请人权限验证 **审批阶段**: - [ ] 必要性评估 - [ ] 风险评估 - [ ] 备份方案确认 **执行阶段**: - [ ] 双人确认(关键操作) - [ ] 操作步骤按计划执行 - [ ] 结果验证 **完成阶段**: - [ ] 操作记录保存 - [ ] 相关人员通知 - [ ] 异常情况处理 ### 9.2 系统管理员操作检查表 **操作前**: - [ ] 维护时间窗口确认 - [ ] 影响范围评估 - [ ] 备份完成确认 - [ ] 回滚方案准备 **操作中**: - [ ] 按计划执行 - [ ] 每步确认结果 - [ ] 异常情况记录 **操作后**: - [ ] 系统功能验证 - [ ] 性能检查 - [ ] 操作记录归档 --- ## 十、附录 ### 附录A:角色申请表 ``` 申请编号: [自动生成] 申请人: [姓名] 所属部门: [部门] 申请角色: [角色名称] 申请原因: [详细说明] 申请权限: □ 查询权限 □ 修改权限 □ 删除权限 □ 系统管理权限 申请人签字: _________ 日期: _________ 部门主管审批: _________ 日期: _________ 安全管理员审核: _________ 日期: _________ ``` ### 附录B:操作申请单 ``` 申请单编号: [自动生成] 申请时间: YYYY-MM-DD HH:MM 申请人: [姓名] 操作类型: [关键/重要/一般] 操作描述: [详细说明] 影响范围: [影响的人数/系统范围] 操作步骤: [简要步骤] 申请人签字: _________ 日期: _________ 审批人签字: _________ 日期: _________ 执行确认: _________ 日期: _________ ``` ### 附录C:应急响应记录表 ``` 事件编号: [自动生成] 发生时间: YYYY-MM-DD HH:MM 事件类型: [一般/重要/重大] 事件描述: [简要描述] 响应时间: ____分钟 处理过程: [简要记录] 处理结果: [成功/失败] 处理人签字: _________ 日期: _________ 确认人签字: _________ 日期: _________ ``` --- ## 结语 **简单就是美** 本手册采用**简化的设计**,在满足等保三级要求的同时,最大限度地降低系统复杂度和操作难度。 **核心原则**: - 消除特殊情况 - 统一操作流程 - 减少概念数量 - 保持实用主义 通过这种方式,我们既能满足合规要求,又能确保系统的可维护性和操作的便利性。 --- **本手册自发布之日起执行,由数据安全管理领导小组负责解释和修订。**