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.
Tabla de Contenidos
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
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
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
Para confirmar Una pared está instalado, ejecute el comando:
# apk info awall
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
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
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
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
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
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