CSA STAR Level 1

odoo参与了CSA安全信任保证和风险(STAR)计划.
View our answers to the CAIQv3.1 questionnaire

— odoo Cloud (the platform) —

Backups / Disaster Recovery

  • 我们保留了14个完整的备份每个odoo数据库长达3个月:1/天7天, 1/week for 4 weeks, 1/month for 3 months.
  • 备份在至少3个不同的数据中心进行复制,至少在2个不同的大陆上.
  • The actual locations of our data centers are specified in our privacy Policy.
  • 您还可以在任何时候使用控制面板下载实时数据的手动备份.
  • 您可以巴黎人贵宾厅app的帮助台,在您的实时数据库(或在旁边)恢复任何这些备份.
  • Hardware failover: for services hosted on bare metal, where hardware failure is possible, we implement local hot standby replication, 具有监控和手动故障转移过程,只需不到5分钟.
  • Disaster recovery: in case of complete disaster, with a data center entirely down for an extended period, 防止故障转移到我们的本地热备份(到目前为止从未发生过, this is the worst-case plan), we have the following objectives:
    • RPO (Recovery Point Objective) = 24h. 这意味着,如果数据无法恢复,我们需要恢复您最新的每日备份,您可以损失最多24小时的工作.
    • RTO (Recovery Time Objective) = 24h for paid subscriptions, 48h for free trials, education offer, freemium users, 娱乐技术中心. 如果发生灾难,某个数据中心完全关闭,则在此时间恢复另一个数据中心的服务.
    • How is this accomplished: we actively monitor our daily backups, 它们在不同大陆的多个地方被复制. 我们可以自动配置将服务部署到新的托管位置. 根据前一天的备份恢复数据只需几个小时(对于最大的集群), with priority on the paid subscriptions.
      对于日常操作,我们通常同时使用日常备份和配置脚本, 因此,灾难恢复过程的两个部分一直都在测试.

Database security

  • 客户数据存储在专用的数据库中——客户之间不共享数据.
  • 数据访问控制规则实现了运行在同一集群上的客户数据库之间的完全隔离, no access is possible from one database to another.

Password security

  • 用户密码采用行业标准的PBKDF2+SHA512加密(加盐+拉伸数千回合)保护.
  • odoo staff does not have access to your password, and cannot retrieve it for you, the only option if you lose it is to reset it.
  • Login credentials are always transmitted securely over HTTPS.
  • As of odoo 12.0, customer database administrators even have the option to configure the rate limiting and cooldown duration for repeated login attempts.
  • Password policies: 从odoo 12开始,数据库管理员有一个内置的设置来强制用户密码的最小长度. 对于较老的版本,可以通过定制实现相同的效果. Other password policies like required character classes 默认情况下不支持,因为它们已被证明适得其反——见e.g. [shay et al. 2016]).

Staff Access

  • odoo帮助台工作人员可能会登录到您的帐户,以访问与您的支持问题相关的设置. For this they use their own special staff credentials, not your password (which they have no way to know).
  • 这种特殊的人员访问可以提高效率和安全性:它们可以立即重现您所看到的问题, you never need to share your password, and we can audit and control staff actions separately!
  • 我们的帮助台工作人员努力尽可能地尊重您的隐私, 只有访问文件和设置需要诊断和解决您的问题.

System security

  • 所有的odoo云服务器都运行有最新安全补丁的加固Linux发行版.
  • 安装是特别的,并且最小限度地限制可能包含漏洞的服务的数量(例如,没有PHP/MySQL堆栈).
  • 只有少数受信任的odoo工程师有权限远程管理服务器——只有使用加密的个人SSH密钥对才能访问服务器, from a computer with full-disk encryption.

Physical security

odoo云服务器托管在世界各地的可信数据中心(e.g. OVH,谷歌云),它们都必须超过我们的物理安全标准:

  • 限制区域,只有经过授权的数据中心员工才能进入.
  • 物理访问控制与安全徽章或生物识别安全.
  • security cameras monitoring the data center locations 24/7.
  • security personnel on site 24/7.

Credit Card Safety

  • We never store credit card information on our own systems.
  • 您的信用卡资料总是在您与我们之间安全地直接传送 PCI-Compliant payment acquirers (see the list on our privacy Policy 佩奇).

Communications

  • 与客户端实例的所有数据通信都使用最先进的256位SSL加密(HTTPS)进行保护。.
  • 我们的服务器之间的所有内部数据通信也由最先进的加密(SSH)保护.
  • Our servers are kept under a strict security watch, and always patched against the latest SSL vulnerabilities, enjoying grade a SSL ratings at all times.
  • 我们所有的SSL证书都使用强大的2048位模量和完整的SHA-2证书链.

Network defense

  • odoo Cloud使用的所有数据中心提供商都有非常大的网络容量, 并设计了能够抵御最大的分布式拒绝服务(DDoS)攻击的基础设施. 他们的自动和手动缓解系统可以检测和转移其多大陆网络边缘的攻击流量, before it gets the chance to disrupt service availability.
  • odoo云服务器上的防火墙和入侵防御系统有助于检测和阻止诸如暴力破解密码攻击等威胁.
  • As of odoo 12.0, customer database administrators even have the option to configure the rate limiting and cooldown duration for repeated login attempts.

— odoo (the software) —

Software security

odoo is open source, 因此,整个代码库一直在全世界的odoo用户和贡献者的检查下. 因此,巴黎人贵宾厅app错误报告是关于安全性的一个重要反馈来源. 我们鼓励开发人员审计代码并报告安全问题.

the odoo r&D流程具有包含安全方面的代码审查步骤, for new and contributed pieces of code.

