The tcpd access control facility (manual administración de redes con Linux)


Desde que un ordenador tiene acceso a la red implica algunos riesgos de seguridad, las aplicaciones estan diseñadas para protegerse contra muchos tipos de ataques. Algunas caracteristicas de seguridad, sin embargo, pueden haber fallos (muchos demostrados por el RTM Internet worm, los cuales dejan agujeros en un numero de programas, incluyendo viejas versiones de sendmail mail daemon), o no distinguen entre hosts seguros desde los cuales se pueden atender peticiones de servicios particulares y hosts no seguros a los que se deben rechazar las peticiones. Veremos brevemente los servicios finger y tftp . Los administradores de red que quieran limitar el acceso de estos servicios a “trusted hosts” solamente, esto es imposible con el setup general, por esto inetd ofrece este servicio a todos los clientes o a ninguno.
Una útil herramienta para manejar acceso host-specific es tcpd, a menudo llamado el demonio “wrapper.”1 Para servicios que usted quiere monitorizar o proteger, es invocado en vez del programa servidor. tcpd chequea si el host remoto tiene permitido usar el servicio, y sólo tendrá éxito si ejecuta el programa servidor real. tcpd tambien deja log de las peticiones al demonio syslog . Apuntar que no funciona para servicios basados en UDP.

# unwrapped finger daemon
finger stream tcp nowait bin /usr/sbin/fingerd in.fingerd

a esta:

# wrap finger daemon
finger stream tcp nowait root /usr/sbin/tcpd in.fingerd

Sin añadir ningún control de acceso, al cliente le parecerá el usual finger setup, excepto que todas las peticiones son anotadas hacia la instalación syslog auth.
Dos ficheros llamados /etc/hosts.allow y /etc/hosts.deny implementan el control de acceso. Contienen entradas que permiten y deniegan acceso a ciertos servicios y hosts. Cuando tcpd maneja una petición para un servicio como finger desde un hosts cliente llamado biff.foobar.com, se escanean hosts. allow y hosts. deny (en este orden) buscando una entrada que se corresponda con el servicio y el host cliente. Si se encuentra una entrada que se corresponde en el hosts . allow, se autoriza el acceso y tcpd no consulta el fichero hosts . deny . Si no se encuentra una correspondencia en el fichero host s. allow, pero se encuentra en el host s. deny, la petición es rechazada cerrando la conexión. La petición es aceptada si no hay correspondencias en niguno de los ficheros.

Califica este Artículo

Categoría: Conectividad y Redes.




Deja una respuesta