Nel maggio del 2009 ho scritto a proposito della sicurezza di telnetd in modo che solo il processo RSN abbia la possibilità di utilizzarlo (Telnet non può vivere con esso, non può vivere senza di esso). All'epoca stavo pensando alla rete di assistenza remota, ma recentemente mi è stato ricordato un altro motivo molto importante per eseguire il processo telnetd: le stampanti remote.
Il sito in questione non consente alcun accesso esterno (l'azienda) al sistema e utilizzava SSH per tutti gli accessi interattivi, quindi si sentiva sicuro nel non eseguire il processo telnetd. Avevano tutto correttamente configurato, ma quando si sono collegati allo spooler, hanno segnalato che la stampante era off line e non hanno potuto vedere alcun tentativo da parte del sistema di impostare una connessione TCP con la stampante.
Il dispositivo di stampa è stato configurato con la stringa di parametro "-access_layer tli_al -ip A.B.C.D,P -tcp_only ". Il "-access_layer tli_al" dice al sistema che per accedere al dispositivo ha bisogno dello strato TLI, questo è fondamentalmente il processo telnetd. Il "-ip A.B.C.D.D,P" è l'indirizzo IP della stampante e il numero di porta a cui connettersi. E' stato il "-tcp_only" che ha portato il SysAdmin a credere che il telnetd non sarebbe stato usato, dato che era "tcp only". La stringa in realtà dice solo a telnetd di non inviare alcuna opzione telnet dopo che la connessione è stata stabilita.
Quindi, se si deve eseguire telnetd per effettuare connessioni a stampanti remote, come si può fare in modo che non accetti anche le connessioni? Il modo più semplice è quello di avere un file di telnetservice vuoto, è necessario che il file esista per far partire telnetd, ma non deve specificare che telnetd ascolterà su qualsiasi porta.