題:
允許本地桌面和/或活動目錄管理員訪問權限以及組織中開發人員的權限是否常見?
TroySteven
2018-07-16 07:06:12 UTC
view on stackexchange narkive permalink

我在一家擁有1000多名員工的公司工作。我們目前擁有程序開發人員,他們從事基於Web的項目(大約50人)。

最近由於安全問題,我們的IT和安全部門實施了一項限制,不再允許本地管理員訪問計算機。整個公司都為工作站和服務器運行Windows OS。我完全同意刪除管理員的決定,說實話,我認為這早就應該進行了(因為該公司處理患者數據並要求遵守HIPAA)。不幸的是,我相信他們把決定做得太過分了。我假設將為合法需要管理員訪問權限才能完成工作的用戶(例如,我的編程團隊)創建一個子組或AD組,例如保留管理員訪問權限的Tech組。但是事實並非如此,唯一的組為網絡和幫助台人員創建了一個特定的管理員組。

主要問題是,作為Web開發人員,我們運行需要本地管理員訪問權限的程序,但不幸的是,如果沒有以管理員身份運行這些程序,我們將無法完成工作。示例程序包括用於ASP.NET Web開發的Visual Studio,用於本地開發的MAMP,作曲家等。我相信這些程序需要管理員訪問權限的主要原因是因為它們需要運行和修改本地IIS,命令行等。

基本上,在什麼時候刪除本地管理員訪問權限會有短暫的通知。在大約2天的開發團隊能夠工作之後,我和其他團隊負責人基本上對IT員工大喊大叫以提出解決方案,他們最終承認並找到了一個第三方程序,可以作為通行證,即使我們沒有本地管理員訪問權限,管理員也可以創建某些程序以管理員身份運行。

不幸的是,我們用於本地管理員訪問的該程序令人難以置信的錯誤和不可靠,並且不是來自信譽良好的來源,而且似乎沒有太多替代方法。 (我不想透露我們使用的程序。)

我的問題是,通常不允許程序員/開發人員在公司中訪問本地管理員嗎?並且,如果這樣做是通常的做法,那麼開發人員如何以本地管理員身份運行所需的程序?

有關我們的網絡環境的更多信息(並不是真的與我剛才想添加的問題有關):

  1. 我們使用AppBlocker阻止程序不在批准列表上。
  2. 我們使用電子郵件安全阻止程序來執行諸如掃描附件並將附件轉換為PDF等工作。
  3. 我們在所有工作站上至少有2個主要的防病毒程序。
  4. 網絡及其服務器非常隔離,用戶只能訪問他們合法需要訪問的某些服務器,文件夾和數據庫。
  5. ol>
