安全信息: Difference between revisions
PolyglotBot (talk | contribs) m (Updating interlang links (links to translated versions of this page in other languages) triggered by origin English page "Security_information" update.) |
(→安全特性) |
||
| Line 69: | Line 69: | ||
'''黑客与骇客''' | '''黑客与骇客''' | ||
* | *可使用 register_globals=on/off(强烈推荐使用off) <sup>[*2]</sup> 。 | ||
* | *可使用 PHP safe_mode=on/off (推荐使用on) <sup>[*3]</sup> 。 | ||
* | *在生产模式下可禁用任何技术信息泄漏,如调试、错误堆栈跟踪、版本信息(请参阅 [[Configuration_file|configuration file]]) <sup>[*6]</sup> 。 | ||
* | *防止 SQL 注入。受内部 WAF 保护,并通过单元测试检查数据库擒纵机制的良好。 <sup>[*2]</sup> 。 | ||
* | *防止 XSS 注入(Cross Site Scripting:跨站点脚本)。受内部 WAF 和网页 headers 保护。 <sup>[*1]</sup> 。 | ||
* | *防止 SSRF。 | ||
* | *防止 CSRF(Cross Site Request Forgery:跨站点请求伪造)。受内部 WAF 和 token 系统保护。 <sup>[*5]</sup> 。 | ||
请注意,还建议通过禁用 Apache 选项来保护您的 Web 服务器 | |||
<syntaxhighlight lang="ini"> | <syntaxhighlight lang="ini"> | ||
AcceptPathInfo Off | AcceptPathInfo Off | ||
| Line 85: | Line 85: | ||
'''页面与文件访问''' | '''页面与文件访问''' | ||
* | *页面和内容受集中式入口代码保护,以检查权限(授予组或用户的每个功能模块) <sup>[*4]</sup> <sup>[*10]</sup> 。 | ||
* | *Dolibarr 保存的文件存储在与 Web 应用不同的 root 目录中(因此,不通过 Dolibarr wrapper,就无法下载) <sup>[*3]</sup> <sup>[*10]</sup> 。 注意:您必须要核实 '''document''' 目录(用于上传文件)与 '''htdocs''' 目录没有位于同一目录中,也不在 '''htdocs''' 的子目录中。您的 Web 虚拟主机必须仅指向 htdocs 目录(并且此目录可以/应该处于只读模式)。因此,如果不使用 wrapper 页面,则无法下载任何上传的文件(存储在 document 目录中)。 | ||
*Dolibarr | *Dolibarr 目录内容无法访问,即使 Apache 的选项 Indexes 没有被设置为 on(不应该忘记设置) <sup>[*3]</sup> 。 | ||
'''登录保护''' | '''登录保护''' | ||
* | *反暴力破解的登录页面延迟 <sup>[*7]</sup> 。目前的延迟值是固定值(在未来版本中,尝试登录时可能会呈指数级增长)。 | ||
* | *登录页面上针对机器人的图形代码(CAPTCHA)选项 <sup>[*7]</sup> 。 | ||
* | *仅限制某些 IP 对后台的访问 <sup>[*7]</sup> 。 | ||
* | *日志中不记录密码,即使在技术日志中也是如此 <sup>[*7]</sup> 。 | ||
* | *内部记录器(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" | "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)'''一章中提供。 | |||
'''病毒''' | '''病毒''' | ||
* | *可以对每个上传的文件运行外部防病毒软件 <sup>[*3]</sup> 。 | ||
'''安全信息中心''' | '''安全信息中心''' | ||
* | *从版本 14 开始,您将在菜单 主页 - 管理工具 - 安全(Home - Admin tools - Security) 中找到一个安全信息中心,其显示与当前安装相关的已完成和待完成的所有安全建议。 | ||
'''用于安全性的 CTI''' | '''用于安全性的 CTI''' | ||
持续集成平台对每次修改代码运行安全单元测试和静态代码分析。 | |||
'''每个版本的footprint''' | '''每个版本的footprint''' | ||
我们的发布流程为每个版本提供了一个 footprint 文件(也可在线获取),以验证本地安装的所有文件。 | |||
注意:Dolibarr 符合 OpenSourceSSF 定义的 Best Practices(最佳实践) : https://bestpractices.coreinfrastructure.org/projects/5521 | |||
'''DOS | '''DOS 和暴力破解率缓解''' | ||
该项目提供了一些 fail2ban 规则的示例,以阻止登录页面、忘记密码页面和任何公共页面上的暴力尝试或滥用访问。参见 https://github.com/Dolibarr/dolibarr/tree/develop/dev/setup/fail2ban | |||
=[[File:art.png]] Report a security vulnerability= | =[[File:art.png]] Report a security vulnerability= | ||
Revision as of 04:25, 1 July 2023
警报
最后更新: 2023-07-1
发现了一个允许用户获取联系人列表(检索数据库中联系人的姓氏、名字和 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
Report a security vulnerability
- To report a vulnerability, see the file: https://github.com/Dolibarr/dolibarr/blob/develop/SECURITY.md
- If you are allowed, you can also use the security feature of GitHub on https://github.com/Dolibarr/dolibarr/security
In most cases, security reports are processed in few days only.
(*X) This solution is part of protection used to solve vulnerabilities classified by the OWASP Top Ten at range number X.