¿Deberían los desarrolladores tener permisos de administrador en su PC?

135

¿Deberían los desarrolladores tener permisos de administrador en su PC o les está dando suficiente acceso de usuario avanzado?

Algunos comentarios:

  • Si quieren probar alguna aplicación nueva que deba instalarse, pueden probarla en una máquina virtual y luego pedirle al administrador de la red que la instale. ¿Crees que eso funcionaría?
  • ¿Hay algo que un desarrollador deba hacer en su PC que requiera permisos de administrador?

Somos un equipo de 5 desarrolladores y creamos aplicaciones web

Craig HB
fuente
116
Si entrara a un trabajo y descubriera que no tenía derechos de administrador para mi máquina, no volvería al día siguiente. Haz que tus desarrolladores vivan más fácil, no más difícil.
annakata 03 de
29
Esta pregunta sufrirá un sesgo de selección: hay momentos en que las máquinas de los desarrolladores deberían bloquearse, pero ese tipo de respuesta nunca será votada en un sitio orientado a los desarrolladores.
romandas
55
Menos común de lo que uno podría pensar. En la mayoría de los casos, el problema subyacente son los datos confidenciales; por ejemplo, las leyes de confidencialidad de la banca suiza tienden a impedir que los desarrolladores vean los datos reales de los clientes (la reconciliación de cuentas se deja como un ejercicio para el lector). En este caso, el problema no es bloquear las máquinas, sino proporcionar conjuntos de datos desinfectados para el trabajo de desarrollo. La mayoría de las otras situaciones son requisitos reglamentarios (por ejemplo, trabajar con datos clasificados) o CYA de autoservicio.
PreocupadoDeTunbridgeWells
12
Me pregunto cómo se desarrollaría la misma pregunta en ServerFault ... (@romandas)
Ben Mosher
44
@BenMosher: aquí está tu respuesta: serverfault.com/questions/232416/…
kmote

Respuestas:

228

La respuesta es sí'. Los desarrolladores necesitarán adaptarse a las configuraciones del sistema para probar elementos, instalar software (por lo menos, para probar el proceso de instalación de lo que sea que estén desarrollando), hurgar en el registro y ejecutar software que no funcionará correctamente sin privilegios de administrador (solo para enumerar algunos artículos). Hay una serie de otras tareas integrales para el trabajo de desarrollo que requieren privilegios de administración.

Teniendo en cuenta que el personal de desarrollo no necesariamente tiene acceso raíz a los sistemas de producción, los derechos de administrador en una PC local no comprometen significativamente la seguridad de los sistemas de producción. Casi no hay una razón operativa legítima para restringir el acceso de administrador a las PC locales para el personal que lo necesita para hacer su trabajo.

Sin embargo, la razón más importante para proporcionar acceso administrativo es que la creación de un entorno de desarrollo comprometido o de segunda categoría envía un mensaje a su personal de desarrollo:

'Valoramos tan poco su trabajo que estamos preparados para comprometer significativamente su capacidad de hacer su trabajo sin ninguna buena razón. De hecho, estamos muy contentos de hacer esto para cubrir nuestro propio trasero, complacer los caprichos de la pequeña burocracia o porque simplemente no podemos ser molestados. Ese es solo el mejor caso. El peor de los casos es que somos realmente el tipo de fanáticos del control que lo ven como nuestra perogativa para decirle cómo hacer su trabajo y qué debe hacer o no hacer. Haz lo que te dan y agradece que hayas conseguido un trabajo.

En general, proporcionar un entorno de trabajo de segunda categoría (y mucho menos fundamentalmente defectuoso) para el personal de desarrollo es una receta para las consecuencias naturales de enojar a su personal: incapacidad para retener a personas competentes, alta rotación de personal, baja moral y entrega de baja calidad. Salir de su camino para hacerlo, particularmente si hay un trasfondo de complacencia al capricho burocrático, es simplemente irresponsable.

