这个文档是针对 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 能够对脚本注入攻击具有很高的抵抗性。

跨站点脚本

作为一个内容管理系统,允许用户能够在系统中创建内容,并且将创建的内容发布在网络上。我们将会对跨站点脚本攻击进行更多的关注:

  • 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

Confluence 6 安全概述和建议概述的更多相关文章

  1. Unit01: Web概述 、 HTML概述 、 文本处理 、 图像和超链接 、 表格 、 表单

    Unit01: Web概述 . HTML概述 . 文本处理 . 图像和超链接 . 表格 . 表单 demo1.html <!-- 声明网页的版本(文档类型) --> <!doctyp ...

  2. 第一章001-003课程介绍、计算机网络概述、Internet概述

    计算机网络概述 课程安排: 第一章:概述 第二章:物理层 第三章:数据链路层 第四章:网络层 第五章:运输层 第六章:应用层 第七章:网络安全 第八章:因特网上的音频/视频服务 第九章:无线网络 第十 ...

  3. 第30天学习打卡(异常概述 IO流概述)

    异常概述 即非正常情况,通俗的说,异常就是程序出现的错误 异常的分类(Throwable) 异常(Exception) 合理的应用程序可能需要捕获的问题 举例:NullPointerException ...

  4. Xamarin原生跨平台概述(精简概述,命中要害。PS:无图)

    Xamarin原生跨平台:原生界面.原生性能.原生API(与H5比较): 1.C#可以访问Andrid.IOS原生API,也可以调用C#系统类型,如Syetem,System.IO;2.原理:基于Mo ...

  5. Confluence 使用常见问题列表

    Confluence 6 管理 Atlassian 提供的 App 摘要: Confluence 用户可以使用桌面应用来编辑一个已经上传到 Confluence 的文件,然后这个文件自动保存回 Con ...

  6. 一、Adobe Premiere Pro CC概述

    一.Adobe Premiere Pro CC概述 使用建议 一.开始 二.在Adobe Premiere Pro CC执行非线性编辑 1.标准的视频剪辑工作流 2.使用Premiere增强工作流 p ...

  7. ISP-OB, pedestal 以及ISP概述

    网上的直接参考资料 1. https://zhuanlan.zhihu.com/p/36896537 2. https://blog.csdn.net/m0_38049850/article/deta ...

  8. Spring Cloud Alibaba(2)---Nacos概述

    Spring Cloud Alibaba(2)---nacos概述 上一篇博客讲了有关 SpringCloudAlibaba的概述,这篇开始讲SpringCloudAlibaba组件之一---Naco ...

  9. Spring Cloud Alibaba(3)---Nacos概述

    Spring Cloud Alibaba(3)---nacos概述 上一篇博客讲了有关 SpringCloudAlibaba的概述,这篇开始讲SpringCloudAlibaba组件之一---Naco ...

随机推荐

  1. PHP设计——单例模式与工厂模式

    一.单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的.所有的单例模式至少拥有以下三种公共元素:1. 它们必须拥有一个构造函数,并且必须被标记为pri ...

  2. 前段js的各种弹出框

    artDialog 首页 > 文档与示例 artDialog —— 经典的网页对话框组件,内外皆用心雕琢. 支持普通与 12 方向气泡状对话框 完善的焦点处理,自动焦点附加与回退 支持 ARIA ...

  3. 第26月第8天 android studio 国内

    1. //东软信息学院 mirrors.neusoft.edu.cn 80   使用方法: 启动 Android SDK Manager ,打开主界面,依次选择「Tools」.「Options…」,弹 ...

  4. 6-11数据库mysql初始

    1,什么是数据(DATA)? 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 2,什么是数据库? ...

  5. json 的类型

    json靠双引号与单引号, 区分是NUMBER 还是 STRING

  6. vue组件导航栏动态添加class

  7. JDK中Concurrent包介绍及使用(包含atomic包/lock包/并发容器/执行器)

    Java Concurrent并发包概括  https://blog.csdn.net/u012232736/article/details/79919450 Java中的Atomic包使用指南   ...

  8. gulp3 和 gulp4 区别

    运行gulp项目报错:AssertionError: Task function must be specified 今天像往常一样,编写文章,并使用gulp bulid压缩代码,但是一运行:gulp ...

  9. 异常:已引发: "设置 connectionId 时引发了异常。" (System.Xaml.XamlObjectWriterException) 引发了一个 System.Xaml.XamlObjectWriterException: "

    项目中,引用一个富文本编辑器,SmithHtmlEditor,进入页面的时候异常. 在View和ViewModel所在的类库引用. 还需要在Main中引用.

  10. python 中的exec

    x = 10 expr = """ z = 30 sum = x + y + z print(sum) """ def func(): y ...