安全信息
警报
最后更新: 2024-02-19
发现了一个允许用户获取联系人列表(检索数据库中联系人的姓氏、名字和 ID)的漏洞。 已经在 18.0.1 及更高版本中修复。
注意:您还可以从 GitHub(https://github.com/Dolibarr/dolibarr/) 下载所有分支/版本的中间版本(尚未发布的维护包)
安全特性
Dolibarr 实现了多种安全功能,以匹配与安全相关的最佳实践规则。
以下是您可以找到的主要安全功能列表:
加密
- 数据库中保存的密码或安全密钥数据是加密之后的 [*7] [*8]。
- 数据库技术密码可以被伪装到 Dolibarr configuration file (conf.php) [*8]文件中。
- 可以强制使用 HTTPS [*9]。
//conf/conf.php file
//example of $dolibarr_main_force_https configuration
$dolibarr_main_force_https = '1';//to force https
Values | Description |
---|---|
0 |
无强制重定向 |
1 |
强制重定向到 https,直到 response 中的 SCRIPT_URI 以 https 开头 |
2 |
强制重定向到 https,直到 response 中的 SERVER[“HTTPS”] = 'on' |
强制重定向到 https 域名 mydomain(推荐方法) |
黑客与骇客
- 可使用 register_globals=on/off(强烈推荐使用off) [*2] 。
- 可使用 PHP safe_mode=on/off (推荐使用on) [*3] 。
- 在生产模式下可禁用任何技术信息泄漏,如调试、错误堆栈跟踪、版本信息(请参阅 configuration file) [*6] 。
- 防止 SQL 注入。受内部 WAF 保护,并通过单元测试检查数据库擒纵机制的良好。 [*2] 。
- 防止 XSS 注入(Cross Site Scripting:跨站点脚本)。受内部 WAF 和网页 headers 保护。 [*1] 。
- 防止 SSRF。
- 防止 CSRF(Cross Site Request Forgery:跨站点请求伪造)。受内部 WAF 和 token 系统保护。 [*5] 。
请注意,还建议通过禁用 Apache 选项来保护您的 Web 服务器
AcceptPathInfo Off
页面与文件访问
- 页面和内容受集中式入口代码保护,以检查权限(授予组或用户的每个功能模块) [*4] [*10] 。
- Dolibarr 保存的文件存储在与 Web 应用不同的 root 目录中(因此,不通过 Dolibarr wrapper,就无法下载) [*3] [*10] 。 注意:您必须要核实 document 目录(用于上传文件)与 htdocs 目录没有位于同一目录中,也不在 htdocs 的子目录中。您的 Web 虚拟主机必须仅指向 htdocs 目录(并且此目录可以/应该处于只读模式)。因此,如果不使用 wrapper 页面,则无法下载任何上传的文件(存储在 document 目录中)。
- Dolibarr 目录内容无法访问,即使 Apache 的选项 Indexes 没有被设置为 on(不应该忘记设置) [*3] 。
登录保护
- 反暴力破解的登录页面延迟 [*7] 。目前的延迟值是固定值(在未来版本中,尝试登录时可能会呈指数级增长)。
- 登录页面上针对机器人的图形代码(CAPTCHA)选项 [*7] 。
- 仅限制某些 IP 对后台的访问 [*7] 。
- 日志中不记录密码,即使在技术日志中也是如此 [*7] 。
- 内部记录器(logger)永久保存所有Dolibarr事件,包括有关用户管理以及成功登录、失败登录或管理事件(用户、组、权限的变更)。
- 可以在成功登录或失败登录尝试之后将日志记录输出到日志文件中(Debug Log模块必须被启用,在生产服务器上最低使用 5-LOG_NOTICE级别,在开发服务器上使用更高级别),以便您可以添加 fail2ban 规则来锁定暴力破解。您可以使用以下语法检查日志记录 :
"YYYY-MM-DD HH:MM:SS (ERROR|NOTICE|INFO|DEBUG) IP functions_dolibarr::check_user_password_.* Authentication KO"
要添加到服务器的 fail2ban 规则列表在后面的 DOS 和暴力破解率缓解(DOS and Brute force rate Mitigation)一章中提供。
病毒
- 可以对每个上传的文件运行外部防病毒软件 [*3] 。
安全信息中心
- 从版本 14 开始,您将在菜单 主页 - 管理工具 - 安全(Home - Admin tools - Security) 中找到一个安全信息中心,其显示与当前安装相关的已完成和待完成的所有安全建议。
用于安全性的 CTI
持续集成平台对每次修改代码运行安全单元测试和静态代码分析。
每个版本的footprint
我们的发布流程为每个版本提供了一个 footprint 文件(也可在线获取),以验证本地安装的所有文件。
注意:Dolibarr 符合 OpenSourceSSF 定义的 Best Practices(最佳实践) : https://bestpractices.coreinfrastructure.org/projects/5521
DOS 和暴力破解率缓解
该项目提供了一些 fail2ban 规则的示例,以阻止登录页面、忘记密码页面和任何公共页面上的暴力尝试或滥用访问。参见 https://github.com/Dolibarr/dolibarr/tree/develop/dev/setup/fail2ban
报告安全漏洞
在大多数情况下,安全报告会在几天内被处理。
(*X) 此解决方案是用于解决 OWASP Top Ten 分类的漏洞(范围为 X 的)保护的一部分。