【 3-3 】
网络、数据库与主机安全基础
第3.3章 网络、数据库与主机安全基础
本章内容依据《数据安全工程技术人员(初级)第3模块零基础详细学习教材》整理,系统讲解网络、数据库与主机安全基础。
3.1 网络安全基础
网络是数据在系统之间流动的通道。网络安全检查围绕区域、路径、端口、协议、身份、加密和日志进行。
| 控制点 | 需要检查的问题 | 基础措施 |
|---|---|---|
| 网络分区 | 办公、业务、管理、数据库和备份是否隔离? | VLAN、子网、安全组和访问控制列表 |
| 边界访问 | 哪些源地址可以访问哪些目标端口? | 最小开放、规则有效期、责任人和用途 |
| 加密通信 | 敏感数据是否通过加密通道? | HTTPS、VPN 和受控运维通道 |
| 管理接口 | 管理端口是否暴露给无关网络? | 管理区、跳板机、来源限制和多因素认证 |
| 日志监测 | 允许、拒绝和管理操作是否记录? | 集中日志、时间同步和异常告警 |
3.2 数据访问路径示例
互联网用户
↓ HTTPS
Web/接口接入区
↓ 受控应用端口
应用服务区
↓ 数据库专用端口 + 服务账号
数据库区
运维人员 → 多因素认证 → 跳板机 → 主机/数据库
数据库备份 → 加密传输 → 隔离备份区
↓ HTTPS
Web/接口接入区
↓ 受控应用端口
应用服务区
↓ 数据库专用端口 + 服务账号
数据库区
运维人员 → 多因素认证 → 跳板机 → 主机/数据库
数据库备份 → 加密传输 → 隔离备份区
3.3 数据库安全基础
| 控制项 | 基础要求 | 常见问题 |
|---|---|---|
| 账号 | 实名、角色分离、及时停用 | 共享管理员、离职账号未禁用 |
| 权限 | 按库、表、字段和操作最小授权 | 普通账号有删除或全量导出权限 |
| 连接 | 限制来源,管理连接使用加密 | 管理端口面向互联网 |
| 审计 | 记录登录、查询、导出、修改、删除和授权 | 高风险操作无法追溯 |
| 备份 | 定期、加密、隔离和恢复验证 | 只有备份,没有恢复测试 |
| 基线 | 关闭无关服务、修改默认配置、修复漏洞 | 默认账号、弱口令和过期版本 |
3.4 数据库权限的四个层次
| 层次 | 含义 | 示例 |
|---|---|---|
| 库级 | 能否访问某个数据库 | 客服应用只能访问 customer_db |
| 表级 | 能否访问某些表 | 报表账号可查订单表,不可查认证表 |
| 字段级 | 能否访问某些字段 | 普通角色不可读取身份证号明文 |
| 操作级 | 可以查询、修改、删除或授权 | 只读账号仅能执行查询 |
3.5 主机安全基础
| 控制项 | 实施要点 | 检查示例 |
|---|---|---|
| 账号认证 | 删除无效账号、管理账号独立、强认证 | 是否存在默认账号或共享 root |
| 补丁版本 | 评估、测试、审批、回退和记录 | 版本是否停止支持 |
| 服务端口 | 关闭无关服务,限制远程管理来源 | 是否存在无用监听端口 |
| 日志 | 记录登录、权限变化、服务启停和异常 | 时间是否同步、日志是否集中 |
| 恶意代码防护 | 按组织要求部署和更新 | 告警是否有人处置 |
| 资源容量 | 监测 CPU、内存、磁盘、网络和进程 | 接近阈值是否告警 |
3.6 初级人员常用只读检查命令
使用前提:下列命令仅用于已授权环境的状态检查。生产环境执行任何命令前,应遵循组织操作规范。
# Linux 示例
hostnamectl # 主机与系统版本
ip addr # 网络地址
ss -lntp # 监听端口
df -h # 磁盘使用率
free -h # 内存使用
systemctl --failed # 失败的系统服务
journalctl -p err -n 50 # 最近错误日志
timedatectl # 时间与同步状态
hostnamectl # 主机与系统版本
ip addr # 网络地址
ss -lntp # 监听端口
df -h # 磁盘使用率
free -h # 内存使用
systemctl --failed # 失败的系统服务
journalctl -p err -n 50 # 最近错误日志
timedatectl # 时间与同步状态
检查命令用于确认现象和收集证据。发现异常后,应记录时间、主机、命令输出和影响范围,再按流程上报或处理。
3.7 联动检查步骤
1. 从数据资产台账确定重要数据所在应用和数据库。
2. 检查应用到数据库的网络路径和端口。
3. 检查服务账号是否使用最小数据库权限。
4. 检查高风险操作是否被审计。
5. 检查数据库和主机日志是否时间一致并集中保存。
6. 检查备份是否加密、隔离并完成恢复测试。
本节自测
1. 数据库为什么不应直接暴露给互联网?
2. 共享数据库管理员账号会带来什么问题?
3. 只有备份文件,为什么不能证明数据一定可恢复?