安全体系
上门服务系统内置完善的安全防护体系,保障平台和用户数据的安全。
安全模块概览
系统安全模块位于 core/security/ 目录下,包含以下核心功能:
- IP访问控制(黑白名单)
- 登录安全审计
- 安全日志记录
- 接口限流
- SQL注入防护
- 企业上下文隔离
IP访问控制
功能说明
IP访问控制允许管理员设置允许或禁止访问系统的IP地址,支持临时和永久两种类型。
使用场景
- 黑名单: 封禁恶意攻击者的IP地址
- 白名单: 限制仅允许特定IP访问管理后台
- 临时封禁: 对可疑IP进行限时封禁
配置方法
- 登录管理后台
- 进入「系统设置」→「安全设置」→「IP黑白名单」
- 点击「添加」按钮
- 填写IP地址、类型(黑/白名单)、有效期、备注
- 点击保存
规则说明
| 类型 | 说明 | 优先级 |
|---|---|---|
| 白名单 | 仅允许列表中的IP访问 | 最高 |
| 黑名单 | 禁止列表中的IP访问 | 次于白名单 |
注意: 如果同时配置了白名单和黑名单,白名单优先级更高。
登录安全审计
功能说明
系统记录每一次登录尝试,包括成功和失败的登录,用于安全分析和异常检测。
记录内容
- 登录时间
- 登录账号
- IP地址
- 登录结果(成功/失败)
- 失败原因(密码错误、账号锁定等)
- 设备信息
查看审计日志
- 进入「系统设置」→「安全设置」→「登录审计」
- 可按时间范围、账号、IP地址筛选
- 支持导出审计日志
安全告警
系统会自动检测异常登录行为:
- 短时间内多次登录失败
- 异地登录
- 非常用设备登录
安全日志
功能说明
安全日志记录系统中的安全相关事件,分为四个风险等级:
| 风险等级 | 说明 | 示例 |
|---|---|---|
| 0 - 信息 | 普通信息 | 正常操作记录 |
| 1 - 低 | 低风险 | 参数异常 |
| 2 - 中 | 中风险 | 访问被拒绝 |
| 3 - 高 | 高风险 | 攻击行为 detected |
查看安全日志
- 进入「系统设置」→「安全设置」→「安全日志」
- 可按风险等级、时间范围筛选
- 高风险事件需要及时处理
处理方式
对于高风险事件:
- 查看事件详情
- 确认是否为攻击行为
- 将恶意IP加入黑名单
- 标记为已处理
接口限流
功能说明
接口限流防止接口被恶意刷取,保障系统稳定性和可用性。
限流策略
- 全局限流: 系统级别的请求限制
- 接口限流: 单个接口的请求限制
- IP限流: 单个IP的请求限制
默认配置
- 全局: 1000次/秒
- 登录接口: 5次/分钟
- 短信接口: 1次/分钟
- 其他接口: 100次/分钟
限流响应
当触发限流时,接口返回:
{
"code": 429,
"message": "请求过于频繁,请稍后再试"
}
SQL注入防护
功能说明
系统自动检测和拦截SQL注入攻击,保护数据库安全。
检测内容
- 常见的SQL注入关键字(UNION, SELECT, DROP等)
- 特殊字符组合
- 异常参数模式
处理方式
当检测到SQL注入攻击时:
- 拦截请求
- 记录安全日志(高风险)
- 将IP加入临时黑名单
- 返回错误信息
企业上下文隔离
功能说明
对于B2B企业客户,系统提供数据隔离机制,确保企业数据安全。
隔离范围
- 企业订单数据
- 企业员工数据
- 企业定价数据
- 企业账单数据
实现方式
通过 EnterpriseContext 在请求线程中维护企业上下文,所有数据查询自动附加企业ID过滤条件。
安全建议
管理员账号安全
- 使用强密码(至少12位,包含大小写字母、数字、特殊字符)
- 定期更换密码(建议3个月)
- 开启二次验证(如有)
- 不在公共网络登录管理后台
服务器安全
- 及时更新系统和软件补丁
- 配置防火墙,仅开放必要端口
- 启用HTTPS,使用SSL证书
- 定期备份数据库
- 配置服务器监控告警
应用安全
- 定期查看安全日志,处理高风险事件
- 及时更新系统到最新版本
- 合理配置IP黑白名单
- 定期审查管理员权限
常见问题
Q: 如何封禁恶意IP?
A: 进入「系统设置」→「安全设置」→「IP黑白名单」,添加黑名单记录,填写恶意IP地址。
Q: 登录失败次数过多会怎样?
A: 同一账号连续5次登录失败,账号将被锁定30分钟。管理员可在「用户管理」中手动解锁。
Q: 如何查看谁登录了系统?
A: 进入「系统设置」→「安全设置」→「登录审计」,可查看所有登录记录。
Q: 发现可疑攻击怎么办?
A:
- 查看「安全日志」确认攻击类型
- 将攻击IP加入黑名单
- 检查系统是否有漏洞
- 必要时联系技术支持