Tenga en cuenta que la rotación de su personal no solo implica costos de reemplazo del personal. El costo más serio de la rotación del personal es que la mayoría de los que se quedarán serán la madera muerta que no puede obtener un mejor trabajo. Con el tiempo, esto degrada las capacidades de los departamentos afectados. Si su industria está lo suficientemente cerca, también puede encontrar una reputación.

Un punto a tener en cuenta es que los privilegios administrativos son mucho menos problemáticos para el desarrollo en sistemas unix-oid o mainframe que en Windows. En estas plataformas, un usuario puede hacer mucho más en su propio dominio sin necesidad de permisos en todo el sistema. Probablemente aún desee acceso root o sudo para los desarrolladores, pero no tener esto se pondrá mucho menos a menudo. Esta flexibilidad es una razón significativa pero menos conocida de la continua popularidad de los sistemas operativos derivados de Unix en las escuelas de informática.

Preocupado por TunbridgeWells
fuente
3
Hay una diferencia con tener derechos de administrador y ejecutar todo con derechos de administrador :) Muchos desarrolladores, por supuesto, necesitarán derechos de administrador. Pero ejecutar todo de forma interactiva con derechos de administrador en un sistema local no es el menor privilegio. Se abre para ataques contra sistemas de producción a los que el desarrollador tiene acceso y una PC local comprometida le da a cualquier atacante el mismo acceso. Esto es más fácil de lo que piensas. La seguridad es un problema de capa sobre capa, menos privilegio por proceso y problema de capacitación del usuario. Respetar la seguridad de cada dispositivo es la única forma: vimeo.com/155683357
Oskar Duveborn
Soy partidario de otorgar derechos de administrador local a los desarrolladores, pero decir que "los derechos de administrador en una PC local no compromete significativamente la seguridad de los sistemas de producción" dependerá de su entorno. Lo que a la mayoría de los técnicos de TI les preocupa es que instalarán software que contenga malware / virus que pueda propagarse por toda la empresa o si alguien compromete su máquina local y usted tiene archivos de datos confidenciales almacenados localmente o en una base de datos local. En un mundo perfecto, ningún desarrollador tiene acceso a los archivos de datos HIPAA / PCI y todas las bases de datos de desarrollo se limpian, pero sabemos que este no es el caso.
L_7337
87

Los desarrolladores deben tener un control total y total de la máquina que están utilizando. La mayoría de las herramientas de depuración requieren permisos de administrador para conectarse al tiempo de ejecución de la aplicación que están creando.

Además, los desarrolladores descargan y prueban cosas nuevas con frecuencia. Agregar pasos adicionales, como la necesidad de que un administrador de la red venga e instale algo para ellos, simplemente frustra al desarrollador y rápidamente convertirá la vida en un infierno para la persona de operaciones de la red.

Dicho esto, deberían ser administradores en SU ​​caja, no en la red.

Yo no
fuente
55
El mayor problema con el que me he encontrado con desarrolladores con permisos de administrador es que das por sentado los derechos que tienes sobre los recursos de tu computadora local. Tantos resultados de software malos: escribe en C: \ Archivos de programa, escribe en HKLM, etc. En su estación de trabajo, tal vez, pero requiere pruebas donde no lo hace.
SqlRyan
44
@rwmnau: Eso no se aplica al desarrollo web. Además, el problema se hace evidente rápidamente cuando QA'ing bajo permisos normales.
NotMe el
2
Hacer que las máquinas virtuales estén disponibles y los inicios de sesión de prueba de desarrollo sin privilegios de administrador es una buena manera de facilitar la prueba de que el software se ejecutará con permisos de usuario normales.
ConcernedOfTunbridgeWells
El software que se lanzó con tales permisos solo de administrador pasó por un proceso de control de calidad extremadamente pobre (o ninguno). El software debe probarse en entornos de la vida real, por lo tanto, el control de calidad debe detectarlo temprano y el problema que de otra manera pasarían por alto los desarrolladores sería solucionado. ¿Correcto?
2
@rwmnau: cualquier desarrollador que valga la pena es consciente de esto, pero la respuesta no es bloquear su máquina de desarrollo. Es para proporcionarles un entorno de prueba en el que puedan implementar su proyecto a su conveniencia para resolver estos problemas.
Spencer Ruport
48

