Servicios EXCEPTed en /etc/hosts.allow

Digamos que /etc/hosts.allow contiene lo siguiente:

ALL EXCEPT in.telnetd : foo.example.com 

Alguien me está diciendo que si foo.example.com intenta telnet en este sistema, la connection será negada debido a EXCEPT, y hosts.deny no se verificará.

¿Pero el sistema no necesita comprobar hosts.deny? Mi entendimiento es que los anfitriones no pueden, por sí mismos, hacer que se nieguen las conexiones; sólo hosts.deny puede hacer eso.

Así que estoy confundido. ¿Estoy malentendiendo algo?

Creo que tienes razón en este caso.

El ejemplo en el man 5 host_access para el caso de man 5 host_access pnetworkingeterminado requiere que el file /etc/hosts.deny tenga

 ALL : ALL 

para que una regla EXCEPT funcione en /etc/hosts.allow .

También desde la página de manual:

  o Access will be granted when a (daemon,client) pair matches an entry in the /etc/hosts.allow file. o Otherwise, access will be denied when a (daemon,client) pair matches an entry in the /etc/hosts.deny file. o Otherwise, access will be granted. 

Por lo tanto, en su caso, el host no coincidiría con ninguna input en /etc/hosts.allow y, a continuación, no coincidiría con ninguno en /etc/hosts.deny y, por lo tanto, se permitiría de acuerdo con la tercera regla. Es por eso que necesita la input ALL : ALL en /etc/hosts.deny para que se aplique la segunda regla.

también tenga en count que /etc/hosts.allow y /etc/hosts.deny sólo afecta al daemon que se ejecuta a través de inetd o xinetd, no sólo cualquier error (muy común)