Confluence 6 安全概述和建议概述

这个文档是针对 Confluence 的系统管理员但愿对 Confluence Web应用程序安全性进行评估而设计的。这个页面将对系统的安全进行大体的描述,同时也会对 Confluence 的安全配置提供建议。做为一个向公众开放的 Web 应用程序,Confluence 的应用程序级别的安全是很是重要的。这个页面同时也对使用咱们产品的用户常常可能会问到的一些安全问题进行说明。算法

你可能但愿参考的一些其余的主题:数据库

应用程序安全概述

密码存储

当 Confluence 的内部用户管理被使用之后,从 Confluence 3.5 版本开始,用户的密码将会使用 PKCS5S2 implementation provided by Embedded Crowd 哈希加密算法加密后存储到数据库中。 在 Confluence 中将会没有其余机制可以得到用户的密码——除了经过密码重置的方法,一个重置密码的电子邮件连接将会发送到用户注册使用的电子邮件地址中。浏览器

当外部的用户管理被启用后,用户的密码将会存储在外部用户管理系统中。安全

换从区溢出

Confluence 100% 的纯 Java 应用程序而没有使用本地组件。所以应用程序对缓冲区溢出有比较强抵抗力——可能的缓冲区溢出将会被限制在 Java 运行环境(Java Runtime Environment)自己。服务器

SQL 注入

Confluence 是经过 Hibernate Object-Relational 映射进行交互的。数据库的查询使用标准的 APIs 来生成,是使用参数进行替换的,而不是使用字符串链接的的。所以,Confluence 可以具备很高的 SQL 注入攻击抵抗性。网络

脚本(Script )注入

Confluence 是一个自容器的 Java 应用程序,并不能运行在外部的进程中。所以 Confluence 可以对脚本注入攻击具备很高的抵抗性。ide

跨站点脚本

做为一个内容管理系统,容许用户可以在系统中建立内容,而且将建立的内容发布在网络上。咱们将会对跨站点脚本攻击进行更多的关注:性能

  • Confluence 中的 Wiki 标记语言不支持危险 HTML 标记
  • 在默认的状况下,你不能向宏中插入 原生 HTML 标记
  • HTML 做为附件上传到服务器上话,这个文件将会在下载的时候保存为 content-type 类型,而不是在浏览器中显示。
  • 只有系统管理员级别的用户才能够对应用程序进行 HTML-level 级别的自定义

当跨平台脚本安全漏洞在 Confluence 被发现后,咱们将会以最快的速度对这个漏洞进行修复。加密

传输层安全

Confluence 并不直接支持 SSL/TLS。Confluence 的管理员若是对传输层安全性有所顾虑的话,应该考虑在 Java 应用服务器级别设置 SSL/TLS 或者在 Confluence 应用服务器前面使用 HTTP 方向代理。操作系统

有关如何在 Confluence 中配置 SSL 的信息,请参考 Running Confluence Over SSL or HTTPS 页面中的内容。

会话管理

Confluence 使用 Java 应用服务器的会话管理。在现有的状况下,咱们并无得到任何有关会话劫持针对 Confluence 的攻击。若是你如今正在将 Confluence 部署到其余的一些应用服务器上,你应该确保会话不会被劫持。

插件安全

管理员在 Confluence 安装第三方插件所带来的风险为自负风险( at their own risk)。安装的插件将会与 Confluence 在相同的虚拟机上运行,同时也可以访问全部的 Java Runtime 环境,包括 Confluence 服务器 API。

管理员在 Confluence 安装插件的时候应该对插件的来源进行校验,确保安装的插件来源。

管理员信任模型

Confluence 是基于全部具备 System Administrator privileges 都是能够被信任的。系统管理员能够直接安装插件,对 Confluence 的性能和配置进行调整。

与其余任何应用程序同样,你不该该将 Confluence 在 root/Administrator 用户权限运行。若是你但愿你的 Confluence 监听私有的网络端口,你应该配置 Confluence 使用端口转移(port forwarding)或者使用反向代理,而不是给 Confluence 添加其余的权限。当你考虑让 Confluence 在 chroot 下运行的话,你须要很是当心。

堆栈跟踪

但愿对 Confluence 的问题进行调试,当出现问题的时候 Confluence 将会在界面中提供错误的堆栈信息。这些堆栈的信息包括了 Confluence 在运行的时候的信息,同时还包括了有关你开发服务器的一些信息。

只有非我的信息在堆栈中显示,例如操做系统的版本和 Java 的版本。针对正确的网络设置,这些信息将会不足够对错误的问题进行诊断。用户的用户名和密码将不会显示出来。

https://www.cwiki.us/display/CONF6ZH/Confluence+Security+Overview+and+Advisories

相关文章
相关标签/搜索