Si y no.

Sí, ahorra mucho tiempo molestando el soporte del sistema.

No, tus usuarios no lo tienen, así que no cuentes con él.

Desarrollamos con permisos de administrador y prueba sin. Lo que funciona bien.

Toon Krijthe
fuente
11
Mi esposa tuvo que abogar por una cuenta no administrativa en su computadora, para poder asegurarse de que los usuarios pudieran hacer lo que pudieran. Su política es exactamente correcta (y, por lo tanto, ha sido votada).
David Thornley
1
Exactamente, el desarrollador debe tener administrador, prueba y control de calidad debe tener usuario.
Dr. Watson
¡No puedo estar más de acuerdo contigo! El acceso de administrador es excelente para el desarrollo, pero la mayoría de los usuarios no lo tendrán (si desarrolla software corporativo ... TI generalmente bloquea las cosas bastante bien).
Pulsehead
18

Administrador local sí, por todos los motivos indicados anteriormente. Administrador de red no, porque inevitablemente serán atraídos a tareas de administración de red porque "pueden". Los desarrolladores deberían estar en desarrollo. La administración de la red es un trabajo completamente diferente.

Nick Van Brunt
fuente
15

Los desarrolladores normalmente necesitan hacer cosas que la persona promedio no haría, por lo que normalmente deberían tener cuentas de administrador. Hacerlos saltar a través de aros incómodos desperdicia su tiempo y los desmoraliza. Puede haber excepciones en situaciones de alta seguridad, pero si no puede confiar en alguien con una cuenta de administrador, seguramente no puede confiar en su código.

También deben tener una cuenta disponible con el mismo permiso que sus usuarios (más de una cuenta si el grupo de usuarios tiene diferentes estados de permiso). De lo contrario, pueden desarrollar algo interesante, implementarlo y luego descubrir que no funcionará para los usuarios.

También hay muchas maneras de arruinar las computadoras con cuentas de administrador (sí, lo he hecho). El departamento de TI necesita una política de que volverán a crear una imagen de la computadora de un desarrollador si no pueden solucionarlo rápidamente. En un lugar donde contraté, tuve que firmar una copia de esa política para obtener mi cuenta de administrador.

Esta es una respuesta bastante específica de Windows. En Linux y otros sistemas Unix-y, los desarrolladores pueden pasar más a menudo solo con cuentas de usuario, a menudo no necesitan otra cuenta para la prueba (si tienen una cuenta con la que pueden sudo, saben cuándo están usando el sudo, pero es posible que necesiten uno con los mismos permisos de grupo), y pueden causar una cantidad increíble de daños al sistema operativo con mucha facilidad, por lo que es necesaria la misma política de TI.

David Thornley
fuente
44
"Puede haber excepciones en situaciones de alta seguridad, pero si no puede confiar en alguien con una cuenta de administrador, seguramente no puede confiar en su código". - ese es un gran pensamiento, gracias!
Usuario
No puede confiar en el código de ninguna manera: debería estar haciendo código revisado por pares para todo. Y creo que eso también tiene sentido para las instalaciones: haga que alguien haga una “revisión por pares” del software que está a punto de instalar.
Tim
10

Sí, Half-Life 1 (y todas las modificaciones relacionadas: contraataque, día de la derrota, etc.) necesitan derechos de administrador (al menos para la primera ejecución, creo) para funcionar correctamente en Windows NT, 2000, XP, etc. .

¿Y qué tipo de desarrollador no juega Counter Strike a la hora del almuerzo? (uno horrible, seguro)

fortran
fuente
10

Habiendo soportado el dolor de tener que desarrollar sin derechos de administrador en la máquina, mi respuesta solo puede ser sí, es esencial.

Jason
fuente
8

¡Absolutamente! ¿De qué otra manera instalaría el administrador de descargas para descargar películas por la noche?

