¿Cómo personalizo / procuro los permisos?

4

De modo que:

  • Solo los propietarios de procesos y la raíz pueden acceder a la información sobre sus procesos,
  • O, al menos, los permisos de cmdline solo se pueden leer por root, y
  • Mi sistema (CentOS 6.x) todavía se ejecuta

¿Por qué me importa?

Estaba hablando con unos pocos desarrolladores a los que considero personas con conocimientos, y solo uno de los tres sabía que, de manera predeterminada, los argumentos de la línea de comandos para ejecutar programas son legibles para todo el mundo.

Por cierto, el tema surgió porque me estaba burlando de uno de ellos (mi hermano) por pasar una contraseña a través de la línea de comandos y él no la obtuvo, y ahora estoy preocupado por idiots es decir, pero los desarrolladores mal orientados podrían haber escrito programas que realmente uso, y algunos de los OSS que estoy ejecutando en mi caja pueden pasar estúpidamente y sin permiso a través de la línea de comandos a través de la línea de comandos.

Crédito extra

Si pudiera proporcionar soluciones para otros sabores * nix que no usan / proc pero sí permiten listas de línea de comandos (por ejemplo, FreeBSD), eso sería muy apreciado.

    
pregunta Parthian Shot 09.07.2014 - 20:33
fuente

1 respuesta

3

En el kernel de Linux 3.3, esto se hace con las opciones de montaje hidepid= y gid= para /proc (que se agregará en /etc/fstab ). Consulte esta respuesta . Posiblemente, algunas distribuciones que usan núcleos más antiguos pueden haber implementado el parche en la parte posterior.

En FreeBSD hay un indicador sysctl para eso, llamado security.bsd.see_other_uids . Consulte esta documentación (busque "see_other_uids").

No estoy seguro de que otros sistemas similares a Unix tengan características similares. Aparentemente, en 2011, no había nada de eso en OpenBSD (eso es lo que deduzco de esa discusión ).

Uno puede decir que tales cosas solo importan si permite que personas hostiles ejecuten su código en su máquina, que es el concepto tradicional de "mainframe de Unix", pero cada vez más irrelevante en la actualidad. En 2014, cuando las personas que no confían entre sí comparten el mismo hardware, ejecutan máquinas virtuales que no se ven entre sí.

    
respondido por el Thomas Pornin 09.07.2014 - 21:08
fuente

Lea otras preguntas en las etiquetas