Ubuntu para empleados de desarrollo bancario [cerrado]

16

¿Hay procesos y métodos documentados sobre cómo ejecutar computadoras Ubuntu personalizadas (desde la instalación hasta el uso diario) para bancos y otras empresas que no desean que los usuarios descarguen archivos binarios de ubicaciones posiblemente inseguras?

¿De modo que apt-get, update, etc. suceden solo en unas pocas ubicaciones confiables de internet o intranet?

Actualización: se agregó esto después de la primera respuesta. Estos usuarios son soporte, usuarios novatos de sistemas y desarrolladores del software del banco ... por lo que algunos necesitan privilegios de sudo. ¿Hay alguna forma lista de monitorearlos para que las excepciones se detecten rápidamente (como agregar la lista de fuentes) pero otras acciones como instalar cosas de repositorios conocidos no se informan?

El objetivo es ser seguro, usar Ubuntu o un sabor, permitir que los desarrolladores y otros usuarios de sudo sean lo más productivos posible. (Y reducir la dependencia de las computadoras Windows y Mac)

.2. ¿Y la gente de TI puede asignar políticas a los usuarios para que no puedan hacer algunas acciones como compartir una carpeta, incluso si sudo user? ¿Una solución completa?

tgkprog
fuente
77
Si les da acceso de root para sudo apt-get, entonces es mejor poner un buen firewall fuera del sistema.
muru
2
Para jugar un poco aquí, ¿cómo se asegura de que el software en los repositorios de Ubuntu sea "confiable"? Si su organización no revisa ninguno de esos paquetes o repositorios, se podría argumentar que ya está instalando software no confiable :) Además, a menos que bloquee el acceso a Internet o incluya sitios específicos en la lista blanca, es bastante trivial que un usuario técnico lo omita este tipo de restricción, simplemente descargue el deb (s) manualmente e instálelo ...
Rory McCune
2
Una vez que tienen root, pueden instalar binarios no confiables obtenidos a través de una memoria USB. O descárgalos. O envíelos por correo electrónico a ellos mismos. Mantener a un desarrollador con acceso root desde la instalación de todo el software que desea es básicamente imposible.
Federico Poloni
3
Estoy votando para cerrar esta pregunta como fuera de tema porque es una solicitud de consultoría, no un simple control de calidad para el que está diseñado este sitio. ¡Por lo tanto, la pregunta es demasiado amplia para ser manejada aquí y fuera de tema!
Fabby
1
Debe hacer un archivo de sudoers cuidadosamente elaborado, desplegado por cualquier sistema de gestión masiva que garantice que solo se hagan las cosas permitidas por la Compañía. Esto hace que la opción de preguntas sea demasiado amplia (ambas coinciden). marcado para el cierre por opinión basada. (administrador de seguros administrador de sistemas aquí, he elegido un camino en muchos, de ahí la bandera basada en la opinión)
Tensibai

Respuestas:

5

Esta es una muy buena pregunta, pero su respuesta es muy difícil.

Primero, para comenzar, @Timothy Truckle tiene un buen punto de partida. Ejecutaría su propio repositorio apt donde su equipo de seguridad podría verificar cada paquete. Pero eso es solo el comienzo.

A continuación, desearía implementar grupos. Tendrás como objetivo que los usuarios puedan hacer las cosas que necesitan sin mucha ayuda del soporte. Pero en la banca realmente quieres cosas bloqueadas. De hecho, en muchas estructuras corporativas desea bloquear las cosas. Por lo tanto, otorgar a los usuarios normales privilegios de sudo en cualquier nivel probablemente no esté disponible.

Lo que probablemente haría es configurar las cosas para que ciertos grupos no necesitaran permisos elevados para hacer su trabajo.

Nuevamente, en la mayoría de los entornos corporativos, la instalación de software es algo que puede hacer que te despidan, así que eso es un no no. Si necesita software, llame a TI y ellos lo hacen por usted, o hay una cadena de requisición o algo así.

Idealmente, nunca necesitaría un empleado normal para instalar nada o necesitaría permisos elevados.

Ahora para los desarrolladores la pregunta es un poco diferente. Quizás necesiten instalar y quizás necesiten sudo. Pero sus cajas están en la "red de peligro" y NUNCA pueden conectarse directamente a sistemas críticos.

El personal de TI / Soporte necesitará sudo. Pero puede limitar el acceso a sudo por comando o proceso (papeleo) u otros medios. Puede haber volúmenes enteros sobre cosas como el "director de 2 ojos" y cómo implementarlo. Pero existen registros de auditoría y se pueden configurar para satisfacer la mayoría de las necesidades.

