En mayo de 2009 escribí sobre la seguridad de telnetd para que sólo el proceso de RSN tenga la capacidad de utilizarlo (Telnet no puede vivir con él, no puede vivir sin él). En ese momento estaba pensando en la red de servicio remoto, pero recientemente me recordaron otra razón muy importante para ejecutar el proceso de telnetd - las impresoras remotas.
El sitio en cuestión no permite el acceso al sistema a ninguna persona externa (la empresa) y estaba utilizando SSH para todos los accesos interactivos, por lo que se sentía seguro al no ejecutar el proceso de telnetd. Tenían todo correctamente configurado pero cuando entraron en el spooler informaron que la impresora estaba fuera de línea y no pudieron ver ningún intento del sistema de establecer una conexión TCP con la impresora.
El dispositivo de impresión fue configurado con la cadena de parámetros "-access_layer tli_al -ip A.B.C.D,P -tcp_only ". El "-access_layer tli_al" le dice al sistema que para acceder al dispositivo necesita la capa TLI, esto es básicamente el proceso telnetd. El "-ip A.B.C.D,P" es la dirección IP de la impresora y el número de puerto para conectarse. Fue el "-tcp_only" el que llevó al SysAdmin a creer que telnetd no iba a ser utilizado, ya que era "tcp only". La cadena en realidad sólo le dice a telnetd que no envíe ninguna opción de telnet después de que se establezca la conexión.
Así que si tienes que ejecutar telnetd para hacer conexiones con impresoras remotas, ¿cómo puedes asegurarte de que tampoco acepte conexiones? La forma más simple es tener un archivo vacío de telnetservice, necesitas que el archivo exista para que telnetd se inicie pero no tiene que especificar que telnetd escuchará en ningún puerto.