Secure by deSign

odoo的设计方式可以防止引入最常见的安全漏洞:

  • 使用不需要手动SQL查询的高级API可以阻止SQL注入.
  • XSS攻击可以通过使用自动转义注入数据的高级模板系统来防止.
  • The framework prevents RPC access to private methods, making it harder to introduce exploitable vulnerabilities.

See also the OWASP Top Vulnerabilities 部分,看看odoo是如何从地面上设计,以防止这样的弱点出现.

Independent security Audits

odoo定期由我们的客户和潜在客户聘请的独立公司进行审计和渗透测试. odoo安全团队收到结果,并在必要时采取适当的纠正措施.

We can't however disClose any of those results, because they are confidential and belong to the commissioners. Please don't ask ;-)

odoo还有一个非常活跃的独立安全研究人员巴黎人贵宾厅app, 谁持续监控源代码,并与我们一起改进和加强odoo的安全. Our security Program is described on our Responsible Disclosure 佩奇.

OWASP Top Vulnerabilities

以下是odoo在web巴黎人贵宾厅app程序的安全问题上所处的位置 Open Web Application security project (owasp):

  • Injection Flaws: 注入缺陷,尤其是SQL注入,在web巴黎人贵宾厅app程序中很常见. 当用户提供的数据作为命令或查询的一部分发送给解释器时,就会发生注入. 攻击者的恶意数据欺骗解释器,使其执行无意的命令或更改数据.

    odoo依赖于一个对象关系映射(ORM)框架,该框架在默认情况下抽象查询构建并防止SQL注入. Developers do not normally craft SQL queries manually, they are generated by the ORM, and parameters are always properly escaped.

  • Cross Site Scripting (XSS): 当巴黎人贵宾厅app程序获取用户提供的数据并将其发送到web浏览器而没有首先验证或编码内容时,就会出现XSS缺陷. XSS允许攻击者在受害者的浏览器中执行脚本,从而劫持用户会话, deface web sites, possibly introduce worms, 娱乐技术中心.

    默认情况下,odoo框架会转义所有呈现到视图和页面中的表达式,从而防止了XSS. 开发人员必须将表达式特别标记为“安全”,以便将原始表达式包含到呈现的页面中.

  • Cross Site Request Forgery (CSRF): CSRF攻击迫使已登录的受害者的浏览器发送伪造的HTTP请求, 包括受害者的会话cookie和任何其他自动包含的身份验证信息, to a vulnerable web application. 这使得攻击者可以强迫受害者的浏览器生成漏洞巴黎人贵宾厅app程序认为来自受害者的合法请求.

    odoo网站引擎包括一个内置的CSRF保护机制. 它阻止任何HTTP控制器在没有相应安全令牌的情况下接收POST请求. This is the recommended technique for CSRF prevention. 只有当用户真正访问相关的网站表单时,这个安全令牌才被知道和显示, and an attacker cannot forge a request without it.

  • Malicious File Execution: 易受远程文件包含(RFI)攻击的代码允许攻击者包含敌对代码和数据, resulting in devastating attacks, such as total server compromise.

    odoo does not expose functions to perform remote file inclusion. 但是,它允许有特权的用户通过添加自定义表达式来定制特性,这些表达式将由系统评估. 这些表达式总是由一个只允许访问被允许的函数的沙箱化环境来计算.

  • Insecure Direct Object Reference: 当开发人员公开对内部实现对象的引用时,就会发生直接对象引用, such as a file, 奇怪, database record, or key, as a URL or form parameter. 攻击者可以操纵这些引用来访问其他对象而无需授权.

    odoo访问控制不是在用户界面级别实现的, 所以在url中暴露对内部对象的引用是没有风险的. 攻击者不能通过操纵这些引用来绕过访问控制层, 因为每个请求仍然需要经过数据访问验证层.

  • Insecure Cryptographic Storage: Web巴黎人贵宾厅app程序很少正确地使用加密函数来保护数据和凭证. 攻击者利用保护薄弱的数据进行身份盗窃和其他犯罪活动, such as credit card fraud.

    odoo对用户密码使用行业标准的安全哈希(默认是PKFDB2 + SHA-512), with key str娱乐技术中心hing) to protect stored passwords. 也可以使用外部身份验证系统,如OAuth 2.0或LDAP,以避免在本地存储用户密码.

  • Insecure Communications: 当需要保护敏感通信时,巴黎人贵宾厅app程序常常不能加密网络通信.

    odoo Cloud runs on HTTPS by default. For on-premise installations, it is recommended 运行odoo后的web服务器实现加密和代理请求到odoo, for example Apache, Lighttpd or nginx. The odoo deployment guide includes a security checklist for safer public deployments.

  • Failure to Restrict URL Access: 通常,巴黎人贵宾厅app程序只能通过阻止向未授权用户显示链接或url来保护敏感功能. 攻击者可以利用这个弱点,通过直接访问这些url来访问和执行未经授权的操作.

    odoo访问控制不是在用户界面级别实现的, and the security does not rely on hiding special URLs. 攻击者不能通过重用或操作任何URL来绕过访问控制层, 因为每个请求仍然需要经过数据访问验证层. 在极少数情况下,URL提供对敏感数据的未经身份验证的访问, such as special URLs customers use to confirm an order, 这些url用唯一的令牌进行数字签名,只通过电子邮件发送给预期的收件人.

Reporting security Vulnerabilities

如果您需要报告安全漏洞,请前往我们的 responsible disclosure 佩奇. These reports are treated with high priority, 问题立即被评估和解决由odoo安全团队, in collaboration with the reporter, 然后以负责任的方式向odoo的客户和用户披露.