*鼓勵IT與開發之間摩擦的公司政策是有風險的政策。*如果有一群人可能嚴重破壞IT部門的安全工作,那將是開發人員。良好的公司政策旨在使IT和開發部門結合其集體知識來增強整體安全性。強迫IT為發展設置障礙會適得其反。如果有足夠的動力,人們將開始尋找創造性的解決方法。開發人員的創造性解決方法將不利於整體安全性。
在系統上擁有兩個單獨的防病毒程序幾乎可以肯定弊大於利。您獲得的檢測量增加可以忽略不計,同時使您在AV軟件本身中暴露的漏洞增加一倍,並且顯著降低了受影響的系統的速度。
問題不一樣,但又很相關,我是另一面的(在IT方面,IT人員也常常不同意這種瘋狂的政策):https://security.stackexchange.com/questions/135359/公司計算機為有能力的開發商如何與他們交易
我認為您不是真的要問這是否“典型”。但這是合理的,成本/收益是多少?以我的經驗,大型組織通常會嘗試這種做法。成本很高,並且極大地影響了開發人員的工作效率,但是“安全人員”通常不在乎,因為它被SEP領域所包圍(Somebody Else's Problem)。如果要擺脫這種情況,您不太可能會發現這不是典型的事情,而是昂貴的。公司討厭昂貴。
這在很大程度上取決於部門。銀行,軍事,公用事業-與大多數其他公司相比,它們的限制性更高。軟件工程是您可以轉移到任何行業的一項技能,但並非總是具有自身優勢的行業
您是否真的需要管理員權限才能使用ASP.NET/IIS?我已經開發這些項目已有10年了,從不需要管理員權限。我與堅持使用它的開發人員一起工作(基於相同的代碼),但這通常是因為他們(很糟糕)編寫了自己的“工具”。
-1
@Jacco更不用說在不信任開發人員自己的計算機與同時信任他們開發在公司服務器上運行並處理敏感最終用戶信息的自定義代碼之間的認知失調。如果他們無法在沒有保護的情況下將病毒拒之門外,我認為我不希望他們開發自己的應用程序,但由於操作不當而可能受到罰款。
注意:如果允許Visual Studio以“以管理員身份”運行,則用戶可以運行代碼“以管理員身份”。具有管理員權限的代碼可以將SeDebug權限分配給所需的任何安全令牌,因此開發人員可以完全控制計算機。
甚至不讓我們檢查謬論,即添加更多的防病毒產品會使系統更安全。
我過去處理此問題的方法是,對具有較高資歷的IT安全人員以上的老闆/董事提出基本要求。它是這樣的:“我有一個問題,這意味著我無法完成任何工作,但我已經確定了解決方案,只需要您的批准即可實施。”有趣的是,公司“總是”賺錢的需要克服了IT安全人員為證明其嚴厲措施而發明的生存威脅。但是,在執行此操作時始終會感到愉快-您需要長期的IT安全團隊在您身邊。
在許多公司中,開發人員還兼任系統管理員,因此他們自然會有特權。
您是否嘗試過設置WAAS端點以使您的用戶/組可以訪問http:// +:80 /?Google for“ netsh http add urlacl” ...
值得注意的是,如果該帳戶不是管理員,則某些開發工具將無法運行。較舊的軟件工具往往更是如此。
以本地管理員身份運行的軟件開發人員的一個缺點是,他們可能永遠不會遇到僅在您沒有此類權限時才會發生的最終用戶問題。我個人已經看到這種情況發生了很多次。
我是國防工業的合同程序員。我工作的每個公司都有一個程序,該程序將授予臨時管理員權限,同時記錄出於安全原因而採取的操作。要回答您的問題:“這很常見嗎?”-是的,但這確實是一個定義明確的安全性問題(無意冒犯)
如果讓appdevs管理他們的機器,那麼他們將安裝未經身份驗證的FTP,RSH,Webmin,Jenkins,Tomcat,ColdFusion,JBoss / WildFly,Splunkd,ElasticSearch等,並且它們將永遠不會升級。他們將配置SimpleHTTPServer,SMB,AFP和/或NFS以允許通過網絡(或其部分)隨意訪問其本地文件系統,然後將Shell腳本和關鍵資料保留在這些共享文件夾中。他們將對數據庫以及可以綁定到網絡套接字的任何其他內容執行相同的操作。
有時需要調試。例如,當使用沒有本地管理員權限的Visual Studio時,您將無法調試在另一個用戶下啟動的進程。但是公司可以設置一些過程來請求特定用戶在工作站上的臨時本地管理員權限。
任何值得該死的開發者都將在對其具有物理訪問權的計算機上獲得root訪問權:)
@Neil是的,您甚至需要成為本地管理員才能打開iis管理器或將調試器附加到iis工作進程。
@Andy或僅使用IIS Express,然後就不使用。
在某些地方,@Navin將使您短暫地前往HR以獲得P45。對真的 !
@matwonk請隨時向我們發布該問題的解決方法。
@Neil除了無法使用IIS Express時(例如需要將應用程序部署到另一台計算機上並將其連接到工作站時)。
@Andy聽起來更像是集成問題,而不是開發問題。沒有管理員權限即可完成100%的開發工作。
@Neil它不是集成問題;除非您認為運行該應用程序的開發人員在提交之前正在本地進行測試以測試它為“集成”。開發人員還需要做很多其他事情,這些工作需要本地管理員,而沒有本地管理員則成為生產的嚴重障礙,這可能就是為什麼大多數開發人員最終都會這麼做的原因(而我個人也不會在我曾經嘗試過的地方工作)')。
由於該公司將開發人員視為問題而不是解決方案(顯然您的老闆沒有聽到或被忽略),所以我建議在其他地方尋找對開發人員更友好的環境。並且由於我們正在使用Stackexchange,我們的偉大創始人對貴公司如何對待您有[強烈的意見](https://www.joelonsoftware.com/2006/09/07/a-field-guide-to-developers/)。
軼事:我從未在一家以任何真正有能力的安全性鎖定員工的公司工作。我曾經為之工作過的任何一家公司都從根本上失敗了,同時使員工的工作極為困難。我還要說,我再也不會為這樣的公司工作。實際上,我寧願做有意義的工作,也不願浪費每個人的官僚作風。
@atdre僱用資深工程師。此外,如果一切設置正確,您所抱怨的都沒有任何真正的風險。
@Brad:過去大約300名員工,這是不可能的。有充分的證據表明,即使網絡安全專家也成為通用網絡釣魚和魚叉式網絡釣魚的受害者。當您將出於經濟動機的演員或民族國家與一個人交往時,通常是該人屈服。不,一直如此。我聽說沒有適當的“設置”可以降低Windows Server Forest環境中訪問擴展的風險。甚至沒有微軟出售。
@atdre完全有可能,您只需要更好地組織自己。當我在一家大型軟件店工作時,每個項目都是與IT相關的完全獨立的“虛擬公司”,它是自己的服務器,團隊和完全隔離的基礎結構。無需一直將每個人都放在同一網絡上。它創造了奇蹟。它還具有一個優點,您可以將團隊移動到任何地方而不會影響團隊的工作或不必設置對中央服務器的訪問權限-當我們的一個辦公室燒毀時,我們在網吧租用了空間,直到問題解決為止。
-1
Idk,您有很棒的主意,但我從未見過它們能很好地實現。我認為最好還是實施JitJea。甚至沒有人應該長時間擔任管理員(幾秒鐘),尤其是工作站的本地管理員或大型安裝網絡的域admin / group都不應該。
在我的工作生涯中,我始終具有管理員權限。一家公司試圖將其從我們手中刪除,但在意識到開發人員不僅感到沮喪,而且只是停止工作之後,很快就將其停止了。不是因為他們不想這麼做,而是因為他們再也無法工作了。 因此,至少從我個人的經驗(在德國)來看,開發人員具有管理員訪問權限是很普遍的。(我從一些開發人員那裡知道,他們必須使用具有管理員權限的VM作為強大安全環境的折衷方案
實際上,這實際上是我在工作面試中經常提出的問題之一,如果答案是否定的,則不允許開發人員獲得本地管理員權限,那麼我禮貌地拒絕繼續進行下去。
十九 答案:
Joe
2018-07-16 14:02:39 UTC
view on stackexchange narkive permalink

這裡是來自一家對安全性感興趣的軟件公司的數據點。我知道這在類似的組織中很常見。

有很多網絡。它們在物理上是分開的並且是氣密的,並運行不同的顏色編碼的網絡電纜。

每位員工都有一台“管理”機器,該機器可以連接到Internet(通過代理)以進行電子郵件等。所有用戶都被嚴格鎖定,並且具有嚴格的設備和訪問控制。

除此之外,每個開發人員都有一台“工程”機器。這具有完全的管理員訪問權限,並且用戶可以執行任何喜歡的操作。但是,它僅連接到工程網絡(沒有通往Internet的路由)。

在大多數軟件開發環境中,這可能被認為是極端的,但是在對安全性和開發人員自由度有衝突要求的組織中,

要回答您的問題,是的,允許開發人員進行管理員訪問是很常見的,但這並不總是意味著管理員可以訪問可能導致信息安全問題的計算機。

>
+1,我們公司中的一些開發團隊使用相同的做法。儘管我們之間沒有差距,但開發網絡仍然存在。我們使用VLAN處理它。
+1這就是我所服務的Infosec / A / V供應商也做到的方式。他們非常認真地對待網絡分段-將dev機器插入產品/內部基礎結構網絡是可終末的罪行,為此我不得不任命多個開發人員。不過,我認為這是解決問題的最佳方法,是對開發人員最友好的方法-“這是您的開發人員網絡上的開發人員筆記本電腦,我們將把您與可能因需要做好工作而受到許可的權限所損害的一切隔離開。”
您的“工程網絡”真的是生產網絡嗎?您是否真的需要兩個盒子,一個用於閱讀文檔,另一個用於編碼?如果這是一個開發/測試網絡,我會感到困惑,因為擔心攻擊者會滲透代碼?代碼洩漏(您的開發人員將在5秒鐘內解決該問題)?如果是生產網絡,則可以完全避免讓工程師訪問它(將QA / ops部署到產品中)。
嗯,沒有任何互聯網連接的開發機器似乎是一個相當嚴格的限制。
@Deduplicator怎麼這樣?您可以通過USB驅動器輕鬆地複制內容。它可以讓您考慮自己真正想要的東西,而不是隨意單擊垃圾並安裝所有內容。缺乏管理員訪問權限使我可以分批整理下載內容,因此我對安裝的內容更具選擇性。
@NickT源代碼洩漏通常是次要問題。或在許多組織中,根本不用擔心,因為他們的軟件是如此專業,以致於除了他們/他們的客戶之外的任何人都沒有價值。影響所有人的危險是惡意軟件的意外傳播。以完全管理員權限運行並且使用未經IT部門審查的軟件訪問Internet的機器是惡意軟件的魔咒
@Nelson:如何審查通過USB記憶棒複製的內容是安全的?雖然您顯然需要允許從管理複製到工程;您是否允許將管理機器複製到?因為如果兩者都允許,則在棒上交換的數據與在物理網絡電纜上(直接在兩台機器之間)交換的數據一樣安全,這只是一個較慢的過程。
@Flater即使不安全,
這不是一個輕率的決定。這將對發展產生相當大的影響。只是指出一些後果,而不是說不可能做。從諸如nuget / npm軟件包之類的技術問題(您將無法實時訪問公共提要,並且需要手動複製所有內容),還有更多瑣碎的問題(開發人員無法再從StackOverflow複製/粘貼)。實際上,即使我們同意審查代碼是必要的(也就是imo),我們都必須這樣做(手動輸入整個內容不會有助於有效的工作)。
不得不為員工購買第二台PC /筆記本電腦似乎是使人的生產力降低的一種相當昂貴的方法
坦率地說,在實施這項政策的那一刻,我會立即通知我……在開發機器上沒有Internet接入只是瘋狂。
@Nelson這種方法在實踐中變得非常痛苦。如今,使用框架來加快開發速度是很普遍的。許多現代框架都依賴於許多庫,並且要確定所使用框架的確切依賴關係(將它們保存到USB設備)可能很複雜且容易出錯。您還無法通過這種方式訪問重要的安全工具。一些現代的軟件包管理器可以自動檢查您的依賴項是否具有安全警報,如果有,則可以對其進行升級。如果您需要在另一台計算機上執行此操作,則該計算機將成為您實際的開發計算機。
@Nelson,實際上,為了提高安全性,應禁用工程環境中所有USB使用的端口,它們本質上是不安全的。使用數據二極管來控制外部更新的下載將更加有用和安全。https://zh.wikipedia.org/wiki/Unidirectional_network
在國防部承包商工作時,我不得不採用某種類似的設置。在那種情況下,我的主要開發人員機器已連接到主要網絡,互聯網並具有本地管理員。生產機器在鎖著的門後面被世界隔離,並被大量鎖住。能夠執行我的大部分開發/初始測試通常可以減輕很多麻煩,但是有時候創建一個可用的非類數據集是不可行的,因此我不得不做很多事情。這是很痛苦的,因為它距互聯網連接的PC至少20英尺步行路程,而開發人員只能使用xfer硬拷貝。
在我的工作場所,USB(和其他可移動媒體)已被禁用(並且僅在有限的時間內用於工作目的的開發設備白名單),但我們有2個帳戶,其中一個管理員用於無/無限制Internet訪問的開發工作以及可以瀏覽網絡的低權限用戶。不需要2台機器。
您會在大多數地方看到這樣的部署,這些部署已經遠遠超出了用戶計算機的概念,而已經深入到了帳戶的概念:它們都使用共享存儲來操作VM或網絡範圍內的託管記帳。您的管理PC可以輕鬆地對NAS進行RW訪問,甚至可以成為僅允許在每個房間中運行一個客戶端(以阻止人們保持登錄狀態)的VM VPN / SSH目標。通常這是理想的選擇,因為這樣IT人員便可以從任何系統訪問admin,Dev可以通過該系統運行安裝,但是必須首先從std用戶帳戶登錄,以標識Admin用戶。
阻止對開放Web的訪問當然是瘋狂的,但是老實說,如果您想在管理環境中進行開發並保持安全性,則IT部門應該對套件進行虛擬化,以便可以對管理員進行沙箱訪問。這樣一來,您可以進行大量管理工作,同時又可以限制對VM的外部Access控制,並避免任何人說服您在共享存儲上感染病毒。
Joel Coehoorn
2018-07-16 18:22:32 UTC
view on stackexchange narkive permalink

根據我的經驗,開發人員通常在自己的計算機上擁有管理員訪問權限。對於他們在他們自己的計算機上具有管理員訪問權限,這也是常見的。但是,在後一種情況下,通常會進行一些調適,這樣他們就可以完成工作而不會產生太多摩擦。

一種非常常見的解決方案是訪問工作站上的管理程序(無論是Windows附帶的某些版本的VMWare還是Hyper-V),以及訪問所需的特定權限。根據需要 Hyper-V / VMWare) sup>在該虛擬機管理程序中創建和銷毀VM,包括創建對來賓OS具有管理權限的VM 。通常,即使其中一些VM並非一直運行,它們中的一些也可以長期使用,這幾乎不是一個問題,需要從頭準備整個VM只是為了對需要管理員的操作進行快速測試

系統管理程序可能已配置或未配置為允許對其VM進行Internet訪問;我已經看過兩種方式,儘管我個人非常贊成應該 訪問互聯網……至少對於我最有經驗的開發類型而言。但是,如果允許,則可以並且至少應將Internet訪問配置為強制VM進入與公司網絡其餘部分分開的專用VLAN。我不確定是否可以直接通過Hyper-V或VMWare強制實施,但是您可以在許多網絡交換機的端口上使用802.1x,以防止未經授權的機器(包括開發者的VM)訪問某些VLAN。然後,您可以向開發人員提供一些有關如何在VM中設置vlan標籤並讓他們知道在其交換機端口上將允許哪些vlan標籤的教程。我還看到,通過培訓只是作為一項政策法令,而不是通過技術措施來實施此認證,也許偶爾進行友好的審核以鼓勵合規並確保開發人員知道它的重要性。

當然,這與向開發人員提供足夠強大的計算機以一次運行多個VM的時間恰好相符。

這聽起來像是一個很好的解決方案-_很好的解決方案-但我沒有足夠的Windows admin-foo來知道它是否真的以這種方式工作(在沒有一般本地admin privs的情況下旋轉虛擬機的特定特權或權限)-因此,IMO通過鏈接到一些文檔/白皮書/菜譜項目/或證實這一點的鏈接,可以大大改善此答案。
AilixmslziCMT更好嗎?
是的,很棒的鏈接!本·阿姆斯特朗是要去的人!加上有關VLAN內容的詳細信息。
-1
虛擬機還為開發人員提供了其他好處。一台物理計算機可以承載多個VM,這些VM運行不同的OS版本或被測軟件的版本。由於它們是一次性的,因此通過恢復到選定的檢查點可以更輕鬆地重複測試。
Justin
2018-07-16 08:37:52 UTC
view on stackexchange narkive permalink

我為一家相當大的投資管理公司(約6000名員工)工作,開發人員是我們批准用於本地管理員訪問的小組之一。我們告訴他們不要安裝任何軟件,因為這是由本地桌面/軟件合規性處理的。

我們還有一個Developers AD Group,它允許成員更改其計算機上的執行策略而無需本地管理員。

這不能回答問題。它沒有給出任何解釋,如果或者為什麼這將是“典型的”。
@TomK。它回答了一個實際的問題,即“為什麼我的組織讓我的生活變得非常非常艱難,似乎沒有充分的理由,對此我該怎麼辦?”。行動黨顯然正在努力使這種做法(坦率地說是離奇和偏執)適應他的世界觀。人們試圖指出他們的組織如何平衡偏執的安全人員與開發人員的實際需求。
@Steve-不幸的是,這與從某些極端安全人員那裡獲得的觀點一樣被誤導為極端觀點。保護組織免受內部威脅並不偏執。實際上,對於許多人來說,這是對其生存的最大威脅。
Falco
2018-07-19 13:33:45 UTC
view on stackexchange narkive permalink

根據我的經驗,允許和禁止本地管理員訪問很常見,就像後者的骯髒解決方法一樣普遍。 -因此,您應該問自己:

本地管理員權限對您的網絡造成的威脅越嚴重?

答案應該是:-應按每個用戶限制對網絡中資源的訪問,這與該用戶在其計算機上具有本地root,admin或masterOfTheUniverse訪問權限這一事實完全無關。如果用戶有權炸毀您的網絡,則本地病毒甚至不需要管理員訪問權限,它可以使用用戶帳戶炸毀您的網絡。 -而且,如果用戶帳戶無法訪問您網絡上的某些內容,則本地管理員權限不會對此進行任何更改。

您應該信任您的開發人員以負責任的態度處理自己的計算機,並在其中使用合理的安全配置。您公司的本地管理員權限僅應對以下方面構成危險:本地計算機。因此,您放棄本地管理員接受的唯一風險是,開發人員破壞了自己的機器(他已經可以喝杯咖啡了)。

附錄:使您的開發人員可以在需要時使用本地管理員權限。這並不意味著他們應該一直使用不安全的管理員帳戶登錄,但是您應該相信他們可以在需要時明智地使用它-無需每次都獲得許可。

為什麼開發人員應該具有本地管理員權限

您的開發人員是您委託您設計企業核心業務的人員。當今大多數公司都非常依賴於他們的軟件,因此開發人員是塑造公司非常重要部分的重要資源。

首先,提高生產率是有好處的,因為開發人員只需在本地計算機上配置,安裝和測試所需的一切即可。他可能需要某些軟件,輔助工具或不同尋常的配置來嘗試其軟件的某些方面(例如,在較舊版本的OS或較舊的驅動程序/ SDK上運行其軟件)。

第二個是向開發人員展示您如何看待他們(最大的好處)。您向他們展示了您對他們自己的計算機的信任-您將開發人員像負責任的IT精明人員一樣對待,他們可以在沒有保姆的情況下管理自己的計算機。 (在許多沒有開發人員本地管理員的公司中,他們將不得不為他們所需的每個安裝/配置要求技術支持或安全性。而且在許多情況下,這些技術支持人員對軟件的了解要比您的高級首席開發人員少。 ,但是他們仍然必須乞求他們只需要完成工作的事情,這可能會非常令人沮喪。

@Downvoter希望評論如何改善我的答案,或者為什麼您認為這是完全錯誤的?
簡而言之,此答案違反了最低特權原則和深度防禦的整個概念。限製本地管理員的原因是為了幫助緩解確實能夠通過的攻擊,優秀的開發人員將理解這一點。在有明顯需求的地方,那就是另外一個局面,通常可以用一個單獨的本地管理員帳戶來滿足它,以便臨時使用提升的特權;但是OP表示他們是Web開發人員,因此對本地管理員權限的需求應該很小。參見https://security.stackexchange.com/a/190182/17321
@JamesSnell Visual Studio需要本地管理員權限,這是(imo)很大的原因,因為沒有Visual Studio進行開發就不會發生。您不同意其餘的評論,只是需要本地管理員權限。
@JamesSnell我是深度防禦的堅定倡導者,但我只是沒有看到本地受限帳戶可以保護任何有價值的東西,除了本地硬件。可以通過用戶權限https://xkcd.com/1200/訪問任何具有商業價值的內容
對我來說,深度防禦包括加密的硬盤驅動器,本地帳戶上的強密碼,安全的硬件模塊...但是單用戶筆記本電腦上的本地用戶權限限制只是安全區
@Falco-關鍵是要阻止該機器用作進一步發動攻擊的平台...閱讀鏈接的問題。
@JamesSnell機器如何受到保護?在計算機上具有用戶權限的攻擊者足以在您的網絡上發起全面攻擊。便攜式計算機可能已經是沒有任何管理員訪問權限的受感染主機。
@Falco-它減少了攻擊面,您未閱讀鏈接的答案嗎?另外... https://www.theregister.co.uk/2018/07/25/developers_malware_vectors/
具有諷刺意味的是,@JamesSnell是一個IDE,可以在沒有本地管理員權限的情況下安裝它;-)但是,我明白您的意思:是的,它擴大了潛在的攻擊面,但只是小幅擴大。而且,如果您的開發人員沒有本地管理員並下載一些“幫助工具”來解決此問題,則您可能會有更多的攻擊面。-我希望看到一項調查,如果開發人員對自己的機器負有責任,而不是不信任,他們是否更負責任地使用他們的機器。
@Falco-這不是信任的問題。我以這種方式運行自己的系統。不需要時,我會限制自己的權利。
@JamesSnell如果您信任他,那麼每個開發人員也可以按照自己的意願發行。本地管理員並不意味著“一直使用root”,而是“可以使用必要的root”
也許我應該編輯我的答案以明確說明這一點-我認為開發人員應正常使用安全帳戶,但如有必要,可以選擇啟用本地管理員,而無需填寫表格並尋求許可。我相信他們會明智而謹慎地使用此特權
我沒有拒絕投票,但您應該改寫一些內容,因為特別是您的第一點乍一看似乎令人誤解:本地管理員權限造成的威脅:該惡意軟件可以訪問緩存的用戶密碼,包括域管理員,其他用戶的數據,訪問可以在網絡上用於升級為域管理員權限的不同安全令牌,...。順便說一句。據報導,像Emotet這樣的惡意軟件似乎已經在這樣做。對於沒有經驗的初級開發人員,您的最後一點不太正確,我看到他們甚至下載並安裝了看起來不太合法的工具。
@H.Idden你是對的。我的答案完全是在假設目標個人是受信任的開發人員的前提下進行的,每個開發人員都使用自己的具有單個用戶帳戶的計算機。在這種情況下,應該沒有緩存的域密碼或任何與用戶無關的信息。因此,在沒有管理員權限的情況下,訪問用戶文件(如瀏覽器密碼存儲)的惡意軟件已經擁有了所需的一切。-當然,沒有經驗的開發者應該得到前輩的支持。
Marcel
2018-07-16 10:54:05 UTC
view on stackexchange narkive permalink

在我的職業生涯中,公司規模較小(少於100人),我們始終擁有本地管理員權限。我們要么擁有由IT維護但擁有權利的真實台式機,要么被允許擁有完全由我們自己管理的各種虛擬機。

如果我們沒有本地管理員訪問權限,我們會嘗試各種不良的“解決方案”,就像您的情況一樣,這會導致安全性降低。這是其中一種情況,限制實際上導致了其意圖的相反。

這不能回答問題。它沒有給出任何解釋,如果或者為什麼這將是“典型的”。
@TomK。這部分地回答了這個問題。*如果10人中有10個人說“我一直都有管理員權限”,那麼* together *就是答案。沒有一個人能規範地回答這樣的全球性問題。每個答案在一定程度上都是軼事,就像喬所說的那樣是“數據點”。(喬還聲稱“我知道這在其他組織中很常見”,但未添加“我知道”。)
@PeterA.Schneider:正確,通常沒有一個人能夠憑自己的“經驗”來規範回答這樣的全球性問題。但是幸運的是,有一些被稱為“最佳實踐”的東西被記錄下來並接受審查。其他可能性是研究或文章。僅說“對我來說就是這樣”是不夠的。
@TomK。沒有辦法知道某種調查的典型不足,因此回答這一部分問題就不會發生。
@Andy正確。這些調查或研究是由科學家完成的,或者通常由顧問開發,這些顧問已經開發出最佳實踐。引用這些最佳實踐或研究將構成一個有效的答案。
@TomK。這些調查或研究即使存在,也將是垃圾。正如您所說,它只是可能是“典型”的集合,僅僅是因為某些典型的事物並不意味著它是正確的方法。
Serge Ballesta
2018-07-16 15:30:29 UTC
view on stackexchange narkive permalink

在大型組織的相當小的部門中(部門中〜100,整個組織中約3500),我們在中間解決方案中選擇了

  • sysadmins有2個帳戶,一個(用於本地計算機的非管理員帳戶)用於非管理任務(郵件,文檔版本等),以及一個具有AD管理員權限的帳戶,該權限本應僅用於AD管理
  • 所有其他用戶只有一個非管理員帳戶
  • 開發人員(還有一些 power用戶)被提供了具有本地計算機管理員特權的本地帳戶。

拒絕管理員對開發人員的權限將導致生產力下降,這對任何組織來說都是直接的代價。

授予本地帳戶主帳戶或輔助帳戶管理員權限的選擇應取決於管理員操作的頻率:

  • 如果每天多次,我建議使用主要帳戶。
  • 如果每周少於一次,我將使用次要帳戶。

如果您介於兩者之間,請選擇自己的語言。

是的,我們也這樣做了。儘管我們的AD管理員帳戶在每台計算機(屬於域/廣告的一部分)上也具有本地管理員權限。
今天,我們與IT團隊開會討論了這個問題,我傾向於將此答案標記為已回答,僅因為這是他們為我們提供的解決方案。
注意事項:AD帳戶有多少互聯網訪問權限。在我的工作場所,我的廣告幾乎沒有互聯網(Visual Studio更新除外)。我必須使用我的普通帳戶訪問Internet /下載/等。
John-M
2018-07-16 18:08:01 UTC
view on stackexchange narkive permalink

根據我為大型組織工作的經驗,開發人員除了擁有特定於開發的資源以外,對其他任何事物都擁有完全權利是絕對不常見的。 ,所以...

聽起來您的組織是時候開發一些更成熟的開發實踐了。

公平地說,這種變化不是運營團隊的責任應該使開發團隊感到驚訝,就像您的情況一樣。

安全性和開發人員的生產力不必為您的公司彼此反對。您可以通過在無法訪問核心業務網絡上的資源的網絡上執行開發活動來完全避免這種衝突。

無論如何您都不會針對生產資產進行開發,對嗎?

如果您是,則不應該-這樣做會給您的資產帶來重大風險,尤其是資產的可用性。

更好的做法是擁有可複制的整個開發環境設置功能和數據集的關鍵部分(不公開有關公司中真實個人的私人信息)。這種複制的環境使分離相當簡單。您的開發人員需要在此開發環境中完全控制機器。他們不需要完全控制開發環境之外的資產。

有多種方法可以實現單獨的開發環境:

  • 完全獨立的硬件(工作站,服務器,網絡設備等)是否已連接到互聯網
  • 虛擬化環境(包括虛擬網絡);託管在您的硬件上或通過雲服務提供商託管,並且可以連接或不連接互聯網
  • 上述兩種方法的組合

您還可以為在開發環境內外進行的任何共享實現某種橋接(如果尚未使用某種服務)。

開發環境應該像大多數網絡一樣受到保護。不要只是在沒有考慮訪問控製或基本安全措施的情況下就將所有代碼和開發資產投入在線。

我還看到一些地方將這一步驟進一步發展,並將所有代碼都寫在了一起。然後將其構建/部署到另一個完全獨立的環境中進行集成測試。

我不想寫自己的答案,而是希望以此為基礎。在我的工作中,我們區分:1)開發服務器; 2)其他非生產(QA,TST等)服務器; 3)生產。開發人員可以擁有管理員權限來進行開發工作,但是他們希望將其代碼和其他資產打包在一起,並提供給我們以在其他非產品環境中進行部署,以及有關需要進行任何操作系統調整的所有文檔。做完了。我什至不希望他們在那些第2組系統上引入與Prod的差異,這違背了第2組的目的。
這是正確的答案。開發人員應該(必須)對其開發工作站具有管理員訪問權限,但不應從這些工作站訪問生產系統,具有敏感數據的數據庫等。
在GDPR時代,讓開發人員脫離生產系統幾乎是一項法律義務。法律的好處是它們可以勝過公司內部的政策。
**

您不需要大膽的文本即可閱讀您的答案或表達您的觀點。 **

Tom K.
2018-07-16 19:40:43 UTC
view on stackexchange narkive permalink

首先,您需要了解“什麼是常見的”或“典型的”無關緊要,因為:這種​​情況通常是可怕的處理

如果需要一個人(無論是承包商還是僱員)的本地管理員訪問權限,則這是安全的義務。

團隊/人員-負責該特定領域的人-尋找解決方案。有多種解決方案:創建隔離的VLAN,虛擬機和其他虛擬機在此命名。

僅僅聽到“我們在計算機上也擁有管理員權限”,就詢問其他組織的設置沒有任何意義。您不會找到與您完全相同的基礎架構。唯一重要的是,安全團隊/人員計劃一個安全的解決方案,然後由該特定組織中的IT部門實施該解決方案。

如果已實施的解決方案無法正常工作,因此仍然使您無法工作,請再次與安全團隊/人員聯繫。如果這不起作用,請將其提交給您的老闆或承包商。

您現在正在做的是燒錢,而沒有其他任何事情。如果該遊戲的其他參與者現在還沒有弄清楚,那就不好了。但是,如果您這樣做,那就很好。

在所有現實中,由於您評論了Marcel的回答:您的回复似乎並沒有回答問題,實際上卻明確拒絕這樣做。如果要鼓勵OP提出其他更相關的問題,請考慮在評論中進行。
不回答問題,給出不同的觀點或試圖以另一種眼光向OP展示問題之間是有區別的。
UEFI
2018-07-16 15:21:51 UTC
view on stackexchange narkive permalink