A veces, los desarrolladores realmente necesitan instalar cosas o cambiar algo en el sistema para probar alguna idea. Será imposible si tiene que llamar al administrador cada vez que necesite cambiar algo.

También tengo mi observación personal de que algunos administradores tienden a atornillar todo lo posible para que incluso las pequeñas cosas dependan de ellos a diario, por lo tanto ... ¿qué, asegurando su trabajo? enojando a los otros usuarios? No tengo respuesta Pero el sentido común no se ve aquí.

La última vez que hubo un problema con mi PC, participé activamente en la restauración del sistema, haciendo algunas sugerencias trabajando en el equipo con el administrador, o eso pensé ... El administrador se enojó mucho y me acusó de tratar de enseñar. él o redefinir las reglas. Supongo que era solo su ego, ya que no se lo veía tan genial en nuestra habitación entre otros colegas.

Usuario
fuente
No puedo estar más de acuerdo. Después de ser un ingeniero de sistemas durante 6 años, es doloroso tener que llamar al servicio de asistencia para solucionar algo.
Matthew Whited
8

La respuesta es que los desarrolladores deberían tener 2 máquinas.

  • Uno de desarrollo que tiene derechos de administrador y suficiente potencia, memoria, tamaño de pantalla y portabilidad, y privilegios de ADMIN, con software antivirus corporativo cargado pero configurable por el desarrollador cuando sea necesario con la política de autoreset.

  • Uno corporativo que tiene carga corporativa, políticas, privilegios de usuario no administrador, etc. El desarrollador puede usar este para aplicaciones de modo de lanzamiento de prueba de unidad ya que algunos desarrolladores tienen el desagradable hábito de hacer todas las pruebas de unidad con privilegios de administrador.


fuente
9
Gran idea ... pero la mayoría de las compañías ni siquiera te darán una "buena" máquina, deja dos.
Matthew Whited
1
Puede hacer la segunda máquina en una VM con la compilación 'estándar'. Esto es particularmente útil si la red de desarrollo está separada en su propio dominio. Una máquina virtual de producción separada en el dominio principal les da a los desarrolladores acceso a los recursos de la red.
Preocupado por
5

Si inviertes la pregunta, creo que es más fácil responderla; ¿Deberíamos eliminar los permisos de administrador de los desarrolladores? ¿Cuál es la ganancia?

Pero en realidad, creo que la respuesta depende de su contexto, su entorno. Las pequeñas empresas tendrán una respuesta diferente a la agencia gubernamental certificada por ISO.

Ed Guiness
fuente
5

Sí, pero deben ser conscientes de las limitaciones a las que se enfrentarán sus usuarios cuando ejecuten software en un entorno más limitado. Los desarrolladores deben tener fácil acceso a entornos "típicos" con recursos y permisos limitados. En el pasado, he incorporado la implementación de compilaciones a uno de estos sistemas "típicos" (a menudo una VM en mi propia estación de trabajo) como parte del proceso de compilación, para que siempre pudiera tener una idea rápida de cómo funcionaba el software en un extremo. máquina del usuario

Los programadores también tienen la responsabilidad de conocer las reglas estrictas de escribir software para usuarios que no son administradores. Deben saber exactamente a qué recursos del sistema siempre se les permite (o prohíben) acceder. Deben conocer las API que se utilizan para adquirir estos recursos.

¡"Funciona en mi máquina" nunca es una excusa!

John Cromartie
fuente
5

Como administrador de sistemas, estoy a favor de los desarrolladores que tienen derechos de administrador local en sus estaciones de trabajo. Cuando sea posible, no es una mala idea hacer la mayoría de las cosas con una cuenta de nivel de 'usuario' estándar y luego usar otra cuenta de 'administrador' para hacer cambios, instalar aplicaciones, etc. A menudo puede sudo o runas para lograr lo que desea sin siquiera iniciar sesión fuera. También es útil recordarnos qué problemas de seguridad tendrán que atravesar los usuarios finales cuando salgan a producción.

En una nota al margen también es recomendable tener un sistema [limpio] o VM (s) para que pueda probar las cosas correctamente y no entrar en el escenario "se ve / funciona bien en mi sistema" debido a ajustes del sistema.

atom255
fuente
3

Ningún usuario avanzado

En primer lugar, Power User es básicamente un administrador, por lo que " limitar " a un usuario a Power User no proporciona ningún aumento en la seguridad del sistema, también podría ser administrador.

Inicie sesión interactivamente como usuario normal

En segundo lugar, por supuesto, un desarrollador necesita acceso administrativo a su máquina de desarrollador (y servidores y segundos cuadros, etc.) pero, por supuesto, nadie debe iniciar sesión de forma interactiva como administrador durante el desarrollo o las pruebas normales. Use una cuenta de usuario normal para esta y la mayoría de las aplicaciones.

En serio, no desea ejecutar [insertar ningún navegador, complemento, mensajería instantánea, cliente de correo electrónico, etc.] como administrador.

Tampoco normalmente inicia sesión en su cuadro de Linux como root, incluso si es probable que tenga acceso de root cuando lo necesite.

Use una cuenta de administrador personal separada

Proporcione al desarrollador una cuenta de administrador personal separada para su máquina (cuenta de dominio preferiblemente) que también es un administrador válido en otros servidores de desarrollo / prueba y cajas a las que la persona necesita acceso administrativo.

Utilice "ejecutar como" y en Vista + UAC para solicitar o solicitar una solicitud e ingrese las credenciales administrativas para tareas y procesos solo cuando sea necesario. La PKI con tarjetas inteligentes o similar puede reducir en gran medida la tensión para ingresar credenciales con frecuencia.

Todos son felices (o?;)

Luego auditar el acceso. De esta manera, hay trazabilidad y una manera fácil de averiguar quién está utilizando las sesiones de servicios de terminal en un servidor de desarrollo / prueba en particular al que tiene que acceder en este momento ...

De acuerdo, definitivamente hay trabajo de desarrollo que nunca requerirá privilegios de administrador local, como la mayoría del desarrollo web donde la implementación se prueba en un servidor o máquina virtual separada y donde cassini o lo que sea que se use para la depuración local realmente funciona bien como un usuario normal.

Oskar Duveborn
fuente
2
Estás diciendo: no les permitas iniciar sesión como administrador, pero dales las claves en caso de que necesiten hacer algo que lo requiera. Leí esta misma basura en el sitio de MS con respecto a UAC, y muestra una completa falta de consideración real con respecto a las cien cosas que un desarrollador hace en un día.
NotMe
2
UAC se colocó para evitar que personas normales se disparen en el pie. Si un desarrollador hace esto, la culpa es suya. Si lo hace continuamente, entonces necesita encontrar otra línea de trabajo.
NotMe
Si les das las claves, en realidad "les permites" a nosotros iniciar sesión como administradores. Es solo que nunca es una buena idea hacer eso para las tareas cotidianas. Por qué la gente todavía piensa que esto es normal o necesario solo porque son geeks, codificadores o administradores está más allá de mí.
Oskar Duveborn el
Si alguna vez vio lo que hace un administrador de sistemas moderno en un día, se daría cuenta de que la necesidad de acceso administrativo y la introducción de credenciales alternativas son mucho más altas de lo que cualquier codificador de nivel de sistema incondicional verá. Todavía no inician sesión como administradores para las tareas diarias, y lo hacen bien.
Oskar Duveborn el
Normalmente no inicias sesión como root en un sistema Unix, incluso cuando lo estás administrando, ¿por qué lo harías en un sistema Windows, incluso si eres un desarrollador? Eso no tiene sentido. Ejecutar todas las aplicaciones aleatorias como Skype o cualquier otra con altos privilegios del sistema es ignorante, por decir lo menos: solo eleva las aplicaciones que lo necesitan.
Oskar Duveborn
3