Entonces, volviendo a tu pregunta. La respuesta de Timoteo Truckle- es 100% correcto, pero la premisa de su pregunta está apagado. Asegurar un sistema operativo Linux se trata mucho más de elegir la configuración que se necesita para su caso de uso específico, y menos de una idea general de cómo proteger las cosas.

coteyr
fuente
así declarado respuesta
Corey Goldberg
Trabajé para un proveedor estadounidense de TI donde deshabilitaron Windows 7 UAC fuera de la caja en las imágenes de instalación (también tenían imágenes de Linux) y todos mis compañeros de trabajo eran administradores en sus máquinas y tenían privilegios de root para muchas máquinas de diferentes clientes que también almacenaban información. No es que no haya medidas de seguridad, pero ¿cómo debo decirlo? De ninguna manera estás en lo correcto y preferiría que fuera tu caso si estuviera a cargo, pero ¿tienes experiencia real o es solo eso? ilusiones?
LiveWireBT
Muchos muchos años de experiencia real. El OP preguntó sobre la banca y en la banca, así como sobre muchas estructuras corporativas, existen regulaciones, tanto contractuales como legales que deben cumplirse. Por lo general, se inicia (o terminar) mediante el cumplimiento de estas obligaciones.
coteyr
Gracias. Si no somos un banco, pero la necesidad de seguridad y seguimiento como uno, porque si los datos sensibles. Usé el banco de palabras como un caso de uso familiar.
tgkprog
18

Configurar su propio proxy de fuente de la distribución dentro de su intranet.

Personalizar la instalación de ubuntu para que su repositorio debian de proxy es la única entrada en /etc/apt/sources.list.

Et voila: tiene control total sobre el software instalado en sus clientes (siempre y cuando ningún usuario tenga permisos de superusuario).


Actualización: se agregó esto después de la primera respuesta. Estos usuarios son soporte, usuarios novatos de sistemas y desarrolladores del software del banco ... por lo que algunos necesitan privilegios de sudo. ¿Hay alguna forma lista de monitorearlos para que las excepciones se detecten rápidamente (como agregar la lista de fuentes) pero otras acciones como instalar cosas de repositorios conocidos no se informan?

En su instalación personalizada, puede modificar el /etc/sudoersarchivo para que sus usuarios puedan ejecutar sudo apt updatey sudo apt installno comience ningún otro comando apt. Por supuesto, también tiene que restringir sudo bash(o cualquier otro shell).

Timothy Truckle
fuente
3
Mientras ningún usuario tenga privilegios de superusuario, no puede instalar ningún software de todos modos.
Byte Commander
Edité la pregunta.
tgkprog
@ByteCommander es cierto, pero ¿qué sucede si desea agregar un "sitio de confianza" más además de la lista inicial? ¿Prefiere ejecutar un script para actualizar /etc/apt/sources.listen todos los 10'000 clientes o simplemente modificar este archivo en algunos cachés aptos?
Timothy Truckle
55
@TimothyTruckle si realmente tienes 10000 clientes, entonces también tienes un sistema de gestión como Puppet, y agregarlo a todos es trivial
muru
los usuarios pueden obtener acceso a un shell si sudo apt updateinforma un conflicto de archivo
Ferrybig
6

En casi todas las tiendas que he visto hasta ahora, los desarrolladores tenían acceso completo a las máquinas de desarrollo, pero estas máquinas solo tenían acceso a Internet y al repositorio de código fuente.

El código fuente se registra y se compila en máquinas confiables (en las que los desarrolladores generalmente no tienen o no necesitan permisos administrativos), y luego se implementa desde allí para probar los sistemas que tienen acceso a la red interna.

Si estas máquinas son utilizadas por los desarrolladores o por un equipo de prueba separado, depende de su organización, pero generalmente el límite entre máquinas confiables y no confiables es entre máquinas separadas, con la interfaz entre ellas verificable (como confirmaciones de código fuente).

Los empleados de recepción no tienen privilegios administrativos, nunca. Cuando implementamos Solitario en todas estas máquinas, las quejas sobre esta política prácticamente cesaron.

Simon Richter
fuente
Buen consejo. Unos pocos pases (aplicaciones de juegos), y tal vez un espacio social de toda la empresa (wiki, chat, foro, votos) que esté abierto durante 1-2 horas al día.
tgkprog