等保测评2.0:应用安全审计、入侵防范
字数 1704 2025-08-15 21:31:29
等保测评2.0:应用安全审计与入侵防范详解
一、安全审计测评要点
1. 安全审计基本要求
安全审计是等保测评中的关键控制点,主要包括以下测评项:
- a) 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
- b) 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
- c) 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
- d) 应对审计进程进行保护,防止未经授权的中断
2. 各测评项详细解析
测评项a:审计功能启用
高风险判定条件:
- 应用系统没有任何日志审计功能时判定为高风险
符合性判定标准:
- 完全符合:系统有完善的操作日志,记录用户、时间、操作等详细信息
- 部分符合:仅有登录日志或业务流程操作记录
- 不符合:无任何日志功能
修正方法:
- 检查应用系统自身日志功能
- 检查业务流程模块的操作记录
- 检查中间件日志(勉强可作为修正理由)
测评项b:审计记录内容
最低要求字段:
- 事件日期和时间
- 用户信息
- 事件类型
- 具体操作内容
判定标准:
- 缺少上述任一字段则判定为部分符合
测评项c:审计记录保护
具体要求:
-
记录保护:
- 应用界面不应提供删除功能
- 如需删除需通过数据库或服务器操作
- 如有删除功能,需严格控制权限
-
定期备份:
- 数据库存储:检查数据库备份策略
- 文件存储:检查文件备份策略
-
隐藏要求(留存时间):
- 二级及以上系统需保留至少6个月记录
- 检查最早记录日期与当前日期间隔
- 上线不足6个月可豁免
测评项d:审计进程保护
判定标准:
- 无审计策略设置功能:默认符合
- 有设置功能:检查权限分配是否严格
二、入侵防范测评要点
1. 适用性说明
以下测评项对应用系统不适用:
- a) 最小安装原则
- b) 关闭不需要的服务
- c) 管理终端限制
- f) 入侵检测报警
2. 关键测评项解析
测评项d:数据有效性检验
测试内容:
-
SQL注入防护:
- 测试方法:使用万能密码尝试登录
- 常见测试字符串:
"or "a"="a '.).or.('.a.'='.a or 1=1-- 'or 1=1-- a'or' 1=1-- "or 1=1-- 'or.'a.'='a "or"="a'='a 'or''=' - 防护技术验证:
- 检查是否使用SQL参数化
- 示例C#代码:
// 不安全的方式(字符串拼接) string sql = "SELECT * FROM Users WHERE Username='" + username + "' AND Password='" + password + "'"; // 安全的方式(参数化查询) string sql = "SELECT * FROM Users WHERE Username=@username AND Password=@password"; SqlCommand cmd = new SqlCommand(sql); cmd.Parameters.AddWithValue("@username", username); cmd.Parameters.AddWithValue("@password", password);
- WAF使用情况:
- 检查是否部署WAF(如阿里云云盾)
- 注意免费版功能有限,不能作为充分修正理由
-
数据类型校验:
- 测试方法:
- 在数字输入框输入字母
- 在金额字段输入负数
- 输入不符合业务逻辑的值
- 要求:前后端均需进行校验
- 测试方法:
注意事项:
- 测试前必须获得系统所有者同意
- 三级系统可结合渗透测试一同进行
测评项e:漏洞管理
评估方法:
-
访谈:
- 是否定期进行漏洞扫描/渗透测试
- 是否购买相关安全服务
-
证据审查:
- 检查提供的扫描/渗透测试报告
- 验证报告中漏洞是否已修复
风险判定:
- 无定期扫描/渗透:直接判定不符合
- 有扫描但发现高危漏洞:高风险
- 有扫描且无高危漏洞:可修正为部分符合
三、Linux密钥登录配置
1. 基本配置
在sshd_config文件中关键配置项:
# 启用RSA认证
RSAAuthentication yes
# 启用公钥认证
PubkeyAuthentication yes
# 指定公钥文件位置
AuthorizedKeysFile .ssh/authorized_keys
# 禁用密码登录(建议)
PasswordAuthentication no
2. 密钥与用户关联机制
-
关联原理:
AuthorizedKeysFile参数指定公钥存储路径- 路径相对于用户主目录(如
/home/username/.ssh/authorized_keys) - 同一对密钥可用于多个用户,只需在各用户
.ssh/authorized_keys中放置相同公钥
-
私钥密码作用:
- 用于加密私钥文件(类似加密压缩包)
- 仅在客户端解密时使用
- 解密正确性通过私钥格式特征验证
3. 私钥文件格式
-
加密私钥示例:
-----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,3F17F5317E5D5D77 base64编码的加密内容... -----END RSA PRIVATE KEY----- -
解密方法:
- 可通过在线工具将加密私钥转换为未加密格式
- 转换后登录时不再需要输入私钥密码
四、实施建议
-
安全审计实施:
- 确保记录关键用户行为和系统事件
- 实现日志自动归档和备份
- 设置严格的日志访问权限
-
入侵防范措施:
- 全面实施参数化查询
- 建立完善的输入验证机制
- 制定定期漏洞扫描计划
-
Linux安全加固:
- 推荐使用密钥认证替代密码登录
- 为私钥设置强密码
- 定期轮换密钥对
-
文档与证据:
- 保留所有安全配置记录
- 存档扫描和测试报告
- 记录所有修正措施
通过全面实施上述措施,可有效满足等保测评2.0在应用安全审计和入侵防范方面的要求,降低系统安全风险。