我已經看到了兩種可行的方法。

  1. 使開發人員可以對自己的計算機進行管理員訪問。這是最簡單,最常見的方法。通常,這是最佳選擇
  2. 在組織中創建一個團隊,其整個工作就是確保開發人員可以在沒有管理員訪問權限的情況下工作。該團隊通常為3-4人。您會發現,隨著使用容器和/或虛擬機,開發人員的硬件需求將急劇增加,因此為所有開發人員購買新硬件的預算會有所增加。當您推出產品時,請先從一組早期採用者開始,然後逐漸將所有開發人員轉移到沒有管理員權限的計算機上。這個過程至少需要六個月。
  3. ol>

    如果您執行公司現在的工作,那麼開發人員將忍受一個月左右的時間,然後開始尋找新工作。

3-4人,全職?!我認為很多錢可以花得更好。您可能想詳細說明為什麼您認為授予開發者管理員權限是最佳選擇。
@Luc許多開發工具嚴重依賴本地管理員特權。例如,MS Visual Studio不需要所有本地管理員權限即可正常運行,但需要某些管理員權限。DEBUG_SE用於調試,用於-很好地管理服務的服務管理,為數據庫創建權限,並且我可能會花很長時間。現在,檢測開發人員為何無法運行數據庫腳本,調試應用程序或安裝服務的過程可能非常耗時,這既是所述開發人員的時間,也是專職人員的時間。
任何開發工具都需要任何類型的管理員訪問權限都是完全不合理的。無論他們認為需要什麼,負責設置和維護開發人員工具箱的IT團隊都應該能夠重新配置軟件或虛擬化適當的接口,以便工具可以在不損害基礎結構安全性的前提下工作。
您可能想閱讀@R上的“ devops”,您會發現現代開發人員有非常合理的動機想要管理員訪問權限。對我個人而言,無法控制我的機器是巨大的危險信號。如果事先告知,我將拒絕您的工作機會,否則,我將拒絕前兩個星期。
-1
@Luc最好授予開發人員管理員訪問權限,因為它更便宜。這意味著您不必全職僱用3-4名員工即可保持開發人員的機器正常工作並投訴您的安全策略。
@UEFI:相反,您只需在開發人員的計算機每次安裝病毒時僱用他們重新映像,並應對所有損失的開發時間和可能的資產損失... Re:調試,當然應該有可配置的策略,以允許非管理員用戶可以調試*他們自己的進程*。
@R ..因此,運行Java腳本的Web瀏覽器應該能夠訪問系統上其他程序(例如密碼管理器)的內部狀態?我認為沒有安全問題....
@UEFI:否,因為JS是一種嵌入式語言,無法在您的用戶帳戶的特權域中運行。它在瀏覽器實現的複雜特權域中運行。的確,在瀏覽器中出現沙箱逃逸漏洞的情況下,會有一個用於調試其他進程的媒介(但是,已經有更好的媒介在沙箱逃逸的情況下攻擊您)。因此,對於強化來說,調試器附加策略是可配置的,對於不希望使用它的用戶而言是有用的。但這不是任何特權模型的必要方面。
James_pic
2018-07-16 18:01:03 UTC
view on stackexchange narkive permalink

