GNU/Linux >> Tutoriales Linux >  >> Cent OS

Comprender los contenedores TCP (/etc/hosts.allow y /etc/hosts.deny) en Linux

Los envoltorios TCP proporcionan un filtrado de tráfico básico del tráfico de red entrante. Se puede permitir o denegar el acceso a los servicios de red "envueltos" que se ejecutan en un servidor Linux desde otros sistemas. Un servicio encapsulado de TCP es uno que se ha compilado contra la biblioteca libwrap.a. Utilice el comando ldd para determinar si un servicio de red está vinculado a libwrap.a. El siguiente ejemplo determina el nombre de la ruta absoluta del servicio sshd y luego enumera las bibliotecas compartidas vinculadas al servicio sshd, usando el comando grep para buscar la biblioteca libwrap:

# which sshd
/sbin/sshd
# ldd /sbin/sshd | grep libwrap
	libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f1fea580000)

Archivos de configuración

Los contenedores TCP se basan en dos archivos de configuración como base para el control de acceso:

  • /etc/hosts.permitir
  • /etc/hosts.deny

Cuando un cliente intenta conectarse a un servicio de red en un sistema remoto, estos archivos se utilizan para determinar si se permite o deniega el acceso del cliente. Utilice /etc/hosts.allow y /etc/hosts.deny para definir reglas que permitan o nieguen selectivamente el acceso de los clientes a los demonios del servidor en el sistema local. El formato de las entradas es el siguiente para ambos archivos:

daemon_list : client_list [: command]

A continuación se incluye una descripción de cada campo:

  • lista_demonios :Una lista de demonios separados por comas, o la palabra clave ALL para todos los demonios
  • lista_de_clientes :Una lista de clientes separados por comas, o la palabra clave TODOS para todos los clientes
  • comando :un comando opcional que se ejecuta cuando un cliente intenta acceder a un demonio del servidor

Para permitir el acceso del cliente, agregue el nombre de host o la dirección IP del cliente en /etc/hosts.allow. Para denegar el acceso del cliente, agregue su nombre o dirección IP en /etc/hosts.deny.

El archivo /etc/hosts.allow se lee primero y se lee de arriba a abajo. Si un par de daemon-cliente coincide con la primera línea del archivo, se otorga acceso. Si la línea no coincide, se lee la línea siguiente y se realiza la misma comprobación. Si se leen todas las líneas y no se produce ninguna coincidencia, se lee el archivo /etc/hosts.deny, comenzando por la parte superior. Si se encuentra una coincidencia de par daemon-cliente en el archivo de denegación, se deniega el acceso. Si no se encuentran reglas para el par daemon-cliente en ninguno de los archivos, o si ninguno de los archivos existe, se otorga acceso al servicio.

Debido a que las reglas de acceso en hosts.allow se aplican primero, tienen prioridad sobre las reglas especificadas en hosts.deny. Por lo tanto, si se permite el acceso a un servicio en hosts.allow, se ignora una regla que niega el acceso a ese mismo servicio en hosts.deny. Los siguientes son algunos ejemplos de entradas en el archivo /etc/hosts.allow:

1. Para permitir que los clientes de la subred 192.168.2 accedan a FTP (el demonio es vsftpd):

# vi /etc/hosts.allow
vsftpd : 192.168.2.*

2. Para permitir que todos los clientes accedan a ssh, scp y sftp (el daemon es sshd):

# vi /etc/hosts.allow
sshd : ALL

3. Coloque la siguiente entrada en el archivo /etc/hosts.deny para denegar el servicio FTP a todos los clientes excepto a la subred 192.168.2.* (esto supone que la entrada anterior vsftpd:192.168.2.* existe en /etc/hosts). permitir):

# vi /etc/hosts.deny
vsftpd : ALL

4. Utilice la sintaxis .domain para representar cualquier host de un dominio determinado. El siguiente ejemplo permite conexiones a vsftpd desde cualquier host en el dominio example.com (si la entrada está en /etc/hosts.allow):

# vi /etc/hosts.allow
vsftpd : .example.com

Si esta entrada aparece en /etc/hosts.deny, se deniega la conexión.

Opciones de comando de TCP Wrapper (hosts.allow &hosts.deny) en Linux


Cent OS
  1. Restrinja el acceso a los servidores Linux mediante contenedores TCP

  2. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  3. ¿Cómo se actualiza /etc/motd?

  4. Comprender el directorio /etc/xinetd.d en Linux

  5. Diferencia entre /etc/hosts y /etc/resolv.conf

Configuración de Linux:comprensión de los directorios *.d en /etc

¿Crear un archivo de hosts específico del usuario para complementar /etc/hosts?

Entendiendo el archivo /etc/xinetd.conf en Linux

Comprender el directorio /etc/skel en Linux

Entendiendo el archivo /etc/hosts en Linux

Comprender el archivo /etc/fstab en Linux