2016-06-08 27 views
1

我在多個用戶共享的終端中使用公司代理。我們使用Cntlm爲了連接到互聯網。由於每個用戶都有自己的憑證,所以我想知道是否可以使用本地配置文件(如~/.cntlm)而不是全局憑證(/etc/cntlm.conf)。Cntlm的本地配置文件

,因爲我沒有找到一種方法,通過Cntlm自己去做,我想轉彎標準/etc/cntlm.conf成一個符號鏈接的,將指向$HOME/.cntlm,即每個用戶將有一個.cntlm文件,它在其家憑據目錄。這個想法是在用戶登錄後啓動Cntlm服務,讓系統動態解析符號鏈接到當前用戶的主目錄。起初聽起來很聰明,但後來我發現Linux中不允許使用變量符號鏈接,如討論的herehere

值得注意的是,在我們的情況下,在任何給定時間只有一個用戶登錄。此外,我正在尋找不讓敏感信息「暴露」的解決方案,例如本地導出環境變量http_proxyhttps_proxy(如其他地方所建議的)。這種方法的問題在於,每個用戶都可以對本機進行root訪問,並且所使用的登錄名/密碼來自LDAP,並可以訪問其他系統。在這一點上,我想強調我不關心我或我的同事對任何人造成傷害的任何企圖。我只是在研究軟件限制。儘管我相信我的同事們,但我認爲沒有理由保留密碼而不是存儲它的散列(如Cntlm在cntlm.conf中所做的那樣)或使用實現更好保護機制的其他工具(如存在)(例如:加密,首次使用密碼提示等)。

我知道,因爲每個人都擁有對計算機的根訪問權限,每個用戶擁有一個配置文件並不會阻止某人使用其他人的憑據訪問Internet,這會導致遠程代理記錄所有訪問來自錯誤的用戶(一切都被監控),這顯然是不好的。我認爲所有這些擔憂都很明顯,所以我可能在這裏錯過了一些東西(可能使用了錯誤的工具)。

所以,這裏是我的兩個問題:

  1. 我怎樣才能設置Cntlm(或替代的工具,你可以建議),使多個用戶(在一時刻在系統中只有一個活動的用戶)可以通過代理使用他們自己的憑證以最低限度的安全設置連接到Internet?

  2. 如果是多個用戶同時登錄,是否有任何工具可以根據各個配置文件正確地協調/提供請求?

編輯:

也許我不會在我的問題不夠清楚。我們的問題與控制檯應用程序的使用有關,如git,curl,wget等。瀏覽器中沒有問題,因爲它提示輸入憑據,並且還提供了存儲它們的選項。例如,Git允許set up of a proxy。對於大多數其他應用程序也是如此,但必須分別設置每個應用程序真的很煩人。這就是我們使用Cntlm的原因。

回答

0

我們使用的解決方案不是將任何憑證信息放在cntlm.conf中。

在這種情況下,當瀏覽器連接到cntlm時,cntlm將引發一個「407 Proxy Authentication Required」,瀏覽器將提示輸入用戶名和密碼。然後瀏覽器通常可以確信將密碼存儲在其中 - 或者對於Chrome來說,至少在Ubuntu的加密密碼存儲中。

這比將密碼放入用戶特定的配置文件要安全得多。

這裏是我們的配置:

Domain   ADDomain 
Proxy   proxy.example.com:8080 
Listen   3128 
NTLMToBasic  yes 
NoProxy *.example.com 
+0

哦,我明白了......也許我不是我的問題(也許應該編輯)很清楚......我們的問題是控制檯應用程序相關的,例如作爲'git','curl','wget' ......你如何處理它們?在瀏覽器中,我們沒有問題,因爲如您所說,它會提示輸入憑據... –

+0

此方法可能仍然可行。例如,使用-u用戶名選項運行curl並且不輸入密碼將使其提示您輸入密碼。如果您正在腳本中運行該工具,則通常可以將工具命令行選項放入工具配置文件中,這會比在流程列表中顯示更安全。 – Craig