這從根本上取決於上下文,尤其是取決於您的威脅模型。

在某些組織中,通常讓開發人員完全控制其開發工作站,以使他們能夠安裝自己的工作站

在某些組織中,所有開發工作都必須在封閉的環境中進行,以防止將電子設備帶入或帶出。

大多數組織都介於這兩者之間兩個極端。開發環境的鎖定程度越高,開發人員的生產力就越低,失去最佳人才的可能性就越大。您的組織需要評估受損的開發人員工作站的可能性和影響,以及他們願意降低開發人員的生產率以減輕這種風險的程度。

Joshua
2018-07-18 23:19:13 UTC
view on stackexchange narkive permalink

您實際遇到的問題是有能力的IT部門正在嘗試實施一個卑鄙的規則。您確實只有一個選擇,可以為開發人員提供有效的管理員訪問權限。

我不斷看到相同的建議一遍又一遍地反復出現,這歸結為開發人員具有管理員但沒有Internet的另一台計算機。如果您想擁有瑞士奶酪的安全性,那就去吧。典型的開發人員計算機上安裝的軟件列表通常比屏幕長。其中許多服務器只有一個選項可以檢查更新-互聯網。您無法通過WSU修補它們,因為WSU不知道它們的存在。

這是爭論所不了解的地方:違反開發人員的個人帳戶並不是一個起點。這是大獎。沒有理由從那裡去做管理員。違反者有能力修改代碼庫以插入後門。在開發人員的盒子上獲得管理員並不是那麼有趣。

