# [SEGURIDAD]Privilegios en determinados comandos(Solucionado)

## alejandrosaez

Hola a todos  :Smile: 

Es una duda que me corroe desde hace un par de meses cuando por casualidad me dio por probar.

En la universidad donde estudio tenemos varios servidores y dos de ellos con GNU/Linux, dos Debian para ser más exactos (muy obsoletas por cierto   :Embarassed:  )

Un día me dio por probar a ejecutar el comando ifconfig (no tengo privilegios de administración, soy un usuario más) y como es lógico no pude. Pero cuando ejecuto /sbin/ifconfig directamente si que puedo. Y así con casi todos los comandos de /sbin (algunos como /sbin/fdisk -l no retornan nada aunque se ejecuten). También puedo hacer cat a varios ficheros que desde mi punto de vista no deberían ser visibles para los usuarios como fstab, sources.list, mtab o ssh_config)

Mi sorpresa es que también en mi Gentoo de casa estos comandos y directorios son accesibles para usuarios normales.

Mi pregunta es... ¿Esto no es poco seguro? Quiero decir, yo como usuario normal no tengo por que tener esa información. Vale que no pueda modificar cosas, pero es información que podría ser usada en contra del servidor.

¿Se podría solucionar esto? Pensándolo detenidamente no se me ocurre una solución sencilla ya que habrá comandos en /sbin que si que tenga necesidad de ejecutar como usuario normal y hay determinados ficheros a los que si tengo que acceder.

Gracias y perdón por la pregunta tan difusa.

Saludos desde Asturias  :Smile: 

----------

## esteban_conde

¡¡Hombre! es que teniendo acceso fisico a la máquina con cuatro líneas de código te puedes transformar en administrador, se entiende que quien tiene acceso al teclado y al boton de encendido y apagado es una persona de confianza.

Si arrancar con un liveCD montarla y editar el archivo /etc/group y algun otro es juego de niños.

----------

## alejandrosaez

 *esteban_conde wrote:*   

> ¡¡Hombre! es que teniendo acceso fisico a la máquina con cuatro líneas de código te puedes transformar en administrador, se entiende que quien tiene acceso al teclado y al boton de encendido y apagado es una persona de confianza.
> 
> Si arrancar con un liveCD montarla y editar el archivo /etc/group y algun otro es juego de niños.

 

Bueno... pero es que NADIE tiene acceso a esos ordenadores   :Razz:  . Solo tenemos acceso remoto. Y la cosa no es escalar privilegios (eso lo dejare para cuando me marche de la uni   :Wink:  ) la cosa es simplemente ver si hay alguna manera de reducir los datos que los posibles usuarios tengan.

----------

## quilosaq

En este enlace http://www.gentoo.org/proj/en/hardened/index.xml puedes encontrar (en inglés) proyectos para mejorar la seguridad de linux (Gentoo).

Con relación a los ejemplos que has puesto creo que el que tengas la posibilidad de ejecutar ciertos comandos "administrativos" no quiere decir que vayan a producir los mismos efectos que si los ejecutara "root" porque, normalmente, la ejecución de esos comando supone modificar archivos de configuración que, esos si, sólo pueden ser modificados por "root".

----------

## alejandrosaez

 *quilosaq wrote:*   

> En este enlace http://www.gentoo.org/proj/en/hardened/index.xml puedes encontrar (en inglés) proyectos para mejorar la seguridad de linux (Gentoo).
> 
> Con relación a los ejemplos que has puesto creo que el que tengas la posibilidad de ejecutar ciertos comandos "administrativos" no quiere decir que vayan a producir los mismos efectos que si los ejecutara "root" porque, normalmente, la ejecución de esos comando supone modificar archivos de configuración que, esos si, sólo pueden ser modificados por "root".

 

Lo se, (y ya leí la documentación   :Razz:  como siempre de 10), de hecho como ya comento fdisk -l no produce salida y otros fallan. Evidentemente no es un fallo en el sentido estricto de la palabra: no ofrezco comandos con privilegios a quien no los tiene que tener. Pero si ofrezco cierta información que al menos yo (puede que sea un paranoico   :Embarassed:  ) considero sensible.

----------

## i92guboj

 *alejandrosaez wrote:*   

> 
> 
> Un día me dio por probar a ejecutar el comando ifconfig (no tengo privilegios de administración, soy un usuario más) y como es lógico no pude. Pero cuando ejecuto /sbin/ifconfig directamente si que puedo. Y así con casi todos los comandos de /sbin (algunos como /sbin/fdisk -l no retornan nada aunque se ejecuten). También puedo hacer cat a varios ficheros que desde mi punto de vista no deberían ser visibles para los usuarios como fstab, sources.list, mtab o ssh_config)

 

