Shorewall un firewall de alto nivel para configurar servidores Linux

Shorewall un firewall de alto nivel para configurar servidores Linux

Configurar un firewall en Linux puede ser muy desalentador para un novato, o para alguien que no esté muy familiarizado con iptables. Afortunadamente, hay una solución muy fácil de usar en Mochila.

Instale el firewall Shorewall en Linux

En este tutorial de varias partes, te voy a comenzar con Mochila, Y guíeste a través de algunos temas más avanzados con este increíble sistema de firewall.

¿Qué es Shorewall??

Mochila es esencialmente un front-end a iptables, pero es un entorno de línea de comando front-end que utiliza una serie de archivos de texto para su configuración. Mientras Mochila es un sistema de firewall robusto que se puede ampliar sobre redes muy grandes que atienden a numerosas máquinas, vamos a comenzar con una configuración básica de dos interfaz y clavar lo básico.

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

Instalación de Shorewall en Linux

Mochila se puede instalar utilizando 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 instalación shorewall6

Después de la instalación, necesitamos copiar una configuración de muestra del "/usr/share/doc/shorewall"Directorio al directorio predeterminado de Shorewall"/etc/shorewall ".

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

Y luego cd to /etc /shorewall.

$ cd /etc /shorewall

Si echamos un vistazo en este directorio, vemos un montón de archivos y mochila.confusión archivo. Shorewall ve la red como un grupo de zonas diferentes, por lo que el primer archivo que queremos echar un vistazo es el "/etc/shorewall/zonas" archivo.

Zonas

Aquí, vemos que hay tres zonas definidas por defecto: neto, loc, y todo. Es importante observar que Mochila trata la máquina de firewall 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 "/etc/shorewall/zonas"El archivo se explica por sí mismo. Tienes el zona neta (Interfaz frente a Internet), el loc zona (Interfaz de cara lan), y todo, Que es todo.

Política

Esta configuración da lo siguiente:

  1. Permite todas las solicitudes de conexión del zona loc (Lan) hacia zona neta (Internet).
  2. Deja caer todas las solicitudes de conexión (ignora) de la zona neta a la cortafuegos y el Lan.
  3. Rechaza y registra todas las demás solicitudes.

El NIVEL DE REGISTRO Bit debería ser familiar para cualquiera que haya realizado administraciones con apache, Mysql, o cualquier otro número de otro Foss programas. En este caso, estamos diciendo Mochila usar el nivel de información de registro.

Si desea que su firewall esté disponible para administrar desde su LAN, puede agregar las siguientes líneas a su "/etc/shorewall/política" archivo.

#Source Dest Política Nivel de registro Límite: BRUST LOC $ FW Aceptar $ FW LOC Aceptar

Ahora que nuestras zonas y políticas están establecidas, tenemos que configurar nuestras interfaces. Haces esto editando el "/etc/shorewall/interfaces" archivo.

Interfaces

Aquí, hemos establecido nuestra interfaz de Internet eth0 hacia zona neta. En nuestro lado de LAN, hemos establecido la otra interfaz, ETH1, hacia zona loc. Ajuste este archivo para hacer su configuración correctamente.

Las diversas opciones que puede ubicar para cualquiera de estas interfaces es extensa y se explican mejor en detalle en la página del hombre.

$ hombre Shorewall-interfaces

Un recorte rápido de algunos de ellos es el siguiente:

  1. Nosmurfs - Filtrar paquetes con dirección de transmisión como fuente.
  2. Logmartianos - paquetes de registro con una dirección fuente imposible.
  3. rutinfilter - Filtrado de ruta del núcleo para anti-especificación.

Por supuesto, ahora que nuestro sistema es de firewalled, vamos a necesitar ciertas conexiones para que se les permita a través de lo que necesitamos hacer. Usted defina estos en el archivo de reglas en "/etc/shorewall/reglas".

Normas

Este archivo parece confuso al principio, principalmente porque las columnas se superponen, pero los encabezados se explican bastante. Primero, tienes el Columna de acción, que describe lo que quieres realizar.

A continuación, tienes un FUENTE encabezado donde defines el zona donde se origina el paquete. Entonces, tienes tu Desestimado, o destino, Cuál es el zona o dirección IP del destino. Usemos un ejemplo.

Supongamos que quieres ejecutar un Ssh servidor 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 también tendrá que decirle al firewall que se produzca tráfico en el puerto 22 necesita ser enrutado a la máquina en 192.168.1.25.

Esto se conoce como Reenvío de puertos. Es una característica común en la mayoría cortafuegos/enrutadores. En "/etc/shorewall/reglas“, Lograrías esto agregando una línea como esta:

SSH (DNAT) NET LOC: 192.168.1.25
Reenvío de puertos SSH

Arriba, hemos definido cualquier Ssh paquetes destinados que provienen del zona neta al firewall tiene que ser enrutado (Dnat) hacia el puerto 22 En la máquina con dirección 192.168.1.25.

Se llama Traducción de Direcciones de Red o Nat. El "D"Simplemente dice Mochila que esto es un Nat Para una dirección de destino.

Para que esto funcione, debe tener Nat Soporte habilitado en su kernel. Si necesitas Nat Y no lo tengas, por favor vea mi tutorial sobre cómo recompilar un núcleo Debian.

Enlaces de referencia

Página de inicio de Shorewall

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

Leer también : Explorando opciones de configuración de firewall y línea de comandos Shorewall