當您要拒絕管理員時,您要防禦什麼?有人在訪問代碼庫嗎?不,有人用它作為出發點嗎?如果您的生產局域網不受開發人員的保護,那麼您在做錯什麼。開發人員安裝他們不應該安裝的東西?否。開發人員擁有一個編譯器,並運行該編譯器輸出的代碼。

我聽說過很多關於該政策的故事,即開發人員沒有管理員權限,但是IT實踐卻在開發人員推翻的同時另闢looking徑。安全政策。我聽說過更多的IT信息甚至找不到。我聽說有些開發人員的經理告訴開發人員繞過安全檢查。

組織遲早會發現,組織學會只授予開發人員管理員。大部分可能最終沒有真正知道的人這樣做。

將開發人員本地管理員放在一個連接到互聯網和本地域的盒子上,並準備好應對可能帶來的後果,這是更明智的選擇。保護生產。應當以高特權級別訪問生產的人員減少了,因此鎖定更加容易,而主管組織也學會了這樣做。

但是突然之間像這樣帶走管理員幾乎總是會導致管理員的損失。更重要的開發者。您不想那樣。

由於您想談論Windows站點,因此有一個軼事比大多數人的數據要重要。 Microsoft提供給其開發人員本地管理員。 Windows的製造商得出的結論是,沒有給予開發人員管理員不值得的好處是不足的。因此,您應該執行相同的操作。

您可以為此提供參考嗎?“微軟授予其開發人員本地管理員。Windows的製造商得出的結論是,不給予開發人員管理員沒有足夠的利益,這使它物有所值。”
@Soenhay: https://blogs.msdn.microsoft.com/oldnewthing/20110927-00/?p=9543和大約50個其他
Fabio says Reinstate Monica
2018-07-18 07:27:52 UTC
view on stackexchange narkive permalink

我在一家真正相信安全性(或他們認為如此)的公司工作了一段時間。

他們偶爾會組織一次社交活動,例如打保齡球。加入是免費的,但是您必須將名稱添加到放置在共享文件夾中的Excel文件的列表中。該文件夾專用於社交活動。

那麼,您想打保齡球嗎?您想將姓名添加到該列表中嗎? Ohhhhhhhhhh,親愛的……並不是說他們可以讓所有人編輯該文件,對嗎?您必須要求適當的權限。

這是過程:

  • 打開公司的站點
  • 查找包含準備好一些模塊的模塊的部分填寫
  • 查找並下載名為“發布表”的文檔 ​​li>
  • 打印該文件
  • 根據您的要求填寫並簽名
  • 交給秘書
  • 秘書將在第二天早上將所有這些請求交給經理
  • 經理遲早會簽收
  • >
  • 秘書會將其帶回給您
  • 此時您可以對其進行掃描
  • 打開IT部門用來處理票證的站點
  • 創建(再次)描述您需要的票證,並附上掃描的版本表。別忘了設置緊急程度,從一小時到兩週。
  • 最終,IT部門會(希望如此)

需要3-4天才能完成。在某些情況下,需要幾個星期。真的有效嗎?嘿,您要求訪問某個文件夾但忘了提及該子文件夾?哈!您已經贏得了另一回合!你猜怎麼著?由於他們正在執行某些質量檢查流程,因此他們正在很多不同文件夾中組織文檔。 新同事來後,他可以輕鬆地花費幾週來獲取他所需的所有權限。

現在。

  • 您認為經理們不願意檢查他們在簽名什麼嗎?當然不是。他們認識了發行表,就是這樣。
  • 您認為秘書正在檢查更多嗎?也許他們嘗試過,但是他們真的能理解給我特定計算機上特定文件夾的讀/寫權限的含義嗎?肯定不是。
  • 您認為IT部門對緊急性給予了該死的看法嗎?當然不是。

