【问题标题】:Cipher/Encrypt and uncrypt passwords in .properties files using Talend Data Integration使用 Talend Data Integration 加密/加密和解密 .properties 文件中的密码
【发布时间】:2016-03-27 10:00:03
【问题描述】:

运行作业的一种建议方法是将上下文参数保存在属性文件中。 喜欢这个:

#
#Wed Dec 16 18:23:03 CET 2015 
MySQL_AdditionalParams=noDatetimeStringSync\=true 
MySQL_Port=3306   
MySQL_Login=root 
MySQL_Password=secret_password_to_cipher 
MySQL_Database=talend MySQL_Server=localhost

这真的很简单也很有用,但这样做的问题是密码是明文保存的。

所以我正在寻找轻松加密的方法。 以下是 Stack Overflow 中已经讨论过的关于密码加密技术的 2 个非常有趣的问题:

但它们是 Java 原生的,我正在寻找更好的 Talend 集成。我已经在我的 Talend 工作中尝试了不同的方法:

所有这些技术都在一个教程(法语,抱歉)中描述,解释如何crypt passwords in Talend

但是遇到了另一个问题:用于加密/解密的密钥始终是明确的,所以如果你知道解决这一点的好方法我很乐意尝试一下强>.

【问题讨论】:

    标签: encryption talend password-encryption crypt


    【解决方案1】:

    从根本上说,只要有人闯入系统/接管了应用程序的控制权,就可以访问应用程序可以访问的任何内容。 即使您使用混淆(例如 base64 或更高级)或密钥可用的真正加密(即使它们也可能被混淆)。

    所以基本上没有足够好的方法来做你想做的事情,更糟糕的是:它根本不存在。

    那你会怎么做呢?

    1.限制权利

    MySQL_Login=root 是个大问题......应用程序的破坏将导致数据库(及其数据)立即受到破坏。

    因此,将权限限制为应用程序绝对需要的内容。

    这确实应该做到,而且很容易实现。

    2。单独的用户和管理员级别的访问权限

    如果某些事情只在用户交互后才需要,您可以使用用户提供的秘密(例如,用户的密码可以给出一个哈希值,并且可以进行异或运算并为您获取一个并不总是存在的密钥应用程序或配置文件)。

    您可以使用它,例如将权限分为两个级别:普通用户级别,只有最低限度的权限才能使应用程序为普通用户工作,(但例如不是允许管理应用程序本身的应用程序管理权限),并使用保留的秘密由用户在没有管理员登录到应用程序的管理部分时将密钥保留在应用程序之外。

    说实话,这很难做到,也不是那么容易。

    但即使您基本上必须考虑访问例如如果应用程序被破坏,数据库将被破坏。

    这也是为什么在没有适当预防措施的情况下不应该(绝不能)将应用程序用户密码等数据存储在数据库中的原因。

    【讨论】:

    • 感谢您的回答。事实上,login=root 已经留给我的测试,我从不在生产中使用它。但这是一个很好的强调点。我将尝试 xor-ed 案例。我给了你“接受”的答案,所以你会在它到期之前得到赏金,但我希望你已经尝试过真正的用例。还是谢谢。
    • 访问 2 个级别:
    • 以用户和管理员为例,但您可以添加更多,尽管它很快就会变得复杂 获取 1 个密码,您可以以最低权限直接存储到数据库中,允许用户读取访问权限 创建第二个管理员访问的用户/密码。现在,对于每个拥有该权限的用户,在用户表中添加一列,其中包含 xor-ed admin passwd 到数据库和他们自己的密码哈希”。因此,每当您的应用程序以纯文本形式看到密码时,它都会生成管理员密码并存储它在与数据库的会话中具有会话的管理员权限
    • 正如您在一位管理员处于活动状态时所看到的 - 即使只有几秒钟,应用程序仍然知道如何找到第二个密码。因此,如果应用程序遭到入侵,攻击者仍然有办法获得访问权限。多做一点工作。这就是很少有人为此烦恼的原因......
    猜你喜欢
    • 2012-10-03
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    • 2016-12-08
    相关资源
    最近更新 更多