En algunos casos puede ser posible eliminar los privilegios de lectura en dichos archivos. En otros la cosa no es tan simple. Muchos programas de usuario usan fstab/mtab para leer información acerca de las unidades de almacenamiento disponibles, incluyendo por ejemplo a df sin ir más lejos. Un usuario normal probablemente no vaya a ejecutar df en un servidor de tu universidad, pero es solo un ejemplo. Cualquier programa de usuario que necesite recompilar información sobre un punto de montaje fallaría, y esa es una operación bastante frecuente.

Lo mismo pasa con ssh_config. Si el usuario no tiene su propio ~/.ssh/config entonces el cliente ssh toma la configuración de /etc/ssh/ssh_config, lo cual sería imposible si no puede acceder al menos en modo lectura a dicho archivo.

En seguridad siempre es igual. Todo depende del nivel de seguridad deseado. Siempre va a haber un compromiso entre el nivel de paranoia extremo y la usabilidad del sistema. Conforma aumentan las restricciones disminuye la funcionalidad.

----------

## alejandrosaez

 *i92guboj wrote:*   

>  *alejandrosaez wrote:*   
> 
> Un día me dio por probar a ejecutar el comando ifconfig (no tengo privilegios de administración, soy un usuario más) y como es lógico no pude. Pero cuando ejecuto /sbin/ifconfig directamente si que puedo. Y así con casi todos los comandos de /sbin (algunos como /sbin/fdisk -l no retornan nada aunque se ejecuten). También puedo hacer cat a varios ficheros que desde mi punto de vista no deberían ser visibles para los usuarios como fstab, sources.list, mtab o ssh_config) 
> 
> En algunos casos puede ser posible eliminar los privilegios de lectura en dichos archivos. En otros la cosa no es tan simple. Muchos programas de usuario usan fstab/mtab para leer información acerca de las unidades de almacenamiento disponibles, incluyendo por ejemplo a df sin ir más lejos. Un usuario normal probablemente no vaya a ejecutar df en un servidor de tu universidad, pero es solo un ejemplo. Cualquier programa de usuario que necesite recompilar información sobre un punto de montaje fallaría, y esa es una operación bastante frecuente.
> ...

 

Tenía en mente eso, que algunas cosas si que fueran usadas. Quizás sea muy paranoico pero no me fió de una universidad de informáticos, principalmente por que yo ya he estado hurgando   :Embarassed: 

Sería bastante tedioso ir archivo a archivo confirmando si los privilegios que tiene son los correctos y si se podrían endurecer sin afectar al usuario. Pero si mal no recuerdo había un script que te miraba esto...

El ejemplo que pones de df es el primero que pensé, pero ¿es necesaria esa información para él? Yo creo que no. Y me sorprende que pueda usar dmesg.

Otra cosa que si que me ha dejado fascinado y ya no es por mi nivel de paranoia extremo   :Smile:  es que muchos logs tienen permisos mal puestos. Sin ir más lejos, un par de horas más tarde después de abrir el log, copie un gzip con logs de syslog guardados a mi home y los pude leer sin más. Pero eso ya es problema de la administración.

Muchas gracias por las respuestas.   :Very Happy: 

----------

## the incredible hurd

Hace años, alguien informó en debian que poder leer /etc/fstab era un grave riesgo de seguridad. Lo cual produjo más de una sonrisa y/o carcajada (por ejemplo la mía) al leer el bug-report (que ya ni tan siquiera logro encontrar).

Monta /sbin y /usr/sbin en una partición con permisos únicamente para root. Es trivial, man fstab informa de ello, con modo 700 si quieres tener la más ferrea de las seguridades posibles. Y espero que no se te ocurra hacerlo con una partición FAT o VFAT, porque no soportan permisos   :Laughing: 

EDITO: Más que man fstab, man mount

----------

## esteban_conde

En /etc/profile puedes cambiar la variable umask para hacerla más restrictiva, bueno, eso aparte de algunas cosas que ya te han dicho.

----------

## alejandrosaez

Muchas gracias por responder. Revisando /sbin y /usr/sbin me he dado cuenta de que realmente puedo hacer lo que comentáis, separarla en una partición con permisos de root.

Por curiosidad, por que se considero poco importante que pudiera ver fstab?

Y lo de umask, gracias por recordarmelo. Siempre me digo tengo que cambiar el umask y nunca lo hago xD

----------