Trabajo principalmente en el mundo * nix y el modelo estándar que existe para que los desarrolladores trabajen en una cuenta de usuario normal y sin privilegios con la capacidad (a través de sudoo su) de escalar a privilegios de administrador cuando sea necesario.

No estoy seguro de cuál sería el arreglo equivalente de Windows, pero esta es, en mi experiencia, la configuración ideal:

  • Por un lado, tener derechos de administrador disponibles bajo demanda le da al desarrollador el poder total sobre su estación de trabajo cuando sea necesario.

  • Por otro lado, el software de Windows tiene una larga historia de asumir que todos los usuarios tienen derechos de administrador, hasta el punto de que muchos programas no se ejecutarán para un usuario que no sea administrador. Muchos de los problemas de seguridad de Windows surgen directamente de este requisito implícito de que, para poder usar la computadora de manera confiable, todos los usuarios deben ser administradores. Esto debe cambiar y la forma más efectiva de garantizar que su software se ejecute para usuarios no administradores es que sus desarrolladores lo ejecuten ellos mismos como usuarios no administradores.

Dave Sherohman
fuente
No creo haber encontrado una aplicación comercial que no pueda ejecutarse como usuario normal en los últimos 5-10 años. Una vez que era un BOFH y todos los usuarios en ese lugar se vieron obligados a ejecutar todo como usuarios normales desde ~ 2001 en realidad, no se delegaron los privilegios de administrador y funcionó bien y evitó una gran cantidad de malware de esa época. También se aplican cuñas automáticas en las versiones más recientes de Windows si se ejecuta una aplicación heredada (engañándola en una caja de arena) y en mi trabajo de desarrollo diario es prácticamente solo Visual Studio el que se eleva cuando necesito adjuntar a otros procesos para la depuración.
Oskar Duveborn
3

[disculpas inglés no es mi lengua materna, haciendo mi mejor esfuerzo :)] Bueno,

Experiencia personal (soy un desarrollador de c ++ / SQL):

Solía ​​ser administrador de mi máquina Windows en mi trabajo anterior. También tenía derechos dbo (no dba) en las bases de datos, incluidas las bases de datos del entorno de producción. En 2 años y medio con 8 personas teniendo estos derechos locos ... nunca tuvimos ningún problema. En realidad, resolvimos muchos problemas actualizando db manualmente. Podríamos hacer muchas cosas realmente rápido para los hotfix y los desarrolladores.

Ahora cambié de trabajo. Logré (llorando mucho) ser administrador de mi máquina Windows. Pero el servidor de desarrollo es un servidor de red hat al que nos conectamos usando ssh. Intentar instalar Qt fue una tortura, límites de cuota, límites de espacio, ejecución y derechos de escritura. Finalmente nos rendimos y le pedimos al administrador que lo haga por nosotros. 2 semanas después todavía no hay nada instalado. Me estoy volviendo muy rápido leyendo periódicos y presionando alt + tab.

Solicité derechos de administrador, ya que solo el desarrollador de mi software utiliza esta máquina.

-> Respuesta: "Si hay procesos es para que no hagas lo que quieras. Tiene que funcionar bien una vez en producción".

-> Intentando explicarle a un gerente no técnico: "No tendré derechos de administrador en los entornos de producción o UAT. Pero mi máquina de desarrollo es diferente. Si tuviera que construir sillas en lugar de softwares, ¿me diría que puedo No pongo las herramientas que quiero en mi taller porque mi taller debe parecerse al lugar donde se usará la silla. Le doy un paquete ejecutable a uat. Las bibliotecas y herramientas que utilicé para construirlas son invisibles para el usuario final o para el tipo que instala el paquete ".

Todavía estoy esperando hoy. Encontré una solución, abrí un entorno de desarrollo, acudí a tu juez en línea favorito, desafíate a ti mismo. cuando alguien mire tu pantalla, te estará viendo programando. ;)


fuente
2

Puedes responder esto de dos maneras. Sí y no, o depende. - ¿Puedo ser más vago ...

