Domanda:
Rischi di concedere agli sviluppatori i diritti di amministratore sui propri PC
carolineggordon
2012-05-15 16:33:00 UTC
view on stackexchange narkive permalink

Devo convincere il mio reparto IT interno a concedere al mio nuovo team di sviluppatori i diritti di amministratore sui nostri PC. Sembrano pensare che questo creerà alcuni rischi per la sicurezza della rete. Qualcuno può spiegare perché questo sarebbe? Quali sono i rischi? Cosa configurano solitamente i reparti IT per gli sviluppatori che necessitano della capacità di installare software sui propri PC.

Questa domanda era Domanda della settimana sulla sicurezza IT .
Leggi il post di blog dell'8 giugno 2012 per ulteriori dettagli o invia il tuo Domanda della settimana.

Sembra che a questa domanda manchi qualcosa: che tipo di software dovrebbero sviluppare? Applicazione web? Driver grafici? (Conoscere la lingua / la piattaforma può aiutare.)
Anche utile: hanno un laboratorio o una stazione di lavoro separati su cui dovrebbero svolgere lo sviluppo dell'applicazione? Questa domanda riguarda quei sistemi, o sistemi pensati per i sistemi di "automazione dell'ufficio" (cioè: editing di documenti, posta elettronica, navigazione web)?
Il rischio maggiore è che gli sviluppatori siano effettivamente in grado di portare a termine un po 'di lavoro.
Spiega loro che il più grande rischio per la sicurezza della loro rete è uno _ sviluppatore arrabbiato_ ... o lascia che lo imparino nel modo più duro.
Non essere uno sviluppatore arrabbiato. Le persone IT sono i tuoi colleghi che probabilmente hanno molto in comune con te, come gli interessi nei sistemi e nel networking. Conosci il tuo personale IT per nome e qualche volta vai a pranzo con loro. Se c'è qualche problema di processo, il primo passo sarebbe chiedere al tuo manager di discuterne con il suo manager.
"Devo convincere il mio reparto di sviluppo software interno a concedere ai miei amministratori di sistema i diritti di scrivere e distribuire i propri script. Sembra che pensino che questo creerà codice spaghetti non gestibile".
Mettiamola in questo modo: o concedi agli sviluppatori i diritti di amministratore o gli sviluppatori otterranno i diritti di amministratore con i loro mezzi.
Come svilupperai un programma di installazione o un servizio Windows o un componente ActiveX o un livello di comunicazione tra processi o utilizzerai un server Web incorporato senza accesso amministrativo locale?
//, Un reparto IT dovrebbe essere in grado di proteggere le reti di produzione dai propri ambienti di sviluppo, ovviando in qualche modo a domande come queste.
Otto risposte:
Alan Barber
2012-05-15 19:56:20 UTC
view on stackexchange narkive permalink

In ogni luogo in cui ho lavorato (come sviluppatore a contratto) agli sviluppatori vengono concessi diritti di amministratore locale sui loro desktop.

Le ragioni sono:

1) I set di strumenti degli sviluppatori vengono spesso aggiornati molto regolarmente. Librerie grafiche, helper del codice, aggiornamenti di Visual Studio; finiscono per avere aggiornamenti che escono quasi settimanalmente che devono essere installati. Il supporto desktop di solito si stanca di ricevere 20 ticket ogni settimana per installare software aggiornato su tutte le macchine di sviluppo in modo da dare agli sviluppatori i diritti di amministratore per farlo da soli.

2) A volte gli strumenti di debug / test hanno bisogno diritti di amministratore per poter funzionare. Nessun accesso amministratore significa che gli sviluppatori non possono eseguire il loro lavoro di debug del codice. Ai manager non piace.

3) Gli sviluppatori tendono ad essere più attenti alla sicurezza e quindi hanno meno probabilità di eseguire / installare malware pericolosi. Ovviamente, succede ancora, ma tutto sommato di solito ci si può fidare degli sviluppatori per avere un accesso di livello superiore per poter svolgere il proprio lavoro.

