Shorewall: un cortafuegos de alto nivel para configurar servidores Linux

Shorewall: un cortafuegos de alto nivel para configurar servidores Linux

Configurar un cortafuegos en Linux puede resultar muy abrumador para un novato o para alguien que no esté muy familiarizado con iptables. Afortunadamente, hay una solución muy fácil de usar en Shorewall.

 Instalar Shorewall Firewall en Linux  Instalar Shorewall Firewall en Linux Instalar Shorewall Firewall en Linux

En este tutorial de varias partes, voy a comenzar con Shorewall. y lo guiaré a través de algunos temas más avanzados con este increíble sistema de firewall.

¿Qué es Shorewall?

Shorewall. es esencialmente una interfaz para iptables, pero es una interfaz de entorno de línea de comandos que utiliza varios archivos de texto para su configuración. Si bien Shorewall. es un sistema de firewall robusto que se puede escalar en redes muy grandes que dan servicio a numerosas máquinas, comenzaremos con una configuración básica de dos interfaces y definiremos los conceptos básicos.

Una configuración de dos interfaces consiste en una máquina con dos puertos Ethernet, uno que entra y otro que sale a la red local.

Instalación de Shorewall en Linux

Shorewall. se puede instalar usando las herramientas de administrador de paquetes apt-get y yum.

En Debian/Ubuntu/Linux Mint $ sudo apt-get install shorewall6 En RHEL/CentOS/Fedora $ sudo yum install shorewall6 freestar. config.enabled_slots.push

Después de la instalación, necesitamos copiar una configuración de muestra de “/usr/share/doc/shorewall. ”al directorio predeterminado de Shorewall“ /etc/shorewal. l ”.

$ sudo cp/usr/share/doc/shorewall/example/two-interfaces/*/etc/shorewall

Y luego cd a/etc/shorewall.

$ cd/etc/shorewall

Si echamos un vistazo a este directorio, vemos un montón de archivos y shorewall.conf. archivo. Shorewall ve la red como un grupo de zonas diferentes, por lo que el primer archivo que queremos ver es el archivo “/etc/shorewall/zones. .

 Zones Zonas Zonas

Aquí adentro, vemos que allí Hay tres zonas definidas de forma predeterminada: net. loc. y all. Es importante tener en cuenta que Shorewall. trata la máquina cortafuegos como su propia zona y la almacena en una variable llamada $ FW. Verá esta variable en el resto de los archivos de configuración.

El archivo “/etc/shorewall/zones. se explica por sí mismo. Tiene la zona de red. (interfaz orientada a Internet), la zona. loc. (interfaz orientada a la LAN) y todas. que es todo.

 Policy  Política Política

Esta configuración renuncia a lo siguiente:

  1. Permite todas las solicitudes de conexión desde la zona loc. ( LAN. a la zona neta. ( Internet. .
  2. Elimina todas las solicitudes de conexión (ignora) de la zona de red al firewall. y la LAN.
  3. Rechaza y registra todas las demás solicitudes.

El bit NIVEL DE REGISTRO. debería ser familiar para cualquiera que haya administrado con Apache. MySQL. o cualquier otro número de programas FOSS. En este caso, le estamos diciendo a Shorewall. que use el nivel de información. de registro.

Si desea tener su firewall disponible para administrar desde su LAN, puede agregar las siguientes líneas a su archivo “/etc/shorewall/policy. .

# SOURCE DEST POLICY LOG LEVEL LEVEL LIMIT: BURST loc $ FW ACCEPT $ FW loc ACCEPT

Ahora que nuestras zonas y política están configuradas, tenemos que configurar nuestras interfaces. Para ello, edite el archivo “/etc/shorewall/interfaces. .

Interfaces  Interfaces Interfaces

Aquí, hemos configurado nuestra interfaz de Internet como e th0. a la zona neta. En nuestro lado LAN, hemos configurado la otra interfaz, eth1. en la zona loc. Por favor, ajuste este archivo para activar su configuración correctamente.

Las diversas opciones que puede colocar para cualquiera de estas interfaces son extensas y se explican mejor en detalle en la página de manual.

$ man shorewall-interfaces

Un resumen rápido de algunos de ellos son los siguientes:

  1. nosmurfs. filtra los paquetes con la dirección de transmisión como fuente.
  2. logmartians. registra paquetes con una dirección de origen imposible.
  3. routefilter. filtrado de rutas del kernel para evitar la suplantación de identidad.

Por supuesto, ahora que nuestro sistema tiene un cortafuegos, vamos a necesitar que se permitan ciertas conexiones para poder hacer lo que tenemos que hacer. Usted los define en el archivo de reglas en “/etc/shorewall/rules. .

Reglas Rules Reglas

Este archivo parece confuso al principio, principalmente porque las columnas se superponen, pero los encabezados son bastante autosuficientes explicativo. Primero, tiene la columna ACCIÓN. que describe lo que desea realizar.

A continuación, tiene un encabezado FUENTE. donde define el zona. donde se origina el paquete. Luego, tienes tu DEST. o destino. que es la zona. o dirección IP. del destino. Usemos un ejemplo.

Suponga que desea ejecutar un servidor SSH. detrás de su firewall en la máquina con la dirección IP de 192.168.1.25. No solo tendrá que abrir un puerto en su firewall, sino que tendrá que decirle al firewall que cualquier tráfico que ingrese al puerto 22. debe enrutarse a la máquina en 192.168.1.25.

Esto se conoce como Reenvío de puertos. Es una función común en la mayoría de los cortafuegos. enrutadores. En “/etc/shorewall/rules. , lograría esto agregando una línea como esta:

SSH (DNAT) net loc: 192.168.1.25  Reenvío de puertos SSH  Reenvío de puertos SSH Puerto SSH Reenvío

Arriba, hemos definido cualquier paquete destinado a SSH. que provenga de la zona de red. al firewall debe enrutarse. ( DNAT. al puerto 22. en una máquina con la dirección 192.168.1.25.

Esto se llama Traducción de direcciones de red. o NAT. La “ D. simplemente le dice a Shorewall. que se trata de un NAT. para una dirección de destino.

Para que esto funciona, debe tener la compatibilidad con NAT. habilitada en su kernel. Si necesita NAT. y no lo tiene, consulte mi tutorial sobre la recompilación de un núcleo de Debian.

Enlaces de referencia

Página de inicio de Shorewall

En el próximo artículo, analizaremos algunos temas más avanzados, pero debería haber muchos aquí para comenzar por ahora. Como siempre, eche un vistazo a las páginas de manual para obtener una comprensión más profunda.

Lea también. Explorando la configuración de Shorewall Firewall y las opciones de la línea de comandos