Menú
|
3. tcpd: TCP Wrapping.Los TCP Wrappers son unas de las herramientas más famosas del mundo para reforzar el control de acceso a la red. Los TCP Wrappers añaden un control de accesos a la red mediante un sencillo mecanismo. Su funcionamiento es el siguiente. En hosts sin TCP Wrappers, inetd comienza en el cebador y comprueba los servidores permitidos en el "/etc/inetd.conf". Un inetd.conf de un host de este tipo podría ser así:
Cada línea es una entrada separada y cada entrada especifica un servicio, su tipo de toma, su tipo de protocolo, el usuario de ejecución y el servidor. Por ejemplo, la línea del finger:
Cuando inetd recibe una petición e un cliente finger, comienza un fingerd. El motivo de esto es que es más fácil ejecutar un demonio sencillo como es el inetd, que ejecutar permanentemente 20 servidores diferentes. Así un solo servidor solo se ejecuta cuando es necesario. El problema de este método es que estos servicios pueden no aplicar el control de acceso por defecto, por lo que no se puede aceptar o negar conexiones selectivamente. Para esto se introduce el TCP Wrapping. Con los TCP Wrappers instalados, cuando el inetd llama a un servidor, tcpd intercepta la llamada y evalúa la petición de conexión. Durante este proceso, tcpd compara la petición con respecto a carias normas. Si pasa estas pruebas, tcpd arranca el servidor requerido, que satisface la petición del cliente. En un caso de host con TCP Wrappers instalado, el inetd.conf debería ser algo así:
Si nos fijamos "/usr/sbin/tcpd" precede a "in.telnetd", por tanto telnetd está envuelto con tcpd. Cuando tcpd evalúa una petición de conexión también hace log de ella. TCP Wrappers y control de accesos a la red. Los TCP Wrappers leen las normas de control de acceso a la red de dos archivos "/etc/hosts.allow" y "/etc/hosts.deny". Configurando hosts.allow y hosts.deny. Para configurar estos archivos se desarrolló un lenguaje especial, el "hosts_options" (man 5 hosts_options). hosts_options es muy versátil, ya que se puede llegar a ejecutar un comando shell cuando una conexión cumpla con los criterios pedidos. Lo básico en hosts_options es esto: lista_de_comandos: lista_clientes Ejemplo:
Aquí, a todas las máquinas dentro de arf.net menos a "uncapullo" se les permite acceder a todos los servicios. Esto solo es útil si además se pone en hosts.deny:
Con el EXCEPT hosts_options permite entrar en detalles más exhaustivos, por ejemplo:
Así se bloquea todo a aol.com y a msn.com y solo se le permite el acceso telnet al host uncapullo.arf.net. Existen algunas sentencias comodín:
TCP Wrappers viene con herramientas para verificar sus normas:
tcpdchk: Examina la configuración de TCP Wrappers e informa de los problemas potenciales y reales que pueda encontrar. Analiza buscando:
tcpdmatch: Predice cómo manipularían los TCP Wrappers una petición de servicio específica. Su sintaxis es:
|