Anche i diritti di amministratore locale non influiscono / non dovrebbero influire sui loro diritti di rete. Hai appena concesso loro l'accesso al loro endpoint di rete, a cui hanno comunque accesso fisico.
Va notato che l'accesso all'hardware della macchina equivale a concedere i diritti di amministratore in termini di sicurezza. Un agente dannoso intelligente può facilmente trasformarsi l'uno nell'altro.
In passato, su sistemi molto avanzati, avevo un account "utente di debug" che disponeva delle autorizzazioni aggiuntive necessarie per eseguire il debugger di Visual Studio 2003; ma che non consentiva altri diritti di tipo amministratore (scritture del registro, installazioni di software, scrittura su file di programma, ecc.).
@DanNeely: Se puoi allegare un debugger a un processo che non possiedi, puoi fare in modo che quel processo esegua tutto ciò che desideri. Quindi diritti di debug = admin.
Ho bisogno di sapere come concedere i diritti di amministratore locale senza concedere i diritti di rete, i nostri amministratori IT mi dicono che non può essere fatto. Eventuali suggerimenti su dove posso leggere su questo apprezzato.
@carolineggordon, se sono preoccupati per lo sniffing della rete, forse qui c'è un problema più ampio. In sostanza, ciò implicherebbe che i dati sensibili possano andare sulla rete, dove sono collegate le normali workstation e dove non ci si può fidare di alcuni dipendenti. Forse è questo il problema che invece dovrebbe essere risolto: fare in modo che gli utenti utilizzino invece servizi protetti da SSL / TLS per i dati sensibili. Altrimenti ci sarà sempre un rischio (possibilmente piccolo) che qualcuno colleghi il proprio dispositivo di acquisizione.
@carolineggordon In Windows è molto facile da fare. Un amministratore accede al computer degli sviluppatori ed esegue la seguente riga di comando "net localgroup administrators domain \ username / add"
@JayBazuzi il gruppo Debugger User (creato da Visual Studio al momento dell'installazione) consente all'utente solo di eseguire il debug dei processi in esecuzione con il proprio account. Non è la stessa cosa di SeDebugPrivilege che ti consente di connettere un debugger a qualsiasi processo sulla macchina. Se comprendo correttamente l'implementazione, funziona eseguendo il debugger con un account utente diverso esponendolo tramite un proxy che esegue il filtraggio della proprietà prima di consentire all'utente di connettersi.
Non è nemmeno il caso che non ci sia differenza tra la concessione di SeDebugUser e i diritti di amministratore locale. Dal punto di vista della protezione c'è poca differenza perché offre all'utente tutto il necessario per sfruttare la propria strada verso il pieno controllo amministrativo; il suo valore è da un punto di vista generale di amministrazione / manutenzione o controllo della sicurezza in quanto l'utente non può * accidentalmente * eseguire azioni distruttive / abusive che richiedono diritti di amministratore. http://blogs.msdn.com/b/oldnewthing/archive/2008/03/14/8080140.aspx
Quindi la preoccupazione è che gli amministratori non verranno e mi daranno quell'accesso eseguendo quel comando perché non credono che qualcuno dovrebbe installare software. Mmm, torniamo alla mia domanda iniziale. Grazie per tutte le risposte .. questo è un ottimo forum!
@carolineggordon suona come un caso dei classici amministratori iperprotettivi. Fai un ultimo tentativo per ragionare con loro sul fatto che avere i diritti di installazione locale ti consentirà di svolgere meglio il tuo lavoro. Se continuano a rifiutarsi, devi iniziare a lavorare sulla catena di comando e giocare al gioco così divertente della politica aziendale.
Bruno
2012-05-15 21:50:39 UTC
view on stackexchange narkive permalink

Questo dipende in parte dal tipo di software che il team di sviluppo dovrebbe sviluppare. Alcuni tipi di software sono più facili da sviluppare senza diritti amministrativi rispetto ad altri.

Ad esempio, puoi fare una discreta quantità di sviluppo Java basato sul web utilizzando artisti del calibro di Eclipse con artefatti Maven, tutti installati localmente (e tipicamente testato sulla porta 8080), senza bisogno di molti diritti di amministratore (potrebbe essere necessario aprire alcune porte). Lo sviluppo di strumenti che necessitano di un accesso più ravvicinato all'hardware può rivelarsi impossibile senza i diritti di amministratore Detto questo, anche per lo sviluppo web, è buona norma essere in grado di ricostruire una macchina di test da zero (tipicamente una VM), che potrebbe richiedere i diritti di amministratore .

Se si tratta di fiducia (cioè alcuni membri del tuo team di sviluppo potrebbero avere intenti dannosi), sei comunque nei guai. È improbabile che gli amministratori di sistema che approverebbero / disapproverebbero determinati diritti saranno in grado di controllare cosa fa il codice che hanno scritto nei dettagli. Ciò non significa né che dovresti dare al tuo team di sviluppo un accesso illimitato ai tuoi servizi di produzione, né quello dovrebbero avere accesso come amministratore su più macchine del necessario, ovviamente. È positivo disporre di meccanismi per mitigare i rischi, ma per il funzionamento dell'organizzazione è necessario un livello di fiducia di base. Mettere il team di sviluppo su una rete fisica separata è un primo passo per mitigare i problemi di fiducia e possibili errori.

Un rischio tipico di avere qualcuno con accesso amministratore è quello di essere in grado di catturare i pacchetti sulla rete. Questo è un rischio che potresti dover accettare a seconda della natura di ciò che è stato sviluppato. Strumenti come Wireshark possono essere utili per lo sviluppo a volte. Anche all'interno della tua organizzazione, le persone IT o non IT dovrebbero utilizzare i servizi con SSL / TLS abilitato, se possibile, questo dovrebbe aiutare contro le intercettazioni e gli attacchi MITM.

Posso pensare ad alcuni aspetti negativi quando non si fornisce agli sviluppatori l'amministratore accesso (a meno che non ne abbiano davvero bisogno):

  • Potrebbe creare una cultura "loro contro noi" tra sviluppatori e amministratori di sistema nella tua organizzazione. Questo esiste già in molti posti, ma generalmente non è una buona cosa. È probabile che ogni squadra consideri l'altra come un dolore. La sicurezza non è un problema puramente tecnico, ma anche di interazione umana. Penso che una buona comunicazione umana dovrebbe aiutare gli obiettivi generali della tua organizzazione in generale, non solo dal punto di vista della sicurezza. (Ho sempre trovato di essere in grado di trovare soluzioni migliori dopo aver parlato di persona con gli amministratori di sistema con cui avevo bisogno di risolvere i problemi piuttosto che rispondere a un ticket senza volto.)

  • La natura umana è tale che le persone diventano creative quando sono limitate, ma non necessariamente nel modo giusto. Potresti scoprire che gli sviluppatori finiscono per impegnarsi (e spesso riuscendo) a eludere i limiti loro imposti all'interno dell'organizzazione. Dovrebbero invece usare la loro creatività su ciò che dovrebbero fare.

  • I sistemi IT sono complessi e il debugging è un'arte oscura. Se è necessario eseguire il debug del prodotto rispetto alla versione della libreria XYZ a.b.c_13 e a.b.c_24, gli sviluppatori potrebbero dover essere in grado di installare e disinstallare ciascuna versione, che a sua volta potrebbe richiedere l'accesso come amministratore. Inseguire bug che dipendono dai numeri di versione è già fastidioso così com'è. Se devi alzare un ticket e aspettare (forse ore o giorni) che qualcun altro installi / disinstalli la versione giusta, sarà un incubo: aumenterà il problema culturale "loro contro noi" e, soprattutto, costerà più all'organizzazione. Puoi pensare a questo da una prospettiva di valutazione del rischio / costo.

Il motivo più importante per NON concedere a un programmatore i diritti di amministratore è il fatto che faranno lo stesso errore che le persone hanno fatto per anni, non testeranno il loro codice come utente limitato, perché nella versione corrente di Windows ci sono cartelle protette.
@Ramhound, non è tanto un problema di sicurezza ma una cattiva pratica di sviluppo. Avere diritti di amministratore non significa che devi eseguire tutto con tutti i privilegi in ogni momento, anche come sviluppatore.
@Ramhound - Ecco perché hai un team QA separato con un piano di test scritto. Non è una scusa per ingannare i tuoi sviluppatori per il bene della costruzione di un impero IT.
dan
2012-05-17 02:18:04 UTC
view on stackexchange narkive permalink

Il rischio è una funzione crescente dell'accesso

Esiste una semplice regola di calcolo del rischio che spiega la paura dei tuoi colleghi del team IT. Maggiore è l'accesso a qualsiasi sistema operativo maggiore è l'impatto di qualsiasi errore o attacco.
Ad esempio, se uno dei tuoi colleghi, diciamo Bob, viene attaccato tramite un attacco di phishing standard, l'account Bob è disponibile per i cyber -criminale e venduta su Internet in pochi minuti. Se l'account Bob ha privilegi di amministratore, questo account verrà utilizzato per inviare SPAM su larga scala su Internet, quindi per rubare altri account con attacchi di phishing su larga scala e molto rapidamente (in pochi minuti) aprirà una porta di servizio alla tua rete (questo è possibile perché l'account Bob è amministratore) consentendo un controllo remoto totale del PC di Bob (tramite strumenti come ssh , VNC , VPN ...). Questo attacco avviato da un PC interno, da un account privilegiato è in grado di rompere qualsiasi firewall, interrompere qualsiasi protezione antivirus e antispam.

Il male è dentro .

Anche i tuoi migliori amministratori di rete, amministratori di sistema o amministratori di sicurezza possono lasciare questo PC danneggiato senza essere scoperto per mesi (vedi Stuxnet ).

Falsa riduzione del rischio

Se i tuoi colleghi sviluppatori sono bravi a gestire il sistema operativo su cui lavorano e hanno un accesso fisico al computer, questa differenza di rischio è nulla.

Qualsiasi ingegnere su qualsiasi sistema operativo
può concedere a se stesso l'accesso come amministratore
se ha accesso fisico al computer.

Blocco l'accesso amministratore su qualsiasi sistema operativo è un valido approccio di riduzione del rischio per gli utenti che non sono in grado di fare la differenza tra privilegi di amministratore e privilegi utente normali. Ecco la domanda chiave che vorrei porre ai colleghi del tuo team di sviluppo e agire in base alla loro consapevolezza del rischio:

"Di cosa ti occuperai se ti viene concesso
privilegi di amministratore sul tuo sistema operativo? "

Se sono abbastanza bravi da essere consapevoli del rischio, allora sono abbastanza bravi da ottenere l'accesso che vogliono. Quindi non c'è riduzione del rischio in rifiutandogli questo accesso di amministratore Attenzione: c'è un rischio collaterale per la tua azienda nel suo complesso se rifiuti loro un accesso che possono ottenere facilmente: lo faranno in modo sporco, si comporteranno da fuorilegge, non potranno chiedi aiuto, dovranno coprire qualsiasi contrattempo.

Todd Dill
2012-05-16 08:52:09 UTC
view on stackexchange narkive permalink

Alcune cose che non sono state menzionate nelle risposte e nei commenti precedenti che sarebbero un argomento per gli sviluppatori che lavorano con il minimo privilegio:

  1. A seconda del settore in cui stai lavorando , potrebbero esserci ragioni legali o normative che impediscono ai dipendenti di avere privilegi elevati sulle loro postazioni di lavoro. Consentire l'accesso amministrativo agli sviluppatori potrebbe mettere l'organizzazione a rischio di non conformità.

  2. Quando i componenti vengono sviluppati con privilegi elevati, potrebbe esserci il rischio di errori durante la distribuzione ad altri ambienti che non dispongono di tali privilegi. Gli sviluppatori potrebbero aver inavvertitamente aggiornato o aggiunto alle loro macchine locali librerie che non esistono in altri ambienti e i componenti potrebbero avere dipendenze da versioni specifiche di tali librerie. Inoltre, gli account utente con i quali i componenti verranno eseguiti in altri ambienti potrebbero non disporre del database richiesto o di un altro accesso assunto dallo sviluppatore che lavora con privilegi elevati. L'ho visto accadere molte volte in passato. A volte è ovvio il motivo per cui la distribuzione non è riuscita, a volte no, e devi ripristinare tutto finché non riesci a capirlo.

  3. Se gli sviluppatori installano strumenti o librerie open source e usano quelli per lo sviluppo, potrebbero esserci restrizioni di licenza involontarie su come il software che producono viene eventualmente distribuito, in particolare dove i termini "copyleft" fanno parte della licenza. Non c'è niente di sbagliato nell'usare strumenti o librerie open source, dovrebbe essere intenzionale. Non vuoi scoprire al momento della consegna che ora devi rilasciare tutto il tuo codice sorgente nella comunità perché i tuoi sviluppatori hanno utilizzato alcuni componenti open source che avevano termini rigorosi di copyleft nella licenza che non avevano letto prima di loro installato.

Qualcosa che ho visto fare è far lavorare gli sviluppatori con privilegi minimi, ma consentire loro di richiedere privilegi elevati per un periodo di tempo specificato. Quindi, questa richiesta di "chiamata antincendio" per privilegi elevati è stata registrata e monitorata e viene reimpostata automaticamente alla fine del tempo richiesto.

Il punto 1 è complicato. Ho visto organizzazioni cercare di limitare l'utilizzo al software approvato, ma ovviamente è praticamente impossibile controllare il software durante il suo sviluppo. Il punto 2 è solo una buona pratica di sviluppo / test, non ha molto a che fare con la sicurezza della stessa workstation degli sviluppatori. Anche il punto 3 è solo una normale pratica di sviluppo, questo non ha nulla a che fare con open / close source: qualsiasi soft o lib utilizzato avrà una licenza che dovrebbe essere rispettata, gli sviluppatori devono sempre controllare se hanno o meno i diritti di amministratore. (Nota che pochissimi strumenti OSS * * implicano che ciò per cui vengono utilizzati deve essere OSS.)
2. Deve essere gestito da un server di integrazione continua
wrb
2012-05-27 14:18:45 UTC
view on stackexchange narkive permalink

Gli dai i diritti di amministratore locale sulla loro workstation e su qualsiasi altra cosa desiderino. L'ambiente di sviluppo è sempre isolato dalla rete principale. È compito dell'IT assicurarti di fornire loro la configurazione di cui hanno bisogno, assicurandoti che nulla nell'ambiente di sviluppo possa danneggiare la rete principale. Pianifica in anticipo e collabora con la direzione per acquistare l'attrezzatura / il software di cui hai bisogno per farlo.

Ramhound
2012-05-15 17:12:58 UTC
view on stackexchange narkive permalink

Hai alcune domande a cui rispondere.

  1. Quali applicazioni devono utilizzare quotidianamente questi sviluppatori richiedono privilegi di amministratore ed esiste un modo per configurare queste applicazioni in modo che non sia così?
  2. Per quali motivi questi sviluppatori necessitano dei privilegi di amministratore per svolgere attività quotidiane banali e c'è un modo per evitarlo?
  3. Queste macchine per sviluppatori sono connesse a Internet?
  4. La domanda non dovrebbe essere quali sono i rischi, la domanda dovrebbe essere (a cui puoi solo rispondere) quali sono le ragioni per cui gli sviluppatori devono anche avere un account amministratore. Puoi crearli con un account "power user" e dare loro la possibilità di fare esattamente ciò di cui hanno bisogno, ma anche limitare la loro capacità di danneggiare la tua rete.

    Se queste macchine sono connesse a Internet. ... allora introdurrai una grande quantità di rischio a causa della loro capacità di eseguire qualsiasi cosa e installare qualsiasi cosa su queste macchine. Questi sviluppatori sono bravi sviluppatori, non sono esperti di sicurezza, è solo questione di QUANDO commetteranno un errore che espone la rete a malware.

    Dai un'occhiata a Google per esempio. Un dipendente di Google fa clic su un collegamento contenuto in una finestra di MSN Messenger, ha scaricato un malware che ha sfruttato un exploit già corretto da Microsoft e ha infettato l'intera rete.

    Devo aggiungere il dipendente di Google facendo clic su sul link non aveva nulla a che fare con questa domanda, era per sottolineare, le persone FARANNO un errore, quindi limita il tuo espositore.

L'infezione della rete di Google non sarebbe colpa dell'IT se non installa la correzione esistente da MS?
@Andy - Questo è il punto.Un dipendente li ha comunque esposti alla minaccia.
Ma non sarebbe successo nulla se l'IT avesse applicato la patch in modo tempestivo.Aspettarsi che gli esseri umani non commettano mai errori sembra un modo piuttosto sciocco per affrontare la sicurezza.
Vorrei sottolineare che non tutti i dipendenti di Google sono uno sviluppatore, potrebbe essere stata la signora che ordina le forniture per ufficio.
La domanda riguardava specificamente la concessione dei diritti di amministratore agli sviluppatori.Il dipendente di Google in questo caso può presumibilmente essere uno sviluppatore.Era anche solo un esempio.
DKNUCKLES
2012-05-15 18:09:22 UTC
view on stackexchange narkive permalink

I rischi per la sicurezza associati al fornire agli sviluppatori la possibilità di installare i propri computer sono numerosi. Ecco perché vorrei obiettare (parlando come amministratore di sistema)

1) Potenziale violazione delle migliori pratiche di sicurezza - Una delle 8 regole di sicurezza è la regola del privilegio minimo - solo dare ai dipendenti l'accesso a ciò di cui hanno bisogno per completare il loro compito. Se qualcuno mi dicesse che il loro sviluppatore ha bisogno dell'accesso amministrativo per installare il software per svolgere il proprio lavoro, allora risponderei con "Perché uno dei miei collaboratori non può installarlo per loro?". Avere un punto centralizzato per l'installazione del software garantisce che un reparto IT sappia esattamente quale software si trova su quale macchina.

2) Motivi legali - Forse uno dei tuoi sviluppatori ha un'etica meno che ammirevole e decide di installare software piratato. Non solo il software è probabilmente crivellato di malware, ma puoi aprire una lattina di worm per contenzioso nel caso in cui dovessi essere scoperto con software piratato sul tuo computer. Un reparto IT è considerato responsabile di tali computer e, in quanto tale, è responsabile del controllo e della garanzia che la licenza sia conforme ai Termini di servizio di ciascun software. Sebbene sia conveniente per gli sviluppatori in quanto possono installare il proprio software e non disturbare il reparto IT, si crea molto più lavoro per il reparto IT.

