Linux:沒有 root 的高效系統管理員(保護智慧財產權)?
有沒有辦法讓經驗豐富的 Linux 系統管理員在不授予他完全 root 訪問權限的情況下高效工作?
這個問題來自保護智慧財產權(IP)的角度,在我的情況下,它完全是程式碼和/或配置文件(即易於複製的小型數字文件)。我們的秘方使我們比我們的小尺寸所暗示的更成功。同樣,我們曾經被一些試圖竊取 IP 的前無良員工(不是系統管理員)所*咬,兩次害羞。*高層管理人員的立場基本上是:“我們信任人,但出於自身利益,我們不能承擔讓任何人獲得超過他們完成工作絕對需要的訪問權限的風險。”
在開發人員方面,劃分工作流和訪問級別相對容易,這樣人們可以提高工作效率,但只能看到他們需要看到的內容。只有頂級人才(實際公司所有者)有能力結合所有成分並製作特殊醬汁。
但是我還沒有想出一個在 Linux 管理員端維護 IP 保密性的好方法。我們將 GPG 廣泛用於程式碼和敏感文本文件……但是如何阻止管理員(例如)起訴使用者並跳上他們的 tmux 或 GNU Screen 會話並查看他們在做什麼?
(我們還在所有可能接觸到敏感資訊的地方禁用了 Internet 訪問。但是,沒有什麼是完美的,聰明的系統管理員可能會遇到漏洞或網絡管理員方面的錯誤。甚至是好的舊 USB。有當然還有許多其他措施,但這些超出了這個問題的範圍。)
我能想到的最好的方法基本上是使用帶有sudo的個性化帳戶,類似於Multiple Linux sysadmins working as root中描述的內容。具體來說:除了公司所有者之外,沒有人會真正擁有直接的 root 訪問權限。其他管理員將擁有一個個性化的帳戶和sudo進入 root 的能力。此外,還將建立遠端日誌記錄,並且日誌將發送到只有公司所有者可以訪問的伺服器。看到關閉日誌記錄會引發某種警報。
聰明的系統管理員可能仍然會在這個方案中找到一些漏洞。除此之外,它仍然是被動的而不是主動的。我們的智慧財產權的問題在於,競爭對手可以很快利用它,並在很短的時間內造成很大的損害。
因此,最好是一種限制管理員可以做什麼的機制。但我認識到這是一種微妙的平衡(特別是在故障排除和修復需要立即解決的生產問題的情況下*)*。
我不禁想知道其他擁有非常敏感數據的組織如何管理這個問題?例如,軍事系統管理員:他們如何在無法看到機密資訊的情況下管理伺服器和數據?
**編輯:**在最初的文章中,我的意思是先發製人地解決開始浮出水面的“招聘實踐”評論。一,這應該是一個技術問題,而 IMO 的招聘實踐更傾向於社會問題。但是,第二,我會這樣說:我相信我們會盡一切可能來招聘人員:面試多個公司的人;背景和參考調查;所有員工都簽署了許多法律文件,其中一份表明他們已經閱讀並理解了我們的手冊,該手冊詳細說明了智慧財產權問題。現在,它超出了這個問題/網站的範圍,但如果有人可以提出“完美”的招聘做法,過濾掉 100% 的壞演員,我會全神貫注。事實是:(1)我不相信有這麼完美的招聘流程;(2)人的變化——今天的天使可能是明天的魔鬼;(3) 企圖盜竊程式碼似乎在這個行業中有些例行公事。
您所說的被稱為“邪惡的系統管理員”風險。它的長短是:
- 系統管理員是具有提升權限的人
- 技術嫻熟,足以使他們成為一名優秀的“黑客”。
- 在異常情況下與系統互動。
這些東西的結合使得阻止惡意行為基本上是不可能的。甚至審計也變得困難,因為你沒有“正常”可以比較。(坦率地說 - 一個損壞的系統很可能也破壞了審計)。
有很多緩解措施:
- 特權分離 - 你不能阻止一個擁有 root 權限的人在系統上做任何事情。但是您可以讓一個團隊負責網路,而另一個團隊負責“作業系統”(或分別負責 Unix/Windows)。
- 將套件的物理訪問權限限制為不同的團隊,他們沒有管理員帳戶……但要照顧所有“手”的工作。
- 將“桌面”和“伺服器”職責分開。配置桌面以禁止刪除數據。桌面管理員無法訪問敏感資訊,伺服器管理員可以竊取它,但必須跳過鐵圈才能將其從建築物中取出。
- 對受限訪問系統進行審計 -
syslog
和事件級別審計,對他們沒有特權訪問的相對防篡改系統進行審計。但是收集它是不夠的,你需要監控它——坦率地說,有很多方法可以“竊取”可能不會出現在審計雷達上的資訊。(偷獵者與獵場看守人)- 應用“靜止”加密,因此數據不會“明文”儲存,並且需要實時系統才能訪問。這意味著具有物理訪問權限的人無法訪問沒有被主動監控的系統,並且在系統管理員正在處理它的“異常”場景中,數據的暴露程度較低。(例如,如果數據庫不工作,數據可能不可讀)
- 兩個人統治——如果你對自己的生產力和士氣不滿意的話。(說真的 - 我已經看到它完成了,並且工作和被監視的持續狀態使其工作條件極其困難)。
- 審查您的系統管理員 - 可能存在各種記錄檢查,具體取決於國家/地區。(犯罪記錄檢查,你甚至會發現在某些情況下你可以申請安全許可,這會觸發審查)
- 照顧好你的系統管理員——你最不想做的事情就是告訴一個“受信任的”人你不信任他們。而且您當然不想損害士氣,因為這會增加惡意行為的機會(或“不是完全疏忽,而是警惕性下滑”)。但要根據責任和技能組合付費。並考慮“津貼”——比工資便宜,但可能更有價值。比如每週一次的免費咖啡或披薩。
- 您也可以嘗試應用契約條件來禁止它,但請注意上述情況。
但從根本上說 - 你需要接受這是一個信任的事情,而不是技術的事情。由於這場完美風暴,您的系統管理員將永遠對您非常危險。