Tutoriales

Cómo configurar un cortafuegos con Awall en Alpine Linux

Una pared es una interfaz fácil de usar e intuitiva para el firewall de iptables para Linux alpinoque utiliza un conjunto de políticas predefinidas escritas en JSON formato. Estos archivos JSON se denominan archivos de políticas y se encuentran en el /usr/share/awall/obligatorio directorio.

La práctica común requiere que almacene sus reglas de firewall personalizadas en el /etc/awall/opcional directorio. Estas son políticas opcionales y se habilitan según las necesidades, como demostraremos más adelante en esta guía.

En esta guía, demostraremos cómo puede configurar un Una pared cortafuegos activado Linux alpino.

Paso 1: actualice las listas de paquetes de Alpine Linux

Siempre es una buena idea actualizar los repositorios locales antes de instalar nuevos paquetes de software. Por lo tanto, actualice el índice del paquete local usando el siguiente comando apk como se muestra.

$ apk update
Actualizar Alpine Linux

Paso 2: Instale Iptables en Alpine Linux

El siguiente paso es instalar iptables para ambos IPv4 y IPv6 protocolos de la siguiente manera.

# apk add ip6tables iptables
Instalar Iptables en Alpine Linux
Instalar Iptables en Alpine Linux

Paso 3: Instale Awall en Alpine Linux

Con iptables en su lugar, proceder e instalar el Una pared cortafuegos de la siguiente manera.

# apk add -u awall
Instale el cortafuegos Awall en Alpine Linux
Instale el cortafuegos Awall en Alpine Linux

Para confirmar Una pared está instalado, ejecute el comando:

# apk info awall
Compruebe el cortafuegos Awall en Alpine Linux
Compruebe el cortafuegos Awall en Alpine Linux

Como hemos mencionado anteriormente, Una pared se envía con un conjunto predefinido de políticas de Firewall en formato JSON en el /usr/share/awall/obligatorio directorio. Puede enumerar las políticas de la siguiente manera.

$ ls -l /usr/share/awall/mandatory
Lista de políticas de Awall en Alpine Linux
Lista de políticas de Awall en Alpine Linux

Sin embargo, de acuerdo con las mejores prácticas, las políticas personalizadas deben colocarse en el /etc/una pared directorio.

Paso 4: Cargue los módulos del kernel e inicie Iptables

A continuación, asegúrese de que el iptables Los módulos del núcleo se cargan con el siguiente comando.

# modprobe -v ip_tables 
# modprobe -v ip6_tables 
Cargar módulos del kernel
Cargar módulos del kernel

Con los módulos del kernel cargados, habilite iptables para que se inicie en el arranque como se muestra.

# rc-update add iptables
# rc-update add ip6tables
Habilitar IPtables
Habilitar IPtables

Paso 5: Cree políticas de firewall usando Awall

A continuación, vamos a crear algunas políticas de firewall y colocarlas en el /etc/awall/opcional/ directorio.

Primero, en la lista, crearemos una regla llamada servidor.json que elimina todas las conexiones entrantes y salientes.

# cat /etc/awall/optional/server.json

Pegue las siguientes líneas de código.

{
  "description": "An awall policy that drops all incoming and outgoing traffic",

  "variable": { "internet_if": "eth0" },

  "zone": {
    "internet": { "iface": "$internet_if" }
  },

  "policy": [
    { "in": "internet", "action": "drop" },
    { "action": "reject" }
  ]

}

Guardar y Salir. A continuación, crearemos una política que permita la entrada SSH conexiones en el puerto 22 con un límite máximo de inicio de sesión de 3 intentos para frustrar los ataques de fuerza bruta.

{

    "description": "Allow incoming SSH access (TCP/22)",

    "filter": [
        {
            "in": "internet",
            "out": "_fw",
            "service": "ssh",
            "action": "accept",
            "src": "0.0.0.0/0",
            "conn-limit": { "count": 3, "interval": 60 }
        }
    ]
}

Guardar y salir del archivo.

A continuación, definiremos una política de firewall que permita ICMP solicitudes de ping.

{

    "description": "Allow ping-pong",

    "filter": [
        {
              "in": "internet",
              "service": "ping",
              "action": "accept",
              "flow-limit": { "count": 10, "interval": 6 }
        }
    ]
}

Si tiene un servidor web, considere definir una regla para abrir los puertos HTTP y HTTPS.

{
    "description": "Allow incoming Apache (TCP 80 & 443) ports",
    "filter": [
        {
            "in": "internet",
            "out": "_fw",
            "service": [ "http", "https"],
            "action": "accept"
        }
    ]
}

Por último, vamos a permitir conexiones salientes para algunos de los protocolos más utilizados, como HTTP, HTTPS, DNS, SSH, NTP y ping ICMP.

{

    "description": "Allow outgoing connections for http/https, dns, ssh, ntp, ssh and ping",

    "filter": [
        {
            "in": "_fw",
            "out": "internet",
            "service": [ "http", "https", "dns", "ssh", "ntp", "ping" ],
            "action": "accept"
        }
    ]
}

Guarde los cambios y salga.

Para enumerar todas las políticas de firewall vigentes, ejecute el comando:

# awall list
Enumerar las políticas de firewall de Awall
Enumerar las políticas de firewall de Awall

Paso 6: habilite las políticas de firewall y active Awall

Para activar las políticas de firewall, ejecute los siguientes comandos:

# awall enable server
# awall enable ssh
# awall enable ping
# awall enable  outgoing
# awall enable webserver

Finalmente, para activar el Una pared cortafuegos, ejecute el comando:

# awall activate
Cortafuegos Awall activo
Cortafuegos Awall activo

Paso 7: deshabilitar una política de firewall

Suponga que desea deshabilitar una política de firewall que ya no desea. Para hacer esto, use la siguiente sintaxis:

# awall disable policy-name

Por ejemplo, para deshabilitar la política de ping, ejecute el comando:

# awall disable ping

Para conservar los cambios, ejecute el comando:

# awall activate

Paso 8: Deshabilitar Awall e Iptables Firewall

Si no desea utilizar Una pared y iptables, ejecute los siguientes comandos. Primero, deshabilite la iptables cortafuegos

# rc-service iptables stop
# rc-service ip6tables stop

A continuación, deshabilite todas las reglas de la política Awall.

# awall disable server
# awall disable ssh
# awall disable ping
# awall disable outgoing
# awall disable webserver

Y finalmente, desinstale el firewall iptables de su sistema Alpine Linux.

# rc-update del ip6tables
# rc-update del iptables

Este fue un resumen de cómo configurar y usar Una pared con iptables cortafuegos activado Linux alpino. Para opciones de comando adicionales, visite la página de ayuda de la siguiente manera.

# awall help

LEER  Constantes en lenguaje C

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba