
Obscuring network proxy password in plain text files on Linux/UNIX-likes通常,在大型网络中,计算机需要在经过身份验证的代理之后进行操作-与外界的任何连接都需要用户名/密码,这通常是用户登录电子邮件,工作站等所使用的密码。
这意味着必须将网络密码以及通常在
我意识到使用 我也意识到,从具有root用户访问权限的人那里获取密码在技术上是不可能的,但是我想知道是否存在一种方法可以隐藏密码以防止意外发现。 Windows以管理员身份与用户一起运行,但仍以某种方式存储网络密码(可能以某种方式隐藏在注册表的深处),因此在典型的用法中,您不会以纯文本形式偶然浏览 我只是从那天起才问,在跨系统比较配置文件时,我完全是偶然地以这种方式发现了别人的密码。 @monjardin-恐怕此网络上的公钥认证不是替代方案。另外,我怀疑大多数命令行工具都支持它。 @Neall-我不介意其他具有Web访问权的用户,他们可以使用我的凭据访问Web,我只是不希望他们在我的密码中以纯文本形式出现。 使用以下方法,您不必将代理密码保存为纯文本格式。您只需要在需要http / https / ftp访问时以交互方式输入密码:
注意:在Shell会话期间,密码在用户环境中可用(并且可读)。如果要在使用后从环境中清除它,可以使用另一个别名:
我做了一个修改的解决方案:
编辑
在下一次登录中,输入
例如 备注:代理设置仅在Shell会话期间有效 有很多方法可以使密码模糊:您可以将证书存储为rot13格式或BASE64,或者使用与CVS相同的密码加密算法。但是,真正的技巧是使您的应用程序意识到加扰算法。
对于
这会将 我想您知道这一点,但需要重复:这不会增加任何安全性。它只是防止意外看到另一个用户的密码。
首选与Gnome Keyring集成的应用程序。另一种可能性是使用SSH隧道连接到外部计算机,并通过该隧道运行应用程序。查看用于创建本地SOCKS代理接口的 除非您使用的特定工具允许使用混淆格式,或者除非您可以创建某种工作流以从混淆状态转换为按需普通操作,否则您可能很不幸。 在这种情况下,我看到的一件事是创建每个服务器,每个用户或每个服务器/每个用户的专用凭据,这些凭据只能从特定IP访问代理。它并不能解决您的核心混淆问题,但可以减轻别人看到密码的影响,因为它的价值太低了。 关于后一种选择,我们在工作中提出了一种"反向加密"密码编码,用于类似这样的事情。这只是混淆,因为对pw进行解码所需的所有数据都存储在编码的字符串中,但是它可以防止人们意外地以纯文本形式看到密码。因此,例如,您可以以此格式存储上述密码之一,然后为apt编写包装程序,以动态构建apt.conf,调用真正的apt,然后在退出时删除apt.conf。您仍然会以纯文本形式使用pw一段时间,但是它将窗口最小化。 我想您可以创建一个本地代理,通过它们指向这些工具,然后让本地代理交互地询问用户要使用的外部代理密码。它可以选择在混淆的内部存储中记住这一点几分钟。 一个明显的攻击媒介是特权用户修改此本地代理,以使用输入的密码进行其他操作(就像其他操作,例如请求它的电子邮件客户端或窗口系统本身一样),但至少您会d避免疏忽观看。
我们通过不要求rpm,apt或其他类似更新(病毒数据库,Windows程序等)的代理密码来解决此问题 只要这三个条件都是正确的,您就很不走运: 如果您无法删除#2或#3,则唯一的选择是删除#1。设置一个托管所有软件更新的内部服务器。保持与其他用户的锁定,并且不允许其他服务器访问Web。 您尝试做的其他任何事情只是在欺骗自己。 公钥身份验证是否对您有效? |