Cómo asegurar los servicios de red utilizando envoltorios TCP en Linux

Cómo asegurar los servicios de red utilizando envoltorios TCP en Linux

En este artículo explicaremos qué son los envoltorios TCP y cómo configurarlos para restringir el acceso a los servicios de red que se ejecutan en un servidor de Linux. Antes de comenzar, sin embargo, debemos aclarar que el uso de envoltorios TCP no elimina la necesidad de un firewall configurado correctamente.

En este sentido, puede pensar en esta herramienta como una lista de control de acceso basada en el host, y no como la medida de seguridad final para su sistema. Mediante el uso de envoltorios de firewall y TCP, en lugar de favorecer uno sobre el otro, se asegurará de que su servidor no se quede con un solo punto de falla.

Comprender los anfitriones.Permitir y anfitriones.denegar

Cuando una solicitud de red llega a su servidor, TCP Wrappers usa Hospedadores.permitir y Hospedadores.denegar (en ese orden) para determinar si el cliente debe poder usar un servicio determinado.

Por defecto, estos archivos están vacíos, todos comentados o no existen. Por lo tanto, todo está permitido a través de la capa de envoltorios TCP y su sistema se deja confiar en el firewall para obtener una protección completa. Dado que esto no se desea, debido a la razón por la que declaramos en la introducción, asegúrese de que existan ambos archivos:

# ls -l /etc /hosts.Permitir /etc /hosts.denegar 

La sintaxis de ambos archivos es la misma:

 : [:::…] 

dónde,

  1. servicios es una lista de servicios separados por comas a la que se debe aplicar la regla actual.
  2. clientela Representar la lista de nombres de host separados por comas o direcciones IP afectadas por la regla. Se aceptan los siguientes comodines:
    1. TODO coincide con todo. Se aplica tanto a los clientes como a los servicios.
    2. LOCAL coincide con los anfitriones sin un período en su FQDN, como localhost.
    3. CONOCIDO indicar una situación en la que se conozca el nombre de host, la dirección del host o el usuario.
    4. DESCONOCIDO es lo opuesto a CONOCIDO.
    5. PARANOICO Hace que se elimine una conexión si las búsquedas de DNS inversas (primero en la dirección IP para determinar el nombre del host, luego en el nombre del host para obtener las direcciones IP) devuelva una dirección diferente en cada caso.
  3. Finalmente, una lista opcional de acciones separadas por colon indica lo que debería suceder cuando se activa una regla determinada.

Es posible que desee tener en cuenta que una regla que permite el acceso a un servicio determinado en /etc/huéspedes.permitir tiene prioridad sobre una regla en /etc/huéspedes.denegar prohibiéndolo. Además, si dos reglas se aplican al mismo servicio, solo la primera se tendrá en cuenta.

Desafortunadamente, no todos los servicios de red admiten el uso de envoltorios TCP. Para determinar si un servicio determinado los respalda, haga:

# LDD/PATH/TO/BINARIO | Grep librap 

Si el comando anterior devuelve la salida, se puede sacar TCP. Un ejemplo de esto es SSHD y VSFTPD, Como se muestra aquí:

Encuentre servicios compatibles en un envoltorio TCP

Cómo usar envoltorios TCP para restringir el acceso a los servicios

Mientras editas /etc/huéspedes.permitir y /etc/huéspedes.denegar, Asegúrese de agregar una nueva línea presionando Ingresar Después de la última línea no vacía.

Para permitir el acceso SSH y FTP solo 192.168.0.102 y hostil y niegue a todos los demás, agregue estas dos líneas en /etc/huéspedes.denegar:

sshd, vsftpd: todos: todos 

y la siguiente línea en /etc/huéspedes.permitir:

SSHD, VSFTPD: 192.168.0.102, local 
Envoltorios TCP - anfitriones.Denegar el archivo
# # Hospedadores.Denegar este archivo contiene reglas de acceso que se utilizan para negar las conexiones a los servicios de red que usan # la biblioteca TCP_WRAPPERS o que se han iniciado # a través de un XInetd habilitado para TCP_WRAPPERS. # # Las reglas en este archivo también se pueden configurar en # /etc /hosts.Permitir con una opción de 'negar' en su lugar. # # Consulte 'Man 5 Hosts_options' y 'Man 5 hosts_access' # para obtener información sobre la sintaxis de las reglas. # Consulte 'Man TCPD' para obtener información sobre tcp_wrappers # sshd, vsftpd: todos: todos 
Envoltorios TCP - anfitriones.Permitir archivo
# # Hospedadores.Permitir este archivo contiene reglas de acceso que se utilizan para # permitir o negar las conexiones a los servicios de red que # usan la biblioteca tcp_wrappers o que se han iniciado a través de un XInetd habilitado para TCP_WRAPPERS. # # Consulte 'Man 5 Hosts_options' y 'Man 5 hosts_access' # para obtener información sobre la sintaxis de las reglas. # Consulte 'Man TCPD' para obtener información sobre tcp_wrappers # SSHD, VSFTPD: 192.168.0.102, local 

Estos cambios tienen lugar inmediatamente sin la necesidad de reiniciar.

En la siguiente imagen puede ver el efecto de eliminar la palabra LOCAL Desde la última línea: el servidor FTP no estará disponible para hostil. Después de agregar el comodín, el servicio volverá a estar disponible.

Verificar el acceso FTP

Para permitir que todos los servicios sean hosts donde contiene el nombre ejemplo.comunicarse, Agregue esta línea en Hospedadores.permitir:

TODO : .ejemplo.comunicarse 

y negar el acceso a VSFTPD a máquinas en 10.0.1.24/04, Agregue esta línea en Hospedadores.denegar:

VSFTPD: 10.0.1. 

En los últimos dos ejemplos, observe el punto al principio y al final de la lista de clientes. Se usa para indicar "todos los hosts y / o clientes donde el nombre o la IP contienen esa cadena".

Te ayudó este artículo? Tienes alguna pregunta o comentario? No dude en dejarnos una nota usando el formulario de comentarios a continuación.