那麼,這種方法導致了什麼?那就是說,如果您想竊取公司曾經製造的一切,則只需帶入USB驅動器並將其連接到PC。無法訪問該“ Confidential_Documents”文件夾?索要它,他們會簽名。如果緊急的話? “嗨,我需要那個文檔,但我無法訪問它,您能給我您的密碼嗎?”

因此,這種“安全模型”非常緩慢,笨拙且令人沮喪,並且它根本沒有保護他們的財產,但至少沒有人能輕易地與保齡球比賽的參與者(強制性的xkcd)混為一談。

請不要就是那個公司。正如其他人所說:不要問它是否普遍(只是),而只是問它是否有意義。答案是:不,不是,除非您的公司喜歡燒錢。

這可能就是為什麼我的公司決定阻止USB驅動器的原因……我想他們的下一步將是物理移除它們,並為每個人提供藍牙鼠標和鍵盤。
James
2018-07-16 13:00:36 UTC
view on stackexchange narkive permalink

是,不是-我們的高級開發人員確實擁有一個單獨的管理員帳戶,該帳戶可讓他們在需要時進行提升並安裝應用程序/更新。但是,不允許他們使用該帳戶登錄計算機。他們的管理員帳戶還允許他們對常規開發計算機的管理員訪問權限,以提供比通過IT團隊更快的支持。

這全部與應用程序白名單/黑名單,強大的密碼策略,可移動設備禁止,網關代理,DLP策略,嚴格的AV規則等結合在一起。他們的機器經過例行審核,IT團隊的知名度很高。

我個人希望開發人員沒有本地管理員訪問權限。我們可以調查需要UAC的應用程序(查找所需的文件夾,regkey等)並緩解UAC提示,但這需要時間和研究,並且並非所有公司都擁有這樣做的資源。因此,我們會一半地與他們會面,並期望雙向信任。我們還使用多種公司產品來強制執行多種規則,因此可以減輕一些負擔。

這不能回答問題。它沒有給出任何解釋,如果或者為什麼這將是“典型的”。
Yannjoel
2018-07-16 16:25:55 UTC
view on stackexchange narkive permalink

我們通過使用虛擬機解決了此問題。

每個開發人員都有一個普通用戶帳戶,沒有任何管理員權限。該用戶帳戶中有一個虛擬機,沒有任何互聯網訪問權限。開發人員可以在虛擬機內部以管理員權限運行他的應用程序。

這樣,我們就可以將互聯網訪問權限和重要數據與管理員權限的使用分開,同時仍然獲得在必需的程序中運行必要程序的方式。封閉的環境。

我們僅假設OP需要(本地)管理員權限才能運行開發環境。例如,上面提到的Microsoft Visual Studio和SQL Management Studio嚴重依賴於Admin Privileges。這些軟件非常依賴(在更新,在線幫助,源代碼控制方面,我可能會花很長時間)的另一件事是_Internet_連接。具有沒有Internet連接但提供(本地)管理員權限的VM意味著要在困難的地方進行切換。
Jimenemex
2018-07-16 19:50:06 UTC
view on stackexchange narkive permalink

我和您的軟件開發人員同舟共濟。我們公司最近從具有管理員訪問權限的工作站訪問了無管理員權限的虛擬機。這嚴重地影響了我們的工作流程,以至於我發現自己什麼也沒做,只能為IT部門閱讀文章,以管理員身份運行某些事情。

管理層想出的一件事是兩個虛擬機方法。

我們的一個虛擬機是具有電子郵件,Web Access和Microsoft Suite的基本業務計算機。這滿足了通信的需要。

另一個虛擬機具有本地管理員權限,但與互聯網完全斷開。這樣,我們無法在該計算機上下載任何內容。 (儘管我們仍然可以從另一個下載它並複制下載內容。)我們仍然可以訪問內部站點,並將Visual Studio使用的幾項內容(包括Nuget,Symbols等)列入白名單。

這種方法使IT部門對其安全性感到滿意,同時還給了我們管理員訪問權限。

唯一的缺點是我們不能僅在一台計算機上使用雙監視器,因為我們需要將每台計算機都放在自己的監視器上,但是我們通常只使用一個屏幕進行代碼瀏覽,而另一個屏幕用於網絡瀏覽無論如何。

這適用於基本的Microsoft商店,但是在進行跨平台開發(Python,Java,Go,NodeJS-都有自己的框架/軟件包存儲庫/ URL集,需要將其列入白名單並且可以更改而不會另行通知)時會失敗。它還會阻止嘗試任何新內容-因為您必須跳過循環才能將URL列入白名單,只是為了測試如果測試無法順利進行就可能永遠不會使用的內容。想測試流星嗎?祝您好運,請提交票證以將網址列入白名單,並等待2週
@ErinDrummond非常正確,是此方法的主要陷阱之一。
Tom
2018-07-19 13:07:48 UTC
view on stackexchange narkive permalink

簡短答案:是的,通常具有對選定組(例如開發人員或IT管理員)的本地管理員訪問權限。基本上,使用admin可以輕鬆完成日常工作,而普通上班族每個月最多只需要一次,而且通常要少得多。

長期回答:這取決於...

對於一般用戶而言,您無需進行全面的風險分析即可了解管理員訪問權限有很多潛在的問題發生的風險,而抵消這些風險的好處卻很小。

但是,對於開發人員(和其他一些團體)來說,絕對有必要進行風險分析,並且根據事實,情況,風險承受能力和公司的威脅狀況對問題做出適當的決定。要求。指向“最佳實踐”並做一個空白的“一刀切”的做法是典型的解決方案,通常是由負責信息安全的人員缺乏時間和/或知識來計算數字並得出結論的一個基於事實的風險處理決策。

並不一定意味著它們是錯誤的。全面的分析很可能會得出相同的結論。您可能需要進行適當的風險分析,將您的專家知識添加到等式的緩解成本中,將當前措施的生產率損失和其他影響數字化。這需要權衡信息安全人員確定的風險。

還有其他相關的措施。我有時推薦的一種典型解決方案(我是專業的信息安全架構師,所以經常被問到這些問題)是將開發人員網絡與普通辦公網絡分開,以包含較高風險的區域。充分加固開發人員計算機,並堅持使用本地防火牆和最新的病毒防護,您可以很好地應對典型的攻擊情況。如果您的公司有一些外部風險,您還可以為開發人員增加額外的意識培訓,這樣他們就不會輕易成為針對性攻擊的犧牲品。

我親自監督了這兩種類型的開發人員環境,並且只需付出一點點努力就可以使它們都能正常工作。僅僅以一種既定的工作方式來解決問題就很糟糕,而您所參加的反彈是可以預料的。但是完成的工作已經完成,不專注於此並展望未來可能很聰明。

DoubleD
2018-07-19 02:03:03 UTC
view on stackexchange narkive permalink

隔離網絡

您應該具有相對隔離的環境,用於開發,測試,生產和業務。

正確的隔離可以防止未經授權的更改,限制惡意軟件的傳播,並阻止數據洩露。