Depende de si es necesario que hagan su trabajo. Si es así, otórgueles poderes administrativos sobre su computadora. Si no, entonces no lo hagas. No todo el desarrollo de software requiere que un ingeniero tenga derechos de administrador.

Sí y no depende de su punto de vista. Algunos ingenieros ven su computadora como su dominio y son las reglas de su dominio. Otros no quieren la responsabilidad.

He trabajado en una compañía donde no tenía derechos de administrador y cada vez que necesitaba hacer algo que requería derechos de administrador tenía que llamar al servicio de asistencia y me concedieron derechos de administrador temporal hasta que reinicié. Esto fue un dolor a veces, pero así fue, así que viví con eso. También he trabajado en lugares donde tengo derechos de administrador completos para mi computadora. Esto fue genial, excepto por el tiempo que instalé un software que alojaba el sistema operativo y tuve que llevar mi computadora al servicio de asistencia y hacer que volvieran a crear imágenes del disco duro ...

Personalmente, creo que un ingeniero debe tener derechos de administrador en su computadora, pero con el entendimiento de que si lo arruinan, se puede volver a cargar una nueva imagen de línea de base y perderán todo lo que se hizo desde la línea de base original. Sin embargo, no creo que todos en una empresa tengan derechos de administrador para su computadora. Los departamentos de contabilidad, asistentes administrativos y otros departamentos realmente no necesitan tener esos derechos, por lo que no deben otorgarse.

marca
fuente
Una vez fui contratista de una empresa donde, para obtener los derechos de administrador, tuve que firmar un reconocimiento de que el personal de TI no pasaría más de diez o quince minutos tratando de arreglar mi computadora y luego limpiaría y volvería a limpiar -imagen. Me pareció justo.
David Thornley
Convenido. Con un gran poder viene una gran responsabilidad.
CraigTP
2

ht tp: //msdn.microsoft.com/en-us/library/aa302367.aspx

En mi experiencia, siempre se necesita un compromiso entre nosotros (codificadores) y ellos (seguridad). Admito (aunque odio), hay mérito en el artículo de Microsoft anterior. Como he sido programador durante años, he experimentado el dolor en el que necesitaba instalar un depurador diferente, solo para molestarme no puedo. Me obligó a pensar creativamente en cómo hacer mi trabajo. Después de años de luchar contra nuestro equipo de seguridad (y varias discusiones), entiendo su trabajo de tener que proteger todas las áreas, incluido mi escritorio. Me mostraron las vulnerabilidades diarias que aparecen, incluso en la aplicación Quicktime más simple. Puedo ver su frutración cada vez que quiero instalar una utilidad rápida o ajustar mi IIS local para que pueda causar un problema de seguridad grave. No entendí completamente esto hasta que vi a otro desarrollador ser enlatado. Estaba tratando de depurar y terminó apagando Symantec solo para transmitir (y luego DAR) algunos virus a cientos de personas. Fue un desastre. Al hablar con uno de los "secheads" (muchachos de seguridad) sobre lo que sucedió, pude ver que solo quería decir, "te lo dije ...".

He aprendido que nuestras secheads (bueno, al menos las mías) solo quieren proteger a nuestra empresa. ¡La buena noticia es que encontramos un compromiso, y puedo hacer mi trabajo y las búsquedas son geniales con nuestra red segura!

Credo


fuente
1

Sí, si desea que los pentesters o algunos usuarios malintencionados capacitados se asienten en comprometer su dominio.

es decir, comprometer una cuenta de bajo nivel> Buscar dónde admin -> Mimikatz -> Elevar permisos -> Administrador de dominio.

Entonces no, los usuarios normales no deberían ser administradores.

También Microsoft ha dicho que UAC no es un límite de seguridad, así que no lo use como tal. Hay varias derivaciones del mundo real de UAC disponibles.

Si necesitan administrador como parte de su función de trabajo, proporcione cuentas de usuario de administrador local de dominio separado que se usan solo para instalar software (con permisos de administrador solo en su propia máquina), nunca para uso general o acceso a Internet. Esto debería tener una política de contraseña más estricta (por ejemplo, 15 caracteres de longitud mínima). La funcionalidad Runas se debe utilizar para esto.

