- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在多个用户共享的终端中的公司代理背后工作。我们使用 Cntlm
为了连接到互联网。由于每个用户都有自己的凭据,我想知道是否可以使用本地配置文件(例如:~/.cntlm
)而不是全局配置文件(/etc/cntlm.conf
).
因为我没有找到通过 Cntlm 本身来完成它的方法,所以我想到将标准 /etc/cntlm.conf
转换为指向 $HOME/的符号链接(symbolic link).cntlm
,即每个用户在其主目录中都有一个 .cntlm
文件及其凭据。这个想法是在用户登录后启动 Cntlm 服务,并让系统动态解析符号链接(symbolic link)到当前用户的主目录。起初这听起来很聪明,但后来我发现变量符号链接(symbolic link)在 Linux 中根本不允许,正如所讨论的 here和 here .
值得注意的是,在我们的例子中,在任何给定时间只有一个用户登录。此外,我正在寻找不让敏感信息“暴露”的解决方案,例如在本地导出环境变量 http_proxy
和 https_proxy
(如其他地方所建议)。这种方法的问题是每个用户都具有对机器的 root 访问权限,并且使用的登录名/密码来自 LDAP,并且还提供对其他系统的访问权限。在这一点上,我想强调的是,我不关心我或我的同事对任何人造成任何伤害的任何企图。我只是在调查软件限制。也就是说,尽管我信任我的同事,但我认为没有理由将密码硬编码而不是存储其哈希值(如 Cntlm 在 cntlm.conf
中所做的那样)或使用实现的其他工具(如果存在)更好的保护机制(例如:加密、首次使用时提示密码等)。
我知道,因为每个人都有对机器的 root 访问权限,每个用户拥有一个配置文件并不能阻止某人使用其他人的凭据访问 Internet,这会导致远程代理将所有访问记录为来自错误的用户(一切都受到监控),这显然很糟糕。我认为所有这些担忧都非常明显,所以我可能在这里遗漏了一些东西(也许是使用了错误的工具?)。
所以,这是我的两个问题:
如何设置 Cntlm(或您可能建议的替代工具),以便多个用户(系统中一次只有一个事件用户)可以使用他们自己的凭据通过代理连接到 Internet最低限度的安全设置?
如果多个用户同时登录,是否有任何工具可以根据各个配置文件正确协调/服务请求?
编辑:
也许我的问题不够清楚。我们的问题是和console应用的使用有关,比如git
, curl
, wget
等,在浏览器中是没有问题的,因为它提示输入凭据并提供存储它们的选项。例如,Git 允许 set up of a proxy .大多数其他应用程序也是如此,但是必须分别设置每个应用程序真的很烦人。这就是我们使用 Cntlm 的原因。
最佳答案
我们使用的解决方案是不在 cntlm.conf 中放入任何凭证信息。
在这种情况下,当浏览器连接到 cntlm 时,cntlm 会抛出一个“407 Proxy Authentication Required”,浏览器会提示输入用户名和密码。然后通常可以说服浏览器将密码存储在其加密的密码存储中,或者对于 Chrome,至少在 Ubuntu 的情况下。
这比将密码放入用户特定的配置文件要安全得多。
这是我们的配置:
Domain ADDomain
Proxy proxy.example.com:8080
Listen 3128
NTLMToBasic yes
NoProxy *.example.com
关于linux - Cntlm 的本地配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37697062/
我正在尝试在 Windows 10 上启动 Cntlm 身份验证代理服务,但出现 1067 错误: The Cntlm Authentication proxy service on local co
我在多个用户共享的终端中的公司代理背后工作。我们使用 Cntlm为了连接到互联网。由于每个用户都有自己的凭据,我想知道是否可以使用本地配置文件(例如:~/.cntlm)而不是全局配置文件(/etc/c
在我的虚拟服务器中,我使用 CNTLM 本地代理来访问 NTLM 身份验证。当我执行这个命令时: sudo curl -X GET "http://google.com" 它工作正常,但是当我指定端口
我已经在 Windows 上配置了 CNTLM 代理授权,配置文件看起来像, Auth NTLM PassNT XXXXXXXXXXXXXXXXXXXXXXXX
我在一家使用代理连接互联网的公司工作。我的一些应用程序,尤其是任何类型的包管理器都无法连接到代理并生成 407(需要代理身份验证)。 作为第一次尝试,我尝试为每个应用程序手动设置代理设置。示例: py
我已按照以下步骤在cntlm.ini中填写代理信息。 它运行良好,我能够正确地进行身份验证。 How to fill proxy information in cntlm config file 但是
我已按照以下步骤操作: 使用正确的代理信息更新了我的 cntlm.ini 文件。 使用正确的用户名、密码和域信息更新了我的 cntlm.ini 文件。 使用以下内容更新了我的环境变量: setx -m
我不断收到 cntlm: could not open default config file 错误,当我运行时: cntlm -v -I -M http://www.google.com 但是,我在
有没有办法将 CNTLM 代理与自动配置 .pac 文件一起使用?我希望 CNTLM 自动决定哪些 url 应该通过代理解析,哪些 url 直接解析(基于远程公司 .pac 文件)。 最佳答案 CNT
我想使用工具 cntlm 通过基本身份验证对使用 ntlm 协议(protocol)的公司代理服务器进行身份验证。 CNTLM 使用 cntlm.conf 文件来获取您的代理身份验证凭据。如果您不想以
正如标题所说,我在使用 Cntlm 时遇到了一些问题。我正在使用 0.92.3 版本并从源代码启动。我想做的是将 Cntlm 作为具有本地主机配置的独立代理启动,以浏览互联网和启动应用程序(例如 Sk
我正在尝试在需要身份验证的代理服务器后面使用 Pip。我已经安装了 cntlm 并填写了散列密码。当我运行这个时: cntlm -c cntlm.ini -I -M http://www.go
我正在尝试开始在 GitHub 上使用 Git。不幸的是,我无法让它工作,当我尝试克隆存储库时,我总是收到消息“连接被拒绝”。由于我在代理服务器后面,我想问题就在那里,但我不知道如何解决。 下面是我目
我正在尝试在工作中使用代理背后的 pip。 来自this post 的答案之一建议使用 CNTLM .我按照 this other post 安装和配置了它,但运行 cntlm.exe -c cntl
我正在尝试通过在主机上运行的 CNTLM 代理所有传出的 kubernetes 流量。 一点上下文:目前我正在尝试在 VM 上设置一个 kubernetes 集群,以用作项目的快速部署解决方案。遗憾的
我能够将 cntlm(请参阅其 sourceforge project)设置为我们的公司代理,并且浏览器可以通过它工作。在 http 和 https 上。 但是当我尝试运行 git clone -v
我在需要身份验证的公司代理后面的 CentOs 7 服务器上使用 cntlm 代理。 这是我的 cntlm.conf 文件: Username user Domain dom Auth
我正在尝试执行以下操作: from urllib.request import urlopen data = urlopen("https://www.duolingo.com/users/Saifu
我有一个 Windows cntlm 代理设置和工作。 现在我想打开它作为网关,但限制可以调用它的IP。这意味着除了一个 ip 地址外,拒绝所有。 目前我在 cntlm.ini 中尝试了这个和类似的配
我是一名优秀的程序员,十分优秀!