發生在哪裡?

開發

開發網絡是進行編碼的地方。如果開發人員想要測試代碼段或運行某些程序而無需打包代碼以部署到測試/產品中,則開發人員應具有管理權限。專用的協作工具或其他特定於開發人員的應用是合理的。開發人員可能具有管理員權限,但是常規的系統管理員應正在部署應用程序。

部署應反映管理員將在內部應用程序生產中維護的內容。它們應該是外部應用程序的客戶就緒軟件包(包括安裝嚮導和數字簽名,儘管使用單獨的簽名進行測試以防止意外發布)。

開發人員經常需要係統日誌和調試訪問權限,而這些是他們應具有管理員權限的唯一原因。除非絕對必要,否則他們不應參與安裝,配置和測試。

生產

生產網絡是您為客戶和合作夥伴提供服務的地方。由於應該存在一個正式的部署過程,因此沒有理由將其連接到您的開發/測試網絡。

為最大程度地降低Internet傳播的惡意軟件和意外更改的風險,請使用開發/測試/業務的帳戶網絡應盡可能不具有生產權限,這意味著在實踐中偶爾會出現爭執,從而限制了權限。

理想情況下,此網絡將是完全隔離的,但實際上在生產服務器必須與銷售,計費,計劃,netops和項目管理系統交互的世界中,這是不可能的。盡可能接近理想;

業務

這是企業的主要通信網絡。

電子郵件,Web瀏覽和合作夥伴連接都帶來了大量風險。您的開發,測試和生產網絡應盡可能地與這些風險隔離。

詳細信息,詳細信息,詳細信息

您的組織可能會過大。與處理靈活,安全的網絡體系結構必不可少的大量細節相比,始終擺錘要容易得多。 ,如果:

  1. 有單獨的非特權帳戶可以訪問互聯網
  2. 在每種環境中都使用唯一帳戶
  3. 之間存在限制性防火牆規則/ ACL環境
  4. 已採用標準安全措施,例如防火牆,Web代理,IDS / IPS等
  5. ol>

    您的開發人員將需要四個帳戶:

  • 無特權的dev帳戶可以訪問Internet上的資源(如果他們不想從業務網絡來回跳跳,這很麻煩)
  • 特權的dev帳戶來配置工作站和測試代碼
  • 用於調試應用程序的特權測試帳戶
  • 用於電子郵件,Web,Intranet的非特權業務帳戶

如果您讓開發人員進行一些驗證或質量檢查工作,他們在測試環境中,它們也需要沒有特權的帳戶。

開發人員應該沒有訪問生產網絡的權限,也沒有對業務網絡的管理權限。如果暫時無法實現,則應分離這些角色,否則應建立嚴格的變更控制流程。

symcbean
2018-07-16 16:41:06 UTC
view on stackexchange narkive permalink

儘管MS-Windows NT自其誕生以來就是一個多用戶系統系統,但以這種方式操作起來並不容易,並且開發人員(包括Micosoft的)仍然傾向於忽略特權分離的想法。這種訪問控制的文獻資料很少,在培訓中往往沒有表現出來,通常很難通過UI進行訪問,難以審核,缺乏用於分隔的模式/工具...。

,即使是在Unix / Linux系統上,我也看到許多開發人員未能同時為真實用戶和服務使用特權分離。但是,在任何平台上,在實現者分隔特權的方式上設置障礙都比賦予他們全部(本地)管理員特權更不利於安全性。

另一方面,儘管我對在MS-Windows上進行開發知之甚少,但我確實感到驚訝,運行Visual Studio需要本地管理員權限。而且,如果您需要管理員訪問權限的唯一原因是停止/啟動服務或重新配置它們,那麼我對您沒有太多同情-可以向指定用戶提供此功能,而無需向他們提供本地服務管理員。 IIS7的一大變化是委派的管理員功能。它總是很容易委派Apache,MySQL和PHP的重新配置。

在刪除本地管理員訪問權限的時間很短

就像問題一樣,安全團隊渴望達到他們無法交付的能力水平(根據我的經驗,這很常見)。在沒有進行適當的影響評估並且沒有考慮緩解措施對生產力/安全性造成任何損害的情況下,他們不應強行更改政策。

我們在所有工作站上至少有2個主要的防病毒程序

這是一種非常幼稚的方法,可以保護這些系統的完整性並描繪出您必須處理的內容。

那裡的替代方案似乎沒有很多

現在就這一點進行討論可能不會很有效。

總體而言,聽起來好像您正在與本地安全團隊競爭。他們不了解您需要做什麼,您也不了解如何實現他們的目標。似乎雙方都不想談判。沒有現成的工具可以解決這個問題。

Visual Studio具有這些管理員權限的原因之一是啟用進程的調試功能,而該進程通常由其他用戶擁有,IIS通常在系統帳戶下運行。一旦開發人員調試了另一個進程,他們便可以禁用病毒檢查程序等,以90%的速度刪除的磁頭速度變慢,這在他們中並不罕見。因此,在不讓開發人員使用調試器和信任開發人員之間的選擇。
....然後我想起了為什麼要避免在Microsoft Windows上進行任何編程:)
事實不正確。Visual Studio將在沒有本地管理員特權的情況下運行,實際上這是默認設置。而且,如果您將調試權限分配給開發人員帳戶,則意味著Visual Studio不需要經常提升為管理員權限。這是完全可以避免的嗎?不,驅動程序開發人員將絕對需要例如管理員權限。
Visual Studio *將*在沒有管理員特權的情況下運行,但是在某些情況下,它將在沒有管理員特權的情況下_properly_運行。是的,它不需要所有本地管理員權限即可正常運行,但需要某些管理員權限。DEBUG_SE用於調試,用於-很好地管理服務的服務管理,為數據庫創建權限,並且我可能會花很長時間。當然,可以(每天)聯繫安全團隊並要求某人每天需要的某些權利,但是您知道它的名字嗎?生產力謀殺案。
@mg30rg: DEBUG_SE實際上意味著“調試其他人的進程”。
@Joshua例如,您認為調試在系統帳戶下運行的Windows服務需要什麼?在Windows開發中,這種情況絕非罕見。
@mg30rg:是的,但是,如果開發人員正在處理通常以管理員身份運行的代碼,則無論如何他都擁有管理員身份。
@Joshua M鍵,ASP.Net開發如何?為此,您需要調試由網絡服務帳戶下運行的IIS服務啟動並在其下運行的進程?
@mg30rg:被Kestrel淘汰。現在,它以開發人員的名稱運行。
@Joshua Kestrel幾乎不是IIS。
Ian Kemp
2018-07-19 16:32:18 UTC
view on stackexchange narkive permalink

在那些開發人員非常無用/惡意以至於濫用這些特權的公司,或者“ IT和安全”部門是由笨拙的下意識的白痴管理的公司中,只有本地管理員才能拒絕開發人員不在圈內的每個人都被視為明顯的安全威脅,使他們看上去很糟糕。

考慮到您的“ IT和安全”部門,當Windows附帶一個非常好的免費程序時,它還要求兩個防病毒程序,我很確定您可以確定問題所在的組織,然後從那裡開始工作。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...