• Suscríbete al Feed Espacio Linux
  • Suscríbete al Feed por Email
  • Sigue a Espacio Linux en Identi.ca
  • Espacio Linux también en Facebook
  • Sigue a Espacio Linux en Twitter
  • Sigue a Espacio Linux en Google +
          Iniciar sesión | Registrarse

Eliminar cuentas innecesarias

Es habitual que recién instalamos nuestra distribución nos cree muchas cuentas de usuario en /etc/passwd, incluso pasa muchas veces al instalar programas, pues bien, esta práctica es muchas veces insegura ya que podemos tener cuentas que sean un peligro potencial para comprometer nuestro sistema.

En este artículo aprenderemos cuales de esas cuentas son necesarias y cuales podemos eliminar, de manera que fortaleceremos un poco más nuestro sistema y así se lo pondremos un poco más difícil a los atacantes. Recordemos la máxima de que la seguridad al 100 % es imposible, pero cada capa de seguridad nos ofrece una mayor protección.

Este articulo ha sido probado en un sistema operativo Fedora Core 5 sobre una VMWare ejecutándose en Linux, si tu distribución de Linux es otra no te preocupes porque con toda probabilidad funcionara en tu máquina perfectamente. Ni que decir tiene que toda la manipulación de archivos y comandos debe hacerse con privilegios de root.

Lo primero que debemos hacer es identificar las cuentas que tenemos creadas, para ello ejecutamos en consola “cat /etc/passwd” mi salida es la siguiente:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

news:x:9:13:news:/etc/news:

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

operator:x:11:0:operator:/root:/sbin/nologin

games:x:12:100:games:/usr/games:/sbin/nologin

gopher:x:13:30:gopher:/var/gopher:/sbin/nologin

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

nobody:x:99:99:Nobody:/:/sbin/nologin

dbus:x:81:81:System message bus:/:/sbin/nologin

rpm:x:37:37::/var/lib/rpm:/sbin/nologin

apache:x:48:48:Apache:/var/www:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

nscd:x:28:28:NSCD Daemon:/:/sbin/nologin

vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin

netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash

pcap:x:77:77::/var/arpwatch:/sbin/nologin

avahi:x:70:70:Avahi daemon:/:/sbin/nologin

named:x:25:25:Named:/var/named:/sbin/nologin

mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin

smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin

haldaemon:x:68:68:HAL daemon:/:/sbin/nologin

rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin

xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin

hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin

rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

beagleindex:x:58:58:User for Beagle indexing:/var/cache/beagle:/bin/false

gdm:x:42:42::/var/gdm:/sbin/nologin

danonino:x:500:500:danonino:/home/danonino:/bin/bash

Como podemos comprobar hay muchísimas cuentas. Si el último campo de cada linea es igual a /sbin/nologin o a /bin/false quiere decir que ese usuario no puede identificarse en la maquina, con lo cual en principio no supone un peligro. Echando un vistazo vemos los usuarios que si tienen una shell son root, netdump y danonino. Estudiaremos el caso del usuario netdump ya que danonino es mi usuario no privilegiado.

Para comprobar qué esta haciendo la cuenta netdump podemos tratar de ver los directorios y ficheros que tiene como usuario, para ello tecleamos en consola “find / -user netdump -print” que nos da como salida:

/var/crash
/var/crash/scripts

Estos ficheros son propiedad de netdump, examinemoslos en detalle( “ls -lua /usr/crash” ):

drwxr-xr-x 3 netdump netdump 4096 abr 27 12:19 .

drwxr-xr-x 22 root root 4096 abr 27 12:19 ..

drwxr-xr-x 2 netdump netdump 4096 abr 27 12:17 scripts

Solo tiene el directorio scripts que examinaremos a continuación( “ls -lua /usr/var/crash/scripts” ):

drwxr-xr-x 2 netdump netdump 4096 abr 27 12:20 .

drwxr-xr-x 3 netdump netdump 4096 abr 27 12:20 ..

Vemos que no hay nada escrito, adicionalmente deberíamos informarnos de qué es este usuario, en mi caso netdump es un cliente de servicios del kernel que no necesito ahora, por lo cual deberíamos cambiar la linea en el /etc/passwd y ponerle al final un /sbin/nologin o borrarla( también en /etc/shadow ), borrando también el grupo en /etc/group asegurándonos antes de que ningún otro usuario pertenece a ese grupo y desinstalar el paquete ya que todo lo que no nos hace falta sobra en nuestro sistema.

NOTA: También debemos fijarnos en el cuarto y quinto campo del /etc/passwd, el único usuario que debe tener los dos valores igual a cero es root, ya que si otro usuario los tiene dicho usuario posee los mismos privilegios que root. Ciertos usuarios tendrán un cero pero solo en el quinto campo, es el caso de cuantas del sistema como shutdown.

Licencia del documento
Derechos de Autor © 2006 por Daniel Medianero García.
Este documento esta liberado bajo la licencia creative commons.

Si tenéis alguna duda o queréis contactar conmigo podéis hacerlo por correo electrónico a meleslack@gmail.com, en mi página web http://www.meleagro.esp.cc o en los foros de http://www.espaciolinux.com, allí soy Meleagro.


Temas:
Documentación, Seguridad


Etiquetas:
, ,

Feed Espacio LinuxSi este artículo ha sido de tu interés, considera hacer un comentario o suscribirte al feed para que te enteres de nuevos artículos a través de tu lector de noticias o email.

Acerca del autor

Publica un comentario

Puedes usar estas etiquetas XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <em> <strong>