# [Seguridad] Administracion procesos usuarios.

## koyo

Saldos foro.

Me ha surgido el siguiente problema. Soy administrador de un conjunto de servidores (Todos bajo Gentoo). Tengo la necesidad de ocultar los procesos que a los usuarios de mi sistemas, es decir si ejecutan top que solo puedan ver los comandos que esta ejecutando el usuario y/o el grupo al cual pertenece. Que no pueda observar los programas que esta ejecutando el root.

Es esto posible?

Muchas gracias a todos por su colaboración.

----------

## inconexo

Desde mi ignorancia, creo que es muy complicado ocultar procesos, salvo aplicando algun tipo de modulo en el kernel; pero hablo de oidas, tampoco me hagas mucho caso. En cualquier caso, revisa la documentacion de PAM http://www.kernel.org/pub/linux/libs/pam/ y del paquete sys-libs/pam

Un saludo!

----------

## koyo

Beeno el asunto es que cuando mis suarios ejecuten el comando top, solo puedan ver sus procesos. Le dare una mirada al documento.

----------

## Magnum44

Lo que también puedes hacer es modificar el comando top a tus anchas, esto es, create tu propio top que sólo muestre los procesos del usuario "pepito" y creales un alias a los usuarios o bien eliminales su top.

Esto viene el en manual de top:  *Quote:*   

> Ficheros de Configuración
> 
>        top lee su configuración predeterminada de dos ficheros, /etc/toprc y ~/.toprc.  El fichero de configuración global se  puede  emplear
> 
>        para restringir el uso de top al modo seguro para usuarios no privilegiados.

 

Busca por ahi, creo que esta solución es más viable que modificar el kernel. Suerte!

----------

## inconexo

En el caso del top si que es solucion. Pero como hacerlo desde un "ps aux"? Tema interesante...

Un saludo!

----------

## Magnum44

Pues más fácil aún...

```
ps aux|grep usuario
```

Creas un alias en plan:

alias ps aux='ps aux|grep usuario'

y ya está. no?

----------

## Inodoro_Pereyra

 *Magnum44 wrote:*   

> Creas un alias en plan: 
> 
> alias ps aux='ps aux|grep usuario' 
> 
> y ya está. no?

 

Exelente! A problemas complicados, soluciones simples...

No se me hubiera ocurrido nunca.

Salud!

----------

## i92guboj

Esto:

 *Magnum44 wrote:*   

> Lo que también puedes hacer es modificar el comando top a tus anchas, esto es, create tu propio top que sólo muestre los procesos del usuario "pepito" y creales un alias a los usuarios o bien eliminales su top.
> 
> 

 

Es incompatible con esto:

 *Quote:*   

> 
> 
> Esto viene el en manual de top:  *Quote:*   Ficheros de Configuración
> 
>        top lee su configuración predeterminada de dos ficheros, /etc/toprc y ~/.toprc.  El fichero de configuración global se  puede  emplear
> ...

 

En definitiva, si tú puedes hackear el código de top para que solo muestre los procesos del usuario actual e ignore los demás, también el usuario puede compilar en su home cualquier otro binario de top, htop, o cualquier otra herramienta similar, y ver lo que estás haciendo. Si no se les permite compilar, siempre podrán bajarse un binario de internet. En cualquier caso, todos los procesos son visibles en /proc, dentro verás muchos dirs que solo tienen números en su nombre, esos números son PIDs de procesos, y dentro hay ficheros con toda la info de todos los procesos. Y no hay forma de que puedas ocultar eso. Simplemente, porque hay procesos que no son del usuario, pero que el usuario necesita usar, como los que servicios que se cargan al inicio, el login, etc, etc. Por tanto, el usuario necesita permiso de acceso, lectura, y a veces escritura, a estos procesos.

Lo que planteas, es imposible de hacer, a no ser, a nivel del kernel. E incluso así, no es algo trivial de implementar, y requeriría algo más que un simple parcheo del kernel.

La única solución que se le acerca es esta: modifica el fuente de tu top, htop y todos los programas que haya en tu sistema que puedan ver dicha info. Luego, monta /home en una partición noexec (espero que entiendas las implicaciones que esto tiene, tus usuarios no podrán usar ni un simple script en su home...). En cuanto al acceso a /proc... no tengo ni puñetera idea de si es posible ocultarlo de alguna forma. Pero me inclino a pensar que no.

 *Inodoro_Pereyra wrote:*   

>  *Magnum44 wrote:*   Creas un alias en plan: 
> 
> alias ps aux='ps aux|grep usuario' 
> 
> y ya está. no? 
> ...

 

Eso funcionaría de no ser porque un usuario puede pisar un alias simplemente redefiniéndolo, o incluso borrándolo con "unalias". Además, en línea de comandos te puedes saltar un alias simplemente anteponiendo un '\' al comando. Es decir, si hacer '\ls' se ejecuta un ls "vanilla", saltándose el alias que haya definido, tanto por el usuario como por root.

----------

## Zagloj

Yo la opción que veo, desde mis modestos conocimientos, es usando un rootkit, pero no creo conveniente tratar esos temas en este foro, hay muchos sitios a tiro de webcrawler u otros buscadores donde encontrar esa información.

----------

## antogc

yo crearía un interfaz sobre el comando top según mis intenciones y que muestre lo que quiero que vean esos usuarios...pienso simplemente un parseo de la salida de top...

----------

## gringo

estoy casi convencido de que grsec o rsbac saben hacer eso. 

saluetes

----------

## Ferdy

 *Quote:*   

> estoy casi convencido de que grsec o rsbac saben hacer eso.

 

Al menos grsec lo hace, si.

- ferdy

----------

