ownCloud加密配置

Posted by 橙叶 on Tue, Aug 30, 2016

加密配置

的ownCloud服务器端加密的主要目的是为了保护在远程存储,如Dropbox和谷歌驱动器用户的文件,并从ownCloud内部轻松、缝地做到这一点。

在ownCloud 9.0服务器端加密分离本地和远程存储功能。这使您可以加密远程存储,如Dropbox和谷歌,而无需您ownCloud服务器上加密你的家庭存储。

与ownCloud 9.0开始,我们支持认证加密所有新加密的文件。见https://hackerone.com/reports/108082有关影响的更多技术信息。

为了获得最大的安全性确保配置与“检查的变化:从不”外部存储。这将让ownCloud忽略通过ownCloud没有添加新的文件,所以恶意的外部存储管理员无法在您不知情的新文件添加到存储。当然,如果你的外部存储受到合法的外部变化,这是不明智的。

ownCloud服务器端加密加密上连接到ownCloud服务器远程存储存储在ownCloud服务器上的文件,和文件。加密和解密的ownCloud服务器上执行。发送到远程存储所有文件都将被ownCloud服务器进行加密,并在检索,他们提供给你,你已经共享他们的人之前进行解密。

加密文件了约35%,增加了他们的大小,所以你必须在你配置存储和设置存储配额考虑到这一点。用户的配额基于未加密文件的大小,而不是加密的文件的大小。

当外部存储文件ownCloud是加密的,你不能直接分享他们从外部存储服务,但只能通过ownCloud共享,因为密钥对数据进行解密永远不会离开ownCloud服务器。

ownCloud的服务器端加密生成一个强大的加密密钥,这是由用户的口令解除锁定。您的用户不需要跟踪一个额外的密码,但只需登录,因为他们通常做。它仅加密文件的内容,而不是文件名和目录的结构。

你应该定期备份所有的加密密钥,防止数据永久丢失。加密密钥存储在以下目录:

data/<user>/files_encryption
用户的私钥和必要的解密用户的所有其他键的文件
data/files_encryption
私钥和必要的解密存储系统范围的外部存储的文件中的所有其他键
当启用加密,所有的文件被加密并通过ownCloud应用程序解密,并在您的远程存储加密保存。这保护的外部托管的存储数据。浏览后端存储时,ownCloud管理员和存储管理员将只能看到加密的文件。
加密密钥存储只有ownCloud服务器上,免除了您的数据暴露给第三方存储供应商。加密应用程序并不会,如果你的服务器ownCloud被攻破保护您的数据,并且它不会阻止ownCloud管理员读取用户的文件。这需要客户端加密,此应用程序不提供。如果ownCloud服务器没有连接到任何外部存储服务那么最好是使用其他的加密工具,诸如文件级或整个磁盘加密。

还要注意的是SSL在终止或Apache的ownCloud服务器之前,所有的文件将在SSL连接终止和加密和解密文件ownCloud代码之间未加密的状态存在。这也是具有管理员访问服务器的任何潜在的可利用。阅读ownCloud如何使用加密来保护您的数据的详细信息。

启用加密之前

启用加密,因为无法从web管理界面取消加密。如果你失去了你的加密密钥文件,那么它是不可恢复的。请总是将加密密匙备份储存在一个安全的地方。

您可以通过更多的选择命令(参见OCC加密命令

occ

启用加密

ownCloud加密由两部分组成。加密系统启动,您的管理页面为禁用状态。首先,您必须启用此功能,然后加载一个加密模块。目前唯一可用的加密模块是ownCloud默认的加密模块。

首先去服务器端加密您的管理页面的部分,选中 启用服务器端加密。你有最后一次机会来改变你的想法。

../_images/encryption3.png
点击后启用加密按钮,您看到消息“没有加载加密模块,请加载应用程序菜单中选择一个加密模块”,然后去你的应用页面,以使ownCloud默认的加密模块。
../_images/encryption1.png
返回到您的管理页面看到ownCloud默认的加密模块添加到模块选择,并自动选择。现在,你必须先注销,然后重新登录来初始化加密密钥。
../_images/encryption14.png
当你重新登录,就启用在您的家庭存储加密的复选框。这是默认选中的。取消选中,以避免加密你的家庭存储。
../_images/encryption15.png

共享加密文件

加密激活后用户还必须注销并重新登录以生成自己的个人加密密钥。他们会看到一个黄色的警告横幅,上面写着“加密应用程序已启用,但你的钥匙不被初始化,请注销并重新登录”。

分享者可能要重新分享已经加密的文件; 用户试图访问该共享会看到一条消息。对于个股,取消共享和重新共享文件。对于集团股份,以谁也不能访问该共享的任何人分享。此更新加密,然后将份额所有者可以删除个人股。

../_images/encryption9.png

加密外部挂载点

您和您的用户可以加密单个外部挂载点。你必须有你的管理页面上启用外部存储,并为您的用户启用。

加密设置可以在安装选项配置为外部存储挂载,请参阅安装选件配置外部存储(GUI)

启用用户文件恢复密钥

如果你失去了你的密码ownCloud,那么您将无法访问您的加密文件。如果你的用户失去了他们的ownCloud密码的文件是不可恢复的。你不能重置其以正常方式密码; 你会看到一个黄色的横幅警告“请提供管理员的恢复密码,否则所有的用户数据都将丢失。”

为了避免这一切,创建一个恢复密钥。转到您的管理页面的加密部分,并设置一个恢复密钥密码。

../_images/encryption10.png
那么您的用户能够有自己的个人网页密码恢复的选项。如果他们不这样做的话,恢复密钥不会为他们工作。
../_images/encryption7.png
对于已启用谁恢复密码的用户,给他们一个新的密码,并通过提供用户页面上的恢复密钥恢复访问他们的加密文件。
../_images/encryption8.png
你可以改变你恢复密钥的密码。
../_images/encryption12.png

OCC加密命令

如果你有shell访问,你可以使用命令来执行加密操作,而且您还有其他选项,如解密和创建一个单一的主加密密钥。见加密 有关使用的详细说明。
occ
occ

获取加密的当前状态和装载加密模块:

occ encryption:status
 - enabled: false
 - defaultModule: OC_DEFAULT_MODULE
这相当于检查在您的管理页面上启用服务器端加密
occ encryption:enable
Encryption enabled

Default module: OC_DEFAULT_MODULE

列出可用的加密模块:
occ encryption:list-modules
 - OC_DEFAULT_MODULE: Default encryption module [default*]
选择不同的默认加密模块(目前唯一可用的模块是OC_DEFAULT_MODULE):
occ encryption:set-default-module [Module ID].
在[模块ID]从所拍摄的
encryption:list-modules
命令。

加密所有数据文件的所有用户。由于性能原因,当你一个ownCloud服务器上启用加密只有新的和修改过的文件进行加密。此命令使您能够加密所有文件的选项。您必须首先把你的ownCloud服务器进入单用户模式,以防止任何用户活动,直到加密完成:

occ maintenance:singleuser
Single user mode is currently enabled
然后运行:
occ
occ encryption:encrypt-all

You are about to start to encrypt all files stored in your ownCloud. It will depend on the encryption module you use which files get encrypted. Depending on the number and size of your files this can take some time. Please make sure that no users access their files during this process!

Do you really want to continue? (y/n)

当您键入
y
它为每个用户的密钥对,然后加密他们的文件,直到所有用户文件是加密显示进度。

解密所有用户的数据文件,或任选单个用户:

occ encryption:decrypt-all [username]
查看键的当前位置:
occ encryption:show-key-storage-root
Current key storage root:  default storage location (data/)
键移动到不同的根文件夹,在本地或其他服务器上。该文件夹必须已经存在,可以通过根和你的HTTP集团所拥有,并且只限于根和你的HTTP组。这个例子是Ubuntu Linux操作系统。请注意,新文件夹是相对于你的目录:
occ
mkdir /etc/keys
chown -R root:www-data /etc/keys
chmod -R 0770 /etc/keys
occ encryption:change-key-storage-root ../../../etc/keys
Start to move keys:
   4 [============================]
Key storage root successfully changed to ../../../etc/keys
创建一个新的主密钥。当你有一个基础设施的单点登录使用此功能。仅在何处加密尚未启用全新安装,没有现有的数据,或者在系统上使用此功能。这是不可能来禁用它:
occ encryption:enable-master-key

禁用加密

你可以只禁用加密。请确保您有所有加密密钥,包括用户的备份。把你的ownCloud服务器进入单用户模式,然后使用此命令禁用加密模块:
occ
occ maintenance:singleuser --on
occ encryption:disable
把它拿出来,当你完成单用户模式:
occ maintenance:singleuser --off

文件未加密

仅在这些文件中的数据
data/user/files
是加密的,而不是文件名 或文件夹的结构。这些文件从未加密:
  • 在垃圾桶和版本的现有文件。只有加密后新更改的文件启用加密。
  • 在版本现有文件
  • 从图库应用程序缩略图
  • 从文件应用预览
  • 从全文搜索应用程序的搜索索引
  • 第三方应用程序的数据
可能存在未加密的其他文件; 仅暴露于第三方存储提供商的文件被保证进行加密。

LDAP和其他外部用户后端

如果使用外部用户后端,如LDAP或Samba服务器,并且更改了用户对后端的密码,系统会提示用户更改其ownCloud登录来匹配他们的下一个ownCloud登录。用户将需要双方的新老密码来做到这一点。如果启用了恢复密钥,那么你可以在ownCloud面板的用户更改用户的密码以匹配他们的后端密码,然后,当然,通知用户,并给他们新的密码。

加密移植到ownCloud 8.0

当你从旧版本的ownCloud升级到8.0 ownCloud,你必须手动的迁移加密密钥OCC命令在升级完成后,类似这样的例子在CentOS:sudo的-u apache的PHP OCC加密:迁移密钥必须运行OCC作为你的HTTP用户。请参阅使用OCC命令,以了解更多关于OCC

加密移植到ownCloud 8.1

加密后端在ownCloud 8.1已经改变了,所以你必须采取一些额外的步骤正确迁移加密。如果你不遵循这些步骤,你可能无法访问您的文件。

在您开始升级,把你的ownCloud服务器进入

maintenance:singleuser
模式(参见维护模式配置)。你必须这样做是为了防止用户和同步客户端您完成加密迁移之前访问文件。

升级完成后,请按照以下步骤 启用加密以启用新的加密系统。然后点击开始迁移您的管理页面上的按钮来迁移加密密钥,或者使用命令。我们强烈建议您使用的命令; 在开始迁移按钮是谁没有访问控制台,对共享主机的例子设施管理员。这个例子是Debian / Ubuntu Linux操作系统:

occ
occ

$ sudo的-u www数据PHP OCC加密:迁移
这个例子是红帽/ CentOS的/ Fedora Linux系统:
$ sudo的-u apache的PHP OCC加密:迁移
您必须运行作为你的HTTP用户; 看到 使用OCC命令
occ

当您完成后,把你的ownCloud服务器退出

maintenance:singleuser
模式。



comments powered by Disqus