firewall básico en linux para bloquear ips a servicios con hosts.allow y hosts.deny

Algo que he aprendido hace poco, aunque ya sabía pero no con tanto detalle, es el manejo de los archivos /etc/hosts.allow y /etc/hosts.deny en linux para bloquear el acceso de ips a determinados servicios que puedan usar el tcp_wrapper y esté activado en sus respectivos archivos de configuración.

Gráfico básico del control de flujo del tcp_wrapper

Por defecto, a menos que se indique lo contrario, todos los servicios y/o direcciones definidas en el hosts.allow son admitidas mientras que las definidas en el hosts.deny son rechazadas.

La sintaxis de estos archivos es muy simple:
servicio : host
Importante insertar un salto de linea después de cada instrucción para que ésta surta efecto, sino no se tendrá en cuenta

servicio: es la primera palabra que encontramos en cada linea del archivo, principalmente se refiere a servicios, por ejemplo vsftpd, sshd, etc,..
Si queremos referirnos a todos los puertos bastará con poner ALL, también podemos poner una lista de servicios separados por espacios en blanco.

host: es una o mas direcciones de red separadas por espacios en blanco, esta dirección se contrasta con la del sistema que nos hace la petición de conexión. La dirección puede ser del tipo IP numérica, IP/mask, rango de IP (por ejemplo 195.116.), dominio, grupo de dominios.
Ademas pueden usarse otras palabras como ALL (para referirse a todos los host), LOCAL (los que no tienes un . en su nombre) KNOWN o UNKNOWN (de los que se tiene información o no) y PARANOID (el nombre que te ofrecen no concuerda con el que tcp_wrappers espera).

Con esto ya podemos hacer nuestra primera configuración super segura:
#/etc/hosts.deny
ALL: ALL

Esta es la política de seguridad más alta del tcp_wrapper. Esta instrucción indica que todas las conexiones que usen el tcp_wrapper estarán bloqueadas. Después se tendrá que ir habilitando en el /etc/hosts.allow los servicios y las ips deseadas.

Ejemplos

Completamente cerrado:

#/etc/hosts.deny
ALL: ALL

Cerrado para todos excepto para las conexiones locales:

#/etc/hosts.allow
ALL: 127.0.0.1

Habilitado el servicio de ftp (vsftpd) para el entorno local

#/etc/hosts.allow
vsftpd:127.0.0.1

Estos ejemplos son una forma básica de usarlo, también hay configuraciones avanzadas para detectar spoofing y otro tipo de eventos.
Ojo!! No es aconsejable probar estas instrucciones en un entorno de producción a menos de que se esté muy seguro de lo que se hace.

Tags de búsquedas:

hosts deny,hosts allow,negar internet desde firewall linux,no puedo bloquea paginas con hosts deny,uso de hosts deny,hosts deny ALL: PARANOID,hosts allow varias ips,hosts allow linux range ip,CORTAFUEGOS DENY,host deny example,host allow no funciona,host allow informacion,firewalld hosts allow,hosts deny bloquear ftpd,hosts deny en linux

Noticias relacionadas »

1 comentario en “firewall básico en linux para bloquear ips a servicios con hosts.allow y hosts.deny

  1. Pepe
    / Responder

    Hola,
    Me parece un buen comentario, pero me hace enlazar este comentario con más *allow y *deny.

    Me pregunto:
    El Gráfico básico del control de flujo del tcp_wrapper es igual también para:
    – at.allow y at.deny.
    o
    – cron.allow y cron.deny.

    Si no está ningún archivo, como si está solo los *.allow, tienen políticas diferentes si son:
    (hosts.allow, hosts.deny), que si son at.* o cron.*

    Gracias por el comentario.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Invertir en criptomonedas: »

 

Cómo comprar bitcoin

Invertir y comprar Bitcoin y otras altcoins es más fácil de lo que crees.

1) Si sólo quieres comprar Bitcoin, Ethereum o Litecoin como inversión, tu opción es Coinbase

2) Si quieres probar con otras criptomonedas tu opción es Binance

3) Cualquier duda escríbeme con total libertad al formulario de contacto para resolver dudas: https://www.pedroventura.com/contacto/

¡Comparte este artículo! »

  • Irene (20 horas)
    I used www.zerobounce.net and it is an amazing platform for…
  • Felipe Albornoz (2 días)
    Agradecido. Saludos.
  • Joel (2 semanas)
    Este grupo es buenísimo hay personas de todo el mundo…
  • Citricus (2 semanas)
    Análisis muy buenos y detallados: Crypto Trading Campus https://t.me/cryptotradingcampus
  • Vane (2 meses)
    Hola muy buena información, en lo personal mino con Javascript…
  • Gabriel Roncancio (2 meses)
    Hola Pedro, gracias por compartir. Tu artículo me dió algunas…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
mostrar los mensajes de error del php por pantalla con error_reporting

Establece el nivel de notificación de errores. El parámetro es un valor de tipo integer que representa un campo de...

Cerrar