【问题标题】:lucene indexing security fileslucene 索引安全文件
【发布时间】:2013-06-24 03:01:14
【问题描述】:

我将尝试简要描述我的问题和任务。 我的任务是为不同类型的文件(仅限文本文件类型)pdf、word、odf、xml 而不是 html 创建搜索引擎。 大约一年前,我几乎没有使用 lucene 的经验,我使用 lucene 和休眠搜索编写了简单的全文搜索。那是一个简单的项目。但现在我的搜索任务非常艰巨。 我们正在使用 java 1.7 和 glassfish 3,我必须只关注服务器端方法而不是客户端 ui。这是我的三个主要问题:

1) 所有文件都存储在 webdav 服务器上,但有关文件名、id 文件类型等的信息存储在数据库 (postgresql) 中,因此当我创建索引时,我需要使用这两个信息。作为查询的结果,我只需要从数据库返回文件 ID。文件的摘要内容存储在服务器中,但有关文件的信息存储在数据库中,因此我们必须同时检索两者。

2) 次要问题是每个文件都有一定的保密级别。但主要问题是这个级别是动态计算的。在计算文件的安全级别时,我们会考虑几个属性。静态属性是文件位置,文件所在的文件夹,还有动态信息用户配置文件用户角色和部门。因此,当用户“Maggie”被登录时,她只能搜索文件“test.pdf”、“test2.doc”等,但如果用户“Stev”被登录,他有不同的个人资料,比如 Maggie,所以他只能搜索文件中的某个阶段“broken.pdf”、“mybook.odt”。 test2.doc等......我认为,例如,当用户搜索阶段“lucene +solr”我们在所有索引文档中搜索并在过滤结果之后进行搜索。但我认为该解决方案效率不高。如果结果计数 100 个文件,那么接下来我们如何逐步过滤每个文件?但我没有看到任何其他解决方案。也许你可以帮助我,而 lucene 或 solr 有帮助的机制。

3) 最后一个问题是一些文件被加密了。所以文件必须在加密前只被索引一次!但我认为,如果我们索引安全文件,我们就会遇到安全问题。因为该文件中的所有单词都已标记化。 我不知道如何保护 lucene 文档和索引数据存储?有可能……

我还有一个问题是我需要将 Solr 用于我的搜索引擎还是只使用 lucene 并编写自己的搜索引擎?如您所见,我在索引、搜索方面没有问题,但在安全文件和文件安全级别方面没有问题。

感谢您为我提供的任何提示和时间。

【问题讨论】:

    标签: solr lucene


    【解决方案1】:

    要从数据库检查文件的文件和元数据索引ExtractRequestHandler
    您可以将元数据属性和要索引的文件作为单个请求传递,它将作为单个文档存储在 lucene 索引中。

    为了安全,选项之一是将有权访问 Solr 索引中的文件/文档的用户/角色存储。
    因此,您始终可以使用用户/角色过滤结果以仅检索这些结果。
    确保您的 Solr url 安全,以便用户无法直接访问文档。
    还要检查SOLR-1872

    对于加密,Solr 和底层 Parser Tika 确实通过提供附加参数来处理 Encrypted files

    Apache Solr 使用 Apache Tika,它使用 Bouncy Castle 通用加密库从加密的 PDF 文件中提取文本内容和元数据。有关充气城堡的更多详细信息,请参阅http://www.bouncycastle.org/

    【讨论】:

    • yup .. 这将使上述要求很容易实现。
    • 你真的应该记住,加密的文档是标记化的,而这个标记是没有加密的。因此,如果您的文档中有信用卡号或类似的东西,人们可以在您的索引中找到它们。存在一些关于如何加密索引的研究,但据我所知,没有正在运行的解决方案。我正在为我工​​作的公司研究解决方案,但它也没有启动和运行。另见crypto.stackexchange.com/questions/2213/…
    猜你喜欢
    • 2012-02-22
    • 2016-05-13
    • 1970-01-01
    • 2011-02-05
    • 2011-12-13
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多