## i92guboj

 *alejandrosaez wrote:*   

> 
> 
> Sería bastante tedioso ir archivo a archivo confirmando si los privilegios que tiene son los correctos y si se podrían endurecer sin afectar al usuario. Pero si mal no recuerdo había un script que te miraba esto...

 

Bastille, probablemente. No tengo experiencia con él.

 *Quote:*   

> El ejemplo que pones de df es el primero que pensé, pero ¿es necesaria esa información para él? Yo creo que no.

 

Te equivocas.

```
$ su -c 'chmod 600 /etc/mtab'

Contraseña: 

$ pydf

Traceback (most recent call last):

  File "/usr/bin/pydf", line 634, in <module>

    mountpoints = get_all_mountpoints()

  File "/usr/bin/pydf", line 291, in get_all_mountpoints

    f = open(i,"r")

IOError: [Errno 13] Permission denied: '/etc/mtab'

$ df

df: cannot read table of mounted file systems: Permiso denegado

```

----------

## alejandrosaez

 *i92guboj wrote:*   

>  *alejandrosaez wrote:*   
> 
> Sería bastante tedioso ir archivo a archivo confirmando si los privilegios que tiene son los correctos y si se podrían endurecer sin afectar al usuario. Pero si mal no recuerdo había un script que te miraba esto... 
> 
> Bastille, probablemente. No tengo experiencia con él.
> ...

 

Perdón, no me expresé bien, me refería que si era necesaria para el usuario la información de df xD no para df la información de mtab.

Muchas gracias, mirare bastille para mis equipos, lo de las particiones como root y lo de umask. Y a la universidad que les informe otro que la ultima vez que dije algo de la seguridad de la red me dijeron que que hacia toqueteando por ahí.   :Evil or Very Mad: 

Muchas gracias por la información. Pongo solucionado pero si alguien más tiene sugerencias estaré encantado de leerlas  :Smile: 

----------

## i92guboj

 *alejandrosaez wrote:*   

> Perdón, no me expresé bien, me refería que si era necesaria para el usuario la información de df xD no para df la información de mtab.

 

O yo no te entendí bien  :Wink: 

 *Quote:*   

> Muchas gracias, mirare bastille para mis equipos, lo de las particiones como root y lo de umask. Y a la universidad que les informe otro que la ultima vez que dije algo de la seguridad de la red me dijeron que que hacia toqueteando por ahí.   

 

Cuando un administrador de sistemas te dice eso da mucho que pensar sobre su propia confianza en sus habilidades.  :Laughing:  Cuando un sistema está protegido da igual donde toquetees, porque hagas lo que hagas se supone que si lo puedes hacer es porque no es nada importante, y si lo es, entonces no deberías poder. A fin de cuentas ese es el trabajo de administradores y "expertos" en seguridad, digo yo.

----------

## alejandrosaez

 *i92guboj wrote:*   

>  *alejandrosaez wrote:*   Perdón, no me expresé bien, me refería que si era necesaria para el usuario la información de df xD no para df la información de mtab. 
> 
> O yo no te entendí bien 
> 
>  *Quote:*   Muchas gracias, mirare bastille para mis equipos, lo de las particiones como root y lo de umask. Y a la universidad que les informe otro que la ultima vez que dije algo de la seguridad de la red me dijeron que que hacia toqueteando por ahí.    
> ...

 

Eso me dijeron mis compañeros pero el que llevaba la infraestructura (que no es ningún administrador pero es el jefe de ellos) me dijo que no toqueteara que no tenían planeado proteger la red, que no estaban para eso  :Question:   :Shocked:   :Question:  . Parece ser que no es importante la seguridad en una universidad de ingenieros informáticos...

----------

## tahawk

 *Quote:*   

> Muchas gracias, mirare bastille para mis equipos, lo de las particiones como root y lo de umask. Y a la universidad que les informe otro que la ultima vez que dije algo de la seguridad de la red me dijeron que que hacia toqueteando por ahí.  
> 
> 

 

Siempre te queda la opción de enviar un mail anónimo!

----------

## alejandrosaez

 *tahawk wrote:*   

>  *Quote:*   Muchas gracias, mirare bastille para mis equipos, lo de las particiones como root y lo de umask. Y a la universidad que les informe otro que la ultima vez que dije algo de la seguridad de la red me dijeron que que hacia toqueteando por ahí.  
> 
>  
> 
> Siempre te queda la opción de enviar un mail anónimo!

 

jajaja, no creo que les parezca bien recibir mails de gente diciendoles lo mal que lo hacen xD

----------