Cualquier entorno en el que las cuentas de usuario normales sean admin es una receta para un desastre de seguridad.

SilverlightFox
fuente
0

Wow, esta pregunta ciertamente se abrirá a algunas respuestas interesantes. En respuesta, cito lo que se usa a menudo: 'depende' :)

En pequeñas empresas, esto podría ser simplemente una cuestión de ser pragmático. También es probable que los desarrolladores sean los más expertos técnicamente, por lo que tiene sentido que administren sus propias máquinas.

Personalmente, soy un fanático de la "cuenta de administrador" que se puede usar cuando sea necesario, es decir, "Ejecutar como ..." (más adelante noté que este enfoque era muy similar al de UAC).

Si está desarrollando software de escritorio, no es una mala idea que los desarrolladores trabajen dentro de los límites que experimentarán sus usuarios finales, es decir, derechos limitados o restringidos. Si crea el software con derechos limitados, es muy probable que encuentre los mismos problemas a los que se enfrentarían sus usuarios objetivo con el mismo conjunto de permisos.

Dicho esto, si tiene un buen laboratorio de pruebas y / o un equipo de control de calidad decente, este podría ser un punto discutible, especialmente si tiene una práctica de ALM medio decente.

Finalmente, me desarrollo sin UAC, principalmente porque confío en mí mismo y en mis habilidades. En un ambiente de equipo, lo pondría a votación. En organizaciones más grandes, es posible que no tenga esta libertad. Los administradores de la empresa a menudo tienen la última palabra :)

RobS
fuente
0

En mi empresa, los desarrolladores, ingenieros y mi jefe (propietario de la empresa) tienen privilegios de administrador local. Mi jefe también tiene privilegios de administrador de red, en caso de que ese bus rebelde (o lo abandone) me golpee. Todos los demás quedan encerrados.

Como administrador de sistemas, esta configuración me ha causado un poco de dolor de vez en cuando, especialmente cuando se instala un software no aprobado. Sin embargo, viniendo de un fondo de desarrollador, entiendo la necesidad de que los usuarios avanzados tengan más control sobre su entorno y, como tal, estoy dispuesto a soportar las peculiaridades o problemas ocasionales que puedan surgir. Realizo copias de seguridad de rutina de sus estaciones de trabajo, por si acaso.

Por cierto, he tenido más problemas con el jefe jugando con las cosas que con cualquier otra persona. Como la vieja pregunta, "¿Dónde se sienta un elefante? ¡En cualquier lugar que quiera!" Pero en una pequeña empresa donde él es esencialmente el administrador de sistemas de "respaldo", no hay muchas opciones.

Miguel
fuente
-1

Depende de las habilidades del desarrollador y de si es consultor o no.

Creo que es razonable que un desarrollador experimentado y confiable tenga los derechos de hacer lo que quiera con su PC, siempre y cuando no perjudique su productividad.

Manrico Corazzi
fuente
66
¿Por qué atarías las manos de un consultor y no un empleado regular? ¿No están los dos haciendo el mismo trabajo? ¿Espera menos del consultor aunque probablemente esté pagando más por ellos? Esto suena realmente tonto. Además, si un desarrollador no puede mantener su propia máquina en funcionamiento, necesita un nuevo trabajo
NotMe
-1

Nadie en Windows XP debería usar una cuenta de administrador para el uso diario, y en Vista, si debe ser administrador, al menos debe tener UAC habilitado. Especialmente desarrolladores web y otros desarrolladores que navegan por la web con Internet Explorer.

Lo que puede hacer es que los desarrolladores usen su cuenta de usuario normal, pero les dé una segunda cuenta que sea un administrador en su PC para que puedan usarla según sea necesario (Ejecutar como). Sé que dijeron desarrollo web, pero para el desarrollo de Windows su software debe probarse utilizando una cuenta de usuario normal, no como administrador.

Bratch
fuente