Hacks para Unix-like: eliminar servicios innecesarios

Por qué eliminar servicios

editar

Existen varias razones por las cuales podemos querer eliminar los servicios que nuestro sistema o usuarios no vayan a utilizar. Las más importantes son el rendimiento y la seguridad. Todo servicio que se ejecute en nuestro sistema requerirá la asignación de recursos del mismo, por lo que hará menos eficiente a éste. Hemos de asumir que el software por definición es imperfecto y como tal puede contener bugs y problemas de seguridad por lo tanto cuantos más servicios estén ejecutándose en el sistema mayores son las probabilidades de un potencial problema de seguridad.

Como eliminar servicios de la configuración del sistema

editar

Cada sistema operativo o distribución corre una serie de servicios por defecto dependiendo del público al que vaya destinado. Para saber qué servicios se están ejecutando en nuestra máquina podemos usar el siguiente comando "ps ax"

Para configurar los servicios que queremos que se inicialicen junto al sistema debemos conocer el runlevel en que hemos inicializado. Para ello debemos consultar el archivo /etc/inittab y buscar la línea id:X:initdefault, que nos indicará cual es el nivel inicial del sistema (donde x es un número entero, ver a continuación); para saber el "runlevel" actual se utiliza el comando "runlevel". Existen diferentes niveles en los que puede estar ejecutándose un sistema:

Indicador de nivel Significado
0 halt (NO inicializar con este valor)
1 Single user mode
2 Multiuser, without NFS
3 Full multiuser mode
4 unused
5 X11
6 reboot (NO inicializar con este valor)

Una vez que sabemos en que nivel está corriendo el sistema podemos dirigirnos al archivo de configuración de ese nivel (que es el que se ejecuta al inicializar nuestro sistema y modificarlo). El archivo que buscamos se encuentra en "/etc/rc.d" y debe llamarse "rcx.d"

Ejemplo de servicios

editar

  • Apmd: comprueba la batería y cuando esté baja apaga correctamente el sistema.
  • Autofs: monta automáticamente sistemas de ficheros bajo demanda.
  • Crond: ejecuta tareas esenciales para el sistema cada cierto tiempo.
  • Cups: el sistema de impresión.
  • Gpm: para usar el ratón en la consola.
  • Httpd: inicia el servidor web Apache.
  • Inetd: daemon de los servicios de Internet.
  • Iptables: firewall.
  • Iplog: hace logs de conexiones TCP, UDP Y ICMP.
  • Keytable: carga los códigos de teclado de nuestro idioma.
  • lpd: servicio de impresión
  • named: Servicio de nombres
  • Mon: monitorización remota del sistema.
  • Network:
  • Nfs, nfslock, portmap, rpc.mountd, rpc.nfsd: servicio nfs
  • Proftpd: servidor FTP
  • rlogin: login remoto
  • Smb y nmbd: Samba.
  • Sshd: si usas SSH para realizar conexiones seguras.
  • Syslog: gestor de logs
  • telnet: servicio de telnet
  • Xfs: servidor de fuentes de Xwindow
  • Xinetd: daemon de los servicios de Internet.