Introducción
Los archivos hosts.allow y hosts.deny, ubicados en /etc controlan los TCP Wrappers, un conjunto de funciones útiles para administrar el acceso a su sistema desde el exterior.
El archivo hosts.allow enumera las reglas que permiten el acceso. El archivo hosts.deny enumera las reglas que no permiten el acceso.
El sistema verificará hosts.allow primero, si una cierta regla coincide con la acción entrante, el acceso se otorga y la verificación finaliza; de lo contrario, el sistema verificará las reglas dentro del archivo hosts.deny, si una regla para su acceso interno coincide con ser denegado. Por defecto, el acceso está garantizado.
Configuración
En general, se recomienda que niegue todos los accesos a hosts.deny y permita solo aquellos que desee en hosts.allow.
Puntos para recordar:
- Solo puede tener una regla por servicio en los archivos hosts.allow y hosts.deny.
- Cualquier cambio en los archivos hosts.allow y hosts.deny entra en vigor inmediatamente.
- La última línea de los archivos hosts.allow y hosts.deny debe ser un carácter de nueva línea. O la regla fallará.
Sintaxis de la regla general para ambos archivos:
daemon: client [:opzione1:opzione2:…]
Ejemplos: Para denegar todas las conexiones entrantes a hosts.deny:
ALL: ALL
Para permitir el acceso SSH a example.com y denegar el acceso a todos los demás, en hosts.allow:
sshd:.esempio.com
Y en hosts.deny:
sshd: ALL
Denegue el acceso FTP al dominio example.com y a los hosts de la red 192.168.1.0. En el archivo hosts.deny:
vsftpd: 192.168.1.,.esempio.com
En la siguiente regla, spawn escribe un mensaje en el archivo de registro vsftpd cada vez que la regla coincide:
vsftpd: 192.168.1.,.esempio.com: spawn /bin/echo `/bin/date` access denied >> /var/log/vsftpd.log: deny
Puede utilizar la opción de generación para enviar correo al administrador.
Comodines
Puede utilizar comodines en la sección de cliente de la regla para clasificar de manera amplia un grupo de hosts. Estos son los caracteres comodín válidos que se pueden utilizar.
TODO - Coincide con todo LOCAL: coincide con cualquier host que no contenga un punto (.), Como localhost. CONOCIDO: coincide con cualquier host donde se conocen el nombre de host y las direcciones de host o donde se conoce al usuario. DESCONOCIDO: coincide con cualquier host cuyo nombre de host o dirección de host se desconoce o donde se desconoce el usuario. PARANOID: coincide con cualquier host donde el nombre de host no coincide con la dirección de host.
Algunos ejemplos. Corresponde a todos los hosts de la red 112.12.0.0. Tenga en cuenta el punto (.) Al final de la regla:
ALL: 112.12.
La dirección IP /máscara de red se puede utilizar en la regla.
ALL: 192.168.0.1/255.255.255.0
Si la lista de clientes comienza con una barra inclinada (/), se trata como un nombre de archivo. En la siguiente regla, los envoltorios TCP buscan el archivo sshd.deny para todas las conexiones SSH.
sshd: /etc/sshd.deny
Permitirá la conexión ssh solo para la máquina con la dirección IP 192.161.0.11 y bloqueará todas las demás conexiones.
sshd: ALL EXCEPT 192.161.0.11
Puede usar las opciones para permitir o denegar permisos o restricciones por cliente en uno de los archivos hosts.allow y hosts.deny
in.telnetd: 192.168.1.1: deny
in.telnetd: 192.168.1.2: allow
Comandos de shell
Como se mencionó anteriormente, las reglas se pueden asociar con ciertos comandos de shell usando las siguientes dos opciones.
spawn: esta opción inicia un comando de shell como un proceso hijo. Por ejemplo:
sshd: 192.168.5.5: spawn /bin/echo `/bin/date` from %h >> /var/log/ssh.log: deny
Siempre que la regla coincide, la fecha actual y el nombre de host del cliente% h se agregan al archivo ssh.log.
twist: esta es una opción que reemplaza la solicitud con el comando especificado. Por ejemplo, si desea enviar al cliente un intento de conectarse a través de ssh a su máquina, que tiene prohibido acceder a SSH, puede usar esta opción.
sshd: esempio1.com: twist /bin/echo “Non puoi accedere a questo servizio”: deny
Con spawn y twist, puedes usar varias expresiones: % a: la dirección IP del cliente. % A: la dirección IP del servidor. % c: proporciona una variedad de información del cliente, como nombre de usuario y nombre de host, o nombre de usuario y dirección IP. % d: el nombre del proceso del demonio. % h: el nombre de host del cliente (o la dirección IP si el nombre de host no está disponible). % H: el nombre de host del servidor (o la dirección IP, si el nombre de host no está disponible). % n: el nombre de host del cliente. Si no está disponible, se imprime "desconocido". Si el nombre de host del cliente y la dirección de host no coinciden, se imprime "paranoid". % N: el nombre de host del servidor. Si no está disponible, se imprime "desconocido". Si el nombre de host y la dirección de host del servidor no coinciden, se imprime "paranoid". % p: el ID del proceso del demonio. % s: varios tipos de información del servidor, como el proceso daemon y el host o la dirección IP del servidor. % u: el nombre de usuario del cliente. Si no está disponible, se imprime "desconocido".
La configuración de los archivos hosts.allow y hosts.deny ha finalizado