3) Installazione involontaria di malware - menzionato prima, ma questo potrebbe essere abbastanza innocente. L'elevazione dei privilegi degli utenti in modo che possano installare malware li rende suscettibili al malware aprendo un PDF infetto ricevuto tramite e-mail o un'unità tramite download. Limitare l'accesso degli utenti in modo che non possano installare software aiuterà a mitigare la minaccia del malware.

4) Attività dannose - Simile al punto 2, ma cosa c'è da dire che uno dei tuoi sviluppatori non installerà una backdoor o aprirà di proposito un'altra minaccia alla sicurezza sulla tua rete. Saresti sorpreso di quanti professionisti IT lo facciano per vendicarsi se vengono licenziati o il loro capo li fa incazzare.

Tutto sommato, avrei dovuto sconsigliarlo. Mentre le persone potrebbero obiettare che si risparmierebbe tempo impedendo loro di infastidire sempre l'IT per installare software, io ribattei che "ci vuole meno tempo per farlo che per riparare i buchi di sicurezza creati consentendo agli utenti di installare il proprio software" . Se si ritiene che sia necessario, dovrebbero davvero essere inseriti in una rete che non ha accesso diretto al mondo esterno.

Praticamente tutto questo può essere fatto senza privilegi di amministratore. Molti software non richiedono l'installazione di privati ​​di amministratore. L'unico modo per prevenire la maggior parte di questi è avere una whitelist del software, ma è ovviamente impossibile per gli sviluppatori.
D'accordo, ma dal punto di vista del "coprirti il ​​culo", sembra piuttosto brutto se la tua rete è compromessa e hai avuto politiche scarse riguardo all'installazione del software. In qualità di amministratore di sistema sarai quello con l'uovo in faccia e quello che lavorerà OT per risolvere il problema.
"8 regole di sicurezza"? Ce ne sono solo 8?
1, 2 e 3 sono tutti veri, tuttavia il collegamento di un debugger a un processo in esecuzione come un altro utente richiede un amministratore locale. Visual Studio 2005 consiglia di eseguirlo sempre come amministratore. L'installazione dei servizi Windows richiede l'amministratore. Queste sono tutte cose che io come sviluppatore devo fare, alcune più spesso di altre, il che significa che l'amministratore locale è un'autorizzazione che mi serve per svolgere il mio lavoro. Per il punto 4 direi che lo sviluppatore ha accesso fisico alla workstation, quindi se fossero dannosi potrebbero ottenere i diritti di amministratore, a meno che il PC non sia bloccato.
Fai un punto valido pipTheGeek - forse ho saltato la pistola. Tutto lo sviluppo che ha avuto luogo negli uffici in cui ho lavorato è stato in grado di svolgere il proprio lavoro senza un amministratore locale. Grazie per l'intuizione.
Voterei questa risposta se potessi. Non vedo come questi problemi non possano essere risolti con una buona comunicazione con gli sviluppatori. Se non ti fidi di uno sviluppatore per soddisfare i requisiti che hai menzionato, allora sarebbe meglio non assumerlo in primo luogo. Penso che limitare i privilegi di amministratore agli utenti avanzati (non attendibili?) Che hanno accesso completo al proprio hardware sia a dir poco ingenuo.
Risponderei "fidandomi dell'utente" per essere ingenuo, per non dire altro. La domanda (e la risposta) non era È possibile, ma piuttosto potenziali considerazioni sulla sicurezza. Non dico mai che quanto sopra elencato sia a prova di proiettile, ma piuttosto quello che un direttore IT o un amministratore di sistema potrebbe identificare come rischi per la sicurezza. Anche se posso rispettare le critiche, sarebbero più valide se avessi iniziato "questo è il modo per rafforzare efficacemente la tua rete".
Come sviluppatore professionista, direi che ho bisogno della tua approvazione per installare il software, faresti meglio a non scrivere script senza il mio.
+1 Anche se non sono d'accordo con le ragioni, la domanda originale era precisamente sapere quali argomenti potevano fornire gli amministratori di sistema, in modo che possano essere discussi / negoziati. questa è l'unica risposta che lo spiega.
+1 Questa risposta sarebbe praticamente completa se includesse lo spettro della regolamentazione come indicato in un'altra risposta.
Il personale di supporto IT che risolve i ticket banali ha accesso amministrativo alle macchine locali (come se devo installare / aggiornare un nuovo programma / libreria; riavviare il server web; ecc.)? Uno sviluppatore professionista è in genere più attento alla sicurezza rispetto ai risolutori di ticket di basso livello. Una buona politica è la difesa da software piratato / utenti malintenzionati (pubblicizzare reati di pirateria; disporre di un protocollo di terminazione per eliminare account, backup off-line e eseguire nuovamente il flashing del PC). La tua sicurezza di rete dovrebbe rilevare e impedire che una macchina dell'utente finale compromessa influisca su altre macchine (hai concesso l'accesso fisico).
Oltre ai punti che PipTheGeek ha fatto, quasi tutti gli sviluppatori hanno il loro set privato di strumenti di supporto che utilizzano per essere più produttivi sul lavoro (tasti di scelta rapida, luancher, snippet-orgenizer, generatori di codice, grep, Notepad ++, ecc ...) Inoltre usano strumenti di sysinternals come process explorer per uccidere i processi sospesi. Hanno anche bisogno di accedere ai log degli eventi e ad altri snap-in MMC e utilizzare strumenti come regsvr32.exe per registrare le loro cose COM ... l'elenco potrebbe continuare all'infinito ... Non riesco a immaginare di fare il mio lavoro senza essere almeno amministratore locale . Piuttosto cacciami dal dominio, fornendo solo l'accesso a Internet.
Anche se questo sembra ragionevole dal punto di vista della sicurezza, è completamente irrealistico nella realtà e impraticabile per uno sviluppatore. Inoltre, come sviluppatore, limitarmi l'accesso per svolgere il mio lavoro mi sta solo * supplicando * di aggirare la tua sicurezza. Se c'è una persona in azienda che * non * vuoi farlo ...
Louis Somers
2012-05-27 03:57:13 UTC
view on stackexchange narkive permalink

Una soluzione alternativa consiste nell'installare una macchina virtuale, non connessa al dominio. Sarà una vera seccatura, ma è meglio che essere completamente paralizzati dalle politiche.

Per i lettori futuri: questo non funzionerà per gli sviluppatori di app mobili che richiedono l'utilizzo di un emulatore di dispositivo.Gli emulatori di dispositivi sono anche macchine virtuali e non è possibile eseguire una VM all'interno di una VM.Si noti inoltre che se si utilizza un IDE moderno (Visual Studio, Intellij IDEA, Eclipse) le scarse prestazioni di tali strumenti in una VM ti renderanno la vita infelice.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...