¿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?
sudo apt-get
, entonces es mejor poner un buen firewall fuera del sistema.Respuestas:
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.
fuente
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).
En su instalación personalizada, puede modificar el
/etc/sudoers
archivo para que sus usuarios puedan ejecutarsudo apt update
ysudo apt install
no comience ningún otro comandoapt
. Por supuesto, también tiene que restringirsudo bash
(o cualquier otro shell).fuente
/etc/apt/sources.list
en todos los 10'000 clientes o simplemente modificar este archivo en algunos cachés aptos?sudo apt update
informa un conflicto de archivoEn 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.
fuente