Típicamente el servicio finger (puerto 79, TCP) ha sido una de
las principales fuentes de problemas de Unix. Este protocolo proporciona
información - demasiado detallada - de los usuarios de una máquina,
estén o no conectados en el momento de acceder al servicio; para hacerlo, se
utiliza la aplicación finger desde un cliente, dándole como argumento
un nombre de máquina precedido del símbolo `@' y, opcionalmente,
de un nombre de usuario (finger sobre el sistema local no utiliza el
servicio de red, por lo que no lo vamos a comentar aquí). En el primer
caso, finger nos dará datos generales de los usuarios conectados en
ese momento a la máquina, y en el segundo nos informará con más detalle
del usuario especificado como parámetro, esté o no conectado:
anita:~# finger @rosita
[rosita]
Login Name Tty Idle Login Time Office Office Phone
toni Toni at ROSITA */0 28 Apr 20 04:43 (anita)
root El Spiritu Santo 1 12 Apr 11 02:10
anita:~# finger toni@rosita
[rosita]
Login: toni Name: Toni at ROSITA
Directory: /home/toni Shell: /bin/bash
On since Thu Apr 20 04:43 (CEST) on pts/0 from anita
30 minutes 28 seconds idle
(messages off)
No mail.
No Plan.
anita:~#
Como podemos ver, finger está proporcionando mucha información que
podría ser de utilidad para un atacante: nombres de usuario, hábitos de
conexión, cuentas inactivas...incluso algunas organizaciones rellenan
exhaustivamente el campo gecos del fichero de contraseñas, con datos
como números de habitación de los usuarios o incluso su teléfono. Está
claro que esto es fácilmente aprovechable por un pirata para practicar
ingeniería social contra nuestros usuarios - o contra el propio
administrador -. Es básico para la integridad de nuestras máquinas
deshabilitar este servicio, restringir su acceso a unos cuantos equipos
de la red local mediante TCP Wrappers o utilizar versiones del demonio
fingerd como ph (Phone Book), que permiten especificar la
información que se muestra al acceder al servicio desde cada máquina.
© 2002 Antonio Villalón Huerta