LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Al ejecutar un sistema multiusuario. La mayoría de los usuarios acceden a los recursos mediante el cliente SSH. ¿Cómo puedo detener la filtración de información del proceso a todos los usuarios en los sistemas operativos Linux? ¿Cómo puedo evitar que los usuarios vean procesos que no les pertenecen en un servidor Linux Debian / Ubuntu / RHEL / CentOS? ¿Hay alguna forma de ocultar el proceso de otros usuarios al ejecutar el comando ps?

Si está utilizando la versión 3.2+ del kernel de Linux (o RHEL / CentOS v6.5+ o superior), puede ocultar el proceso a otros usuarios. Solo el root puede ver todos los procesos y el usuario solo puede ver su propio proceso. Todo lo que tiene que hacer es volver a montar el sistema de archivos /proc con la opción "hidepid"  de refuerzo del kernel de Linux . Esto oculta el proceso de todos los demás comandos como ps, top, htop, pgrep y demás.

Detalles del tutorial
Nivel de dificultad Fácil
Privilegios de root
Requisitos Kernel de Linux v3.2 +
Est. tiempo de leer 3 minutos
 

Linux oculta los procesos de otros usuarios usando la opción hidepid

Esta opción define cuánta información sobre los procesos queremos que esté disponible para los no propietarios. Los valores son los siguientes:

  1. hidepid=0 - El comportamiento anterior: cualquiera puede leer todos los archivos /proc / PID /  todos los ficheros, todo el mundo (predeterminado).
  2. hidepid=1 - Significa que los usuarios no pueden acceder a ningún directorio /proc/<pid>, sino a los suyos. Los archivos confidenciales como cmdline, sched *, status ahora están protegidos contra otros usuarios.
  3. hidepid=2 - Significa que "hidepid=1" más todos los "/proc/ PID/" serán invisibles para otros usuarios. Complica la tarea del intruso de recopilar información sobre los procesos en ejecución, si algún demonio se ejecuta con privilegios elevados, si otro usuario ejecuta algún programa sensible, si otros usuarios ejecutan algún programa, etc.

Obtenga la lista de procesos actuales en Linux

Correr:

top
htop
ps aux

 

El comando ps que muestra el proceso del usuario root y estoy conectado como un usuario regular

Protección del kernel de Linux: ocultar procesos a otros usuarios

Escriba el siguiente comando de montaje:

# mount -o remount,rw,nosuid,nodev,noexec,relatime,hidepid=2 /proc

Edite /etc/fstabcon un editor de texto como el comando nano / comando vim, ingrese:

# vi /etc/fstab

Actualizar / agregar / modificar la entrada del proceso de la siguiente manera para que la protección se habilite automáticamente en el momento del arranque del servidor:

## adjunta la siguiente línea ##
proc    /proc    proc    defaults,nosuid,nodev,noexec,relatime,hidepid=2     0     0
Guarde y cierre el archivo. 
Donde las opciones de montaje de seguridad son las siguientes:
  • nosuid: No permite que los bits set-user-ID o set-group-ID tengan efecto.
  • nodev: No interpreta caracteres ni bloquea dispositivos especiales en el sistema de archivos.
  • noexec: No permite la ejecución directa de ningún binario en el sistema de archivos montado.
  • hidepid: La opción define cuánta información sobre los procesos se oculta.

Demostración de Linux: evite que los usuarios vean procesos que no les pertenecen

En este ejemplo, inicié sesión en su equipo: Ejemplos de salidas:

$ ssh usuario@tuequipo
$ ps -ef
$ sudo -s
# mount -o remount,rw,hidepid=2 /proc
$ ps -ef
$ top
$ htop
 

Consejo: lidiar con aplicaciones que se rompen al implementar esta técnica

Necesitas usar la opción: gid=VALUE_HERE

gid = XXX define un grupo que podrá recopilar la información de todos los procesos (como en el modo hidepid=0). Este grupo debe usarse en lugar de poner un usuario que no sea root en el archivo sudoers o algo así. Sin embargo, los usuarios que no son de confianza (como demonios, etc.) que no deben monitorear las tareas en todo el sistema no deben agregarse al grupo.

Por lo tanto, agregue un usuario llamado monapp al grupo (por ejemplo, administrador) que desea ver la información del proceso y monte /proc de la siguiente manera en /etc/fstab:

proc /proc proc defaults,hidepid=2,gid=admin 0 0 
Conclusión

Ahora sabe cómo ocultar los procesos de Linux a otros usuarios y comandos como ps, top, htop y otros. Para obtener más información, consulte las siguientes URL:

  • procfs: add hidepid= and gid= mount options

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías