Configuración básica de Shorewall.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2016 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

Acerca de Shorewall.

Shorewall (Shoreline Firewall) es una robusta y extensible herramienta de alto nivel para la configuración de muros cortafuego. Shorewall sólo necesita se definan algunos datos en algunos archivos de texto simple y éste creará las reglas de cortafuegos correspondientes a través de iptables. Shorewall puede permitir utilizar un sistema como muro cortafuegos dedicado, sistema de múltiples funciones como puerta de enlace, dispositivo de encaminamiento y servidor.

URL: http://www.shorewall.net/

Acerca de iptables y Netfilter.

Netfilter es un conjunto de ganchos (Hooks), es decir, técnicas de programación que se emplean para crear cadenas de procedimientos como gestor) dentro del núcleo de GNU/Linux y que son utilizados para interceptar y manipular paquetes de red. El componente mejor conocido es el cortafuegos, el cual realiza procesos de filtración de paquetes. Los ganchos son también utilizados por un componente que se encarga del NAT (acrónimo de Network Address Translation o Traducción de dirección de red). Estos componentes son cargados como módulos del núcleo.

Iptables es el nombre de la herramienta de espacio de usuario (User Space), es decir, área de memoria donde todas las aplicaciones, en modo de usuario, pueden ser intercambiadas hacia memoria virtual cuando sea necesario) a través de la cual los administradores crean reglas para cada filtrado de paquetes y módulos de NAT. iptables es la herramienta estándar de todas las distribuciones modernas de GNU/Linux.

URL: http://www.netfilter.org/

Acerca de iproute.

Iproute es una colección de herramientas (ifcfg, ip, rtmon y tc) para GNU/Linux que se utilizan para controlar el establecimiento de la red TCP/IP, así como también el control de tráfico. Aunque ifconfig sigue siendo una popular herramienta de configuración, iproute lo ha dejado obsoleto al proveer soporte para la mayoría de las tecnologías modernas de red (incluyendo IP versiones 4 y 6), permitiendo a los administradores configurar los parámetros de red y el control de tráfico.

URL: http://linux-net.osdl.org/index.php/Iproute2

Conceptos requeridos.

¿Qué es una zona desmilitarizada?

Una zona desmilitarizada (DMZ), es parte de una red que no está dentro de la red interna (LAN) pero tampoco está directamente conectada hacia Internet. Podría resumirse como una red que se localiza entre dos redes. En términos más técnicos se refiere a un área dentro del cortafuegos donde los sistemas que la componen tienen acceso hacia las redes interna y externa, sin embargo no tienen acceso completo hacia la red interna y tampoco acceso completamente abierto hacia la red externa. Los cortafuegos y dispositivos de encaminamiento (routers) protegen esta zona con funcionalidades de filtrado de tráfico de red.


Diagrama de una Zona Desmilitarizada.
Imagen de dominio público tomada de Wikipedia y modificada con el Gimp.

¿Que es una Red Privada?

Una Red Privada es aquella que utiliza direcciones IP establecidas en el RFC 1918. Es decir, direcciones IP reservadas para Redes Privadas dentro de los rangos 10.0.0.0/8 (desde 10.0.0.0 hasta 10.255.255.255), 172.16.0.0/12 (desde 172.16.0.0 hasta 172.31.255.255) y 192.168.0.0/16 (desde 192.168.0.0 hasta 192.168.255.255).

Bloques reservados para redes privadas
Nombre Rango de direcciones IP Numero de direcciones IP Tipo de clase Bloque CIDR mayor
Bloque de 24bits 10.0.0.0 – 10.255.255.255 16,777,215 Única clase A 10.0.0.0/8
Bloque de 20bits 172.16.0.0 – 172.31.255.255 1,048,576 16 clases B contiguas 172.16.0.0/12
Bloque de 16bits 192.168.0.0 – 192.168.255.255 65,535 256 clases C contiguas 192.168.0.0/16

¿Qué es un NAT?

NAT (acrónimo de Network Address Translation o Traducción de dirección de red), también conocido como enmascaramiento de IP, es una técnica mediante la cual las direcciones de origen y/o destino de paquetes IP son reescritas mientras pasan a través de un dispositivo de encaminamiento (router) o muro cortafuegos. Se utiliza para permitir a múltiples anfitriones en una Red Privada con direcciones IP para Red Privada para acceder hacia Internet utilizando una única dirección IP pública.

¿Qué es un DNAT?

DNAT, (acrónimo de Destination Network Address Translation o traducción de dirección de red de destino) es una técnica mediante la cual se hace público un servicio desde una Red Privada. Es decir permite redirigir puertos hacia direcciones IP de Red Privada. El uso de esta técnica puede permitir a un usuario en Internet alcanzar un puerto en una Red Privada —dentro de una LAN— desde el exterior a través de un encaminador (router) o muro cortafuegos donde ha sido habilitado un NAT.

¿Qué es un SNAT?

SNAT, (acrónimo de Source Network Address Translation o traducción de dirección de red de origen) es una técnica mediante la cual cambia la dirección de origen de los paquetes transmitidos. Es decir, permite que una dirección IP o bloque de direcciones en una Red Privada —dentro de una LAN— se presente con una dirección IP distinta a la dirección IP principal utilizada por el encaminador (router) o muro cortafuegos donde ha sido habilitado un NAT.

Equipamiento lógico necesario.

Se requerirán los siguientes paquetes:

Shorewall está disponible en los almacenes YUM predeterminados de ALDOS 1.4 y Fedora™. En éstos es innecesario añadir almacenes YUM de terceros.

Shorewall está ausente en los almacenes YUM de CentOS o Red Hat™ Enterprise Linux, por lo tanto se requiere añadir un almacen YUM de terceros como EPEL o AL-Server.

ALDOS 1.4 y Fedora™. Ejecute lo siguiente para añadir el archivo de configuración del almacen YUM de AL-Server sólo si utiliza CentOS o Red Hat™ Enterprise Linux:

cd /etc/yum.repos.d/
wget -N http://www.alcancelibre.org/al/server/AL-Server.repo
cd

Ejecute lo siguiente para instalar el paquete shorewall:

yum -y install shorewall

Procedimientos previos.

Este documento asume que se han estudiado y aplicado los temas descritos en los documentos titulados «Ajustes posteriores a la instalación de CentOS 6» y «Configuración de red en GNU/Linux».

Shorewall y SELinux.

SELinux impedirá ejecutar algunos componentes de Shorewall instalados en /usr e impedirá acceder hacia /sys para obtener información respecto de los dispositivos de red presentes en el sistema. Ésto puede resolverse añadiendo una política a SELinux.

Instale el paquete policycoreutils-python:

yum -y install policycoreutils-python

El siguiente procedimiento crea una política que permitirá a Shorewall operar normalmente.

Crear el directorio /usr/share/selinux/packages/shorewall2:

mkdir /usr/share/selinux/packages/shorewall2

Cambiarse al directorio /usr/share/selinux/packages/shorewall2:

cd /usr/share/selinux/packages/shorewall2

Descargar desde Alcance Libre el archivo http://www.alcancelibre.org/linux/secrets/shorewall2.te:

wget http://www.alcancelibre.org/linux/secrets/shorewall2.te

Editar el archivo shorewall.te:

vi shorewall2.te

Verificar que el archivo shorewall2.te tenga el siguiente contenido:

module shorewall2 1.0;

require {
        type shorewall_t;
        type usr_t;
        type sysfs_t;
        class file { execute execute_no_trans };
        class dir search;
        class dir getattr;
        class process signal;
}

#============= shorewall_t ==============
allow shorewall_t usr_t:file { execute execute_no_trans };
allow shorewall_t sysfs_t:dir search;
allow shorewall_t sysfs_t:dir getattr;
allow shorewall_t self:process signal;

Crear el archivo de módulo shorewall2.mod a partir del archivo shorewall2.te:

checkmodule -M -m -o shorewall2.mod shorewall2.te

Crear el archivo de política shorewall2.pp a partir del archivo shorewall2.mod

semodule_package -o shorewall2.pp -m shorewall2.mod

Incluir la política al sistema:

semodule -i /usr/share/selinux/packages/shorewall2/shorewall2.pp

Regrese al directorio de inicio de root.

cd

Determinar nomenclatura de dispositivos de red.

La nomenclatura de los dispositivos de red dependerá de la versión de SMBIOS y versión de sistema operativo.

Verifique el contenido del directorio /sys/class/net para conocer los nombres utilizados por los dispositivos de red presentes en el sistema.

ls /sys/class/net

Si utiliza ALDOS 1.4, CentOS 6, Red Hat™ Enterprise Linux 6 o versiones anteriores de éstos en sistemas con SMBIOS versión 2.5 y anteriores, la nomenclatura de dispositivos utilizada será la tradicional:

Si utiliza ALDOS 1.4, CentOS 6, Red Hat™ Enterprise Linux 6 o versiones anteriores de éstos en sistemas con SMBIOS versión 2.6 en adelante, la nomenclatura de dispositivos utilizada será la siguiente para tarjetas empotradas:

La nomenclatura de dispositivos utilizada será la siguiente para tarjetas PCI:

Si utiliza CentOS 7 o Red Hat™ Enterprise Linux 7 o versiones anteriores de éstos, la nomenclatura de dispositivos utilizada será la siguiente para tarjetas empotradas:

La nomenclatura de dispositivos utilizada será la siguiente para tarjetas PCI:

Activación de reenvío de paquetes para IPv4.

Si se dispone de más de un dispositivo de red y se requiere implementar un NAT, DNAT y/o SNAT, es indispensable activar el reenvío de paquetes para IPv4.

CentOS 7 y Red Hat™ Enterprise Linux 7 y versiones posteriores de éstos.

Edite el archivo /etc/sysctl.conf.

vi /etc/sysctl.conf

Encontrará el siguiente contenido:

# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

Añada lo siguiente:

net.ipv4.ip_forward = 1

Guarde cambios, salga del editor de texto y ejecute lo siguiente para aplicar los cambios:

sysctl -p

La salida de lo anterior devolverá la configuración que acaba de añadir y de otras que estén presentes en ese mismo archivo.

ALDOS 1.4, CentOS 6 y Red Hat™ Enterprise Linux 6 y versiones anteriores de éstos.

Edite el archivo /etc/sysctl.conf:

vi /etc/sysctl.conf

Al inicio del archivo encontrará el siguiente contenido:

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 0

Cambie el valor 0 de net.ipv4.ip_forward por 1:

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls IP packet forwarding
net.ipv4.ip_forward = 1

Ejecute lo siguiente para aplicar los cambios:

sysctl -p

Lo anterior devolverá como salida algo similar a lo siguiente, donde deberá mostrarse que se ha aplicado net.ipv4.ip_forward con el valor 1:

net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key

Si se carece de interfaces de red configuradas con IPv6, es normal e inofensivo se muestren los tres errores mostrados arriba.

Procedimiento de configuración de Shorewall.

Se modificarán los siguientes archivos:


Archivo shorewall.conf.

Shorewall viene inactivo de modo predeterminado. Para activar el servicio edite el archivo /etc/shorewall/shorewall.conf:

vi /etc/shorewall/shorewall.conf

Localice la opción STARTUP_ENABLED, la cual deberá tener «No» como valor predeterminado:

STARTUP_ENABLED=No

Cambie «No» por «Yes»:

STARTUP_ENABLED=Yes

Archivo zones.

Se requiere definir cuáles zonas serán gestionadas en el muro cortafuegos. Edite el archivo /etc/shorewall/zones:

vi /etc/shorewall/zones

Encontrará que sólo está definida la zona fw con el tipo firewall:

fw	firewall

Si dispone de un único dispositivo de red sólo podrá definir una zona (net) tipo ipv4:

fw	firewall
net	ipv4

Si dispone de dos dispositivos de red, puede especificar una segunda zona (loc) tipo ipv4, la cual puede ser utilizada para acceder desde la red de área local:

fw	firewall
net	ipv4
loc	ipv4

Si dispone de tres dispositivos de red, puede especificar una tercera zona (dmz) tipo ipv4, la cual puede ser utilizada para acceder desde la zona des-militarizada:

fw	firewall
net	ipv4
loc	ipv4
dmz	ipv4

Archivo interfaces.

Una vez definidas la zonas a utilizar en el muro cortafuegos, se debe definir que dispositivos de red corresponden a cada zona del muro cortafuegos. El archivo /etc/shorewall/interfaces varía entre las versiones 4.4 y 4.5 de Shorewall. En la versión 4.4 se utiliza el formato 1 y consiste de 4 columnas. En la versión 4.5 se utiliza el formato 2 y consiste de 3 columnas.

Edite el archivo /etc/shorewall/interfaces:

vi /etc/shorewall/interfaces

Se manejan dos formatos dependiendo de la versión utilizada de shorewall. Shorewall 4.4 y versiones anteriores utilizan un formato de 4 columnas. Shorewall 4.5 y versiones posteriores utilizan un formato de tres columnas y está presente una línea que contiene ?FORMAT 2.

CentOS 7 y Red Hat™ Enterprise Linux 7 y versiones posteriores de éstos.

Si dispone de un único dispositivo de red defina el nombre del dispositivo de red a utilizar, auto-detección de la dirección de difusión (broadcast) y la opción dhcp. Esta última opción sólo es necesaria si en la interfaz habrá un cliente o servidor DHCP. El nombre del dispositivo de red puede ser eth0, eth1, p1p1, p2p1, em1, em2, etc., dependiendo de la versión de SMBIOS y sistema operativo:

?FORMAT 2
#####################################################################
net	enp0s3	dhcp

Si dispone de un segundo dispositivo de red puede asociar éste a la segunda zona del muro cortafuegos (loc). Igualmente defina que se auto-detecte la dirección de difusión y la opción dhcp si la considera necesaria.

?FORMAT 2
#####################################################################
net	enp0s3	dhcp
loc	enp0s8	dhcp

Si se dispone de más de un segmento de red de área local en el segundo dispositivo de red y se desea que dichos segmentos de red se pueden comunicar entre si, añada la opción routeback. De otra forma se impediría de modo predeterminado el intercambio de tráfico entre estos segmentos de red.

?FORMAT 2
#####################################################################
net	enp0s3	dhcp
loc	enp0s8	dhcp,routeback

Si dispone de un tercer dispositivo de red puede asociar éste a la tercera zona del muro cortafuegos (dmz). Igualmente defina que se auto-detecte la dirección de difusión y la opción dhcp si la considera necesaria. Por lo general las zonas des-militarizadas prescinden de servidores DHCP por tratarse de redes designadas para alojar otros servidores con dirección IP estática.

?FORMAT 2
#####################################################################
net	enp0s3	dhcp
loc	enp0s8	dhcp,routeback
dmz	enp0s9

ALDOS 1.4, CentOS 6 y Red Hat™ Enterprise Linux 6 versiones anteriores de éstos.

Si dispone de un único dispositivo de red defina el nombre del dispositivo de red a utilizar, auto-detección de la dirección de difusión (broadcast) y la opción dhcp. Esta última opción sólo es necesaria si en la interfaz habrá un cliente o servidor DHCP. El nombre del dispositivo de red puede ser eth0, eth1, p1p1, p2p1, em1, em2, etc., dependiendo de la versión de SMBIOS y sistema operativo:

net	eth0	detect	dhcp

Si dispone de un segundo dispositivo de red puede asociar éste a la segunda zona del muro cortafuegos (loc). Igualmente defina que se auto-detecte la dirección de difusión y la opción dhcp si la considera necesaria.

net	eth0	detect	dhcp
loc	enp0s8	detect	dhcp

Si se dispone de más de un segmento de red de área local en el segundo dispositivo de red y se desea que dichos segmentos de red se pueden comunicar entre si, añada la opción routeback. De otra forma se impediría de modo predeterminado el intercambio de tráfico entre estos segmentos de red.

net	eth0	detect	dhcp
loc	eth1	detect	dhcp,routeback

Si dispone de un tercer dispositivo de red puede asociar éste a la tercera zona del muro cortafuegos (dmz). Igualmente defina que se auto-detecte la dirección de difusión y la opción dhcp si la considera necesaria. Por lo general las zonas des-militarizadas prescinden de servidores DHCP por tratarse de redes designadas para alojar otros servidores con dirección IP estática.

net	eth0	detect	dhcp
loc	eth1	detect	dhcp,routeback
dmz	eth2	detect

Elimine la tercera columna que coresponde a las opciones para difusión (broadcast) si utiliza Shorewall 4.5 en adelante y está presente y descomentada la línea que contiene ?FORMAT 2:

?FORMAT 2
#####################################################################
#ZONE	INTERFACE	OPTIONS
net	eth0		dhcp
loc	eth1		dhcp,routeback
dmz	eth2

Archivo masq.

Si dispone de un único dispositivo de red, omita el siguiente paso. Si dispone de de más de un dispositivo de red y se requiere habilitar el enmascaramiento de direcciones IP de un dispositivo hacia otro, edite el archivo /etc/shorewall/masq:

vi /etc/shorewall/masq

Si dispone de dos dispositivos de red, defina en la primera columna el dispositivo utilizado para la zona correspondiente a la red pública (net) y en la segunda columna el dispositivo utilizado por la zona correspondiente a la red de área local (loc):

enp0s3	enp0s8

Si dispone de tres dispositivos de red, añada otra línea donde se defina en la primera columna el dispositivo utilizado para la zona correspondiente a la red pública (net) y en la segunda columna el dispositivo utilizado por la zona correspondiente a la zona des-militarizada (dmz):

enp0s3	enp0s8
enp0s3	enp0s9

Si además de tres dispositivos de red se dispone también de más de una dirección IP en el dispositivo correspondiente a al red pública, puede configurar el SNAT (Source Network Address Translation, mejor conocido en los entornos Windows como Secure Network Address Translation) para cada una de las zonas que serán enmascaradas. En el siguiente ejemplo hipotético se enmascara todo el tráfico originado desde el dispositivo correspondiente a la red de área local con la dirección IP 200.1.2.3 y el tráfico proveniente del dispositivo correspondiente a la zona des-militarizada con la dirección IP 200.1.2.4.

enp0s3	enp0s8	200.1.2.3
enp0s3	enp0s9	200.1.2.4
Nota.

Por favor abstenerse de utilizar las direcciones del ejemplo anterior. Son sólo un ejemplo hipotético. Utilice direcciones IP que realmente se tengan asignadas en el dispositivo de red o bien omita por completo definir éstas.

Archivo policy.

Edite el archivo /etc/shorewall/policy

vi /etc/shorewall/policy

Si dispone de un sólo dispositivo de red defina sólo dos políticas. Una que permita al muro cortafuegos comunicarse a cualquier parte y otra que descarte cualquier paquete proveniente de la zona de red pública (net) y se guarde bitácora de la actividad generada y etiquetada con DROP:

fw	all	ACCEPT
net	all	DROP	info

Si dispone de dos dispositivos de red añada una tercera política que rechace todos los paquetes provenientes desde la zona correspondiente a la red de área local (loc) y se guarde bitácora de la actividad generada y etiquetada con REJECT:

fw	all	ACCEPT
net	all	DROP	info
loc	all	REJECT	info

Si dispone de tres dispositivos de red añada una cuarta política que rechace todos los paquetes provenientes desde la zona correspondiente a la zona des-militarizada (dmz) y se guarde bitácora de la actividad generada y etiquetada con REJECT:

fw	all	ACCEPT
net	all	DROP	info
loc	all	REJECT	info
dmz	all	REJECT	info

Archivo rules.

Edite el archivo /etc/shorewall/rules:

vi /etc/shorewall/rules

Debajo de SECTION NEW defina una regla que permita el acceso hacia el servicio de SSH (puerto 22/TCP) desde cualquier zona del muro cortafuegos:

SECTION NEW
ACCEPT	all	fw	tcp	22

Si requiere habilitar más puertos, puede hacerlo añadiendo líneas similares especificando el protocolo utilizado y el puerto o los puertos requeridos. En el siguiente ejemplo se habilitan los puertos para FTP, HTTP, HTTPS y el rango de puertos para conexiones pasivas para el servicio de FTP.

SECTION NEW
ACCEPT	all	fw	tcp	22
ACCEPT	all	fw	tcp	20,21,80,443,30300:30309

Defina una regla que permita hacer pings (puerto 8/ICMP) hacia el muro cortafuegos desde cualquier zona del muro cortafuegos, sin importar el puerto de origen, sin importar la dirección IP de destino y limitando a una tasa de 10 conexiones por segundo con ráfagas de 5:

SECTION NEW
ACCEPT	all	fw	tcp	22
ACCEPT	all	fw	tcp	20,21,80,443,30300:30309
ACCEPT	all	fw	icmp	8	-	-	10/sec:5

Los guiones medios indican que hay dos columnas de opciones si utilizar en este ejemplo. Corresponden a las columnas de puerto(s) de origen —SOURCE PORT(S)— y destino original —ORIGINAL DEST. Si omite colocarlos ocurrirá un error al intentar iniciar el servicio shorewall.

Si dispone de dos dispositivos de red, puede habilitar la salida desde la zona correspondiente a la red de área local (loc) hacia diversos puertos en la zona correspondiente a la red pública (net). En el siguiente ejemplo se habilita la salida para los puertos 20 (ftp-data), 21 (ftp), 22 (ssh), 25 (smtp), 43 (whois), 53 (dns), 63 (whois++), 80 (http), 110 (pop3), 123 (ntp), 143 (imap), 443 (https), 465 (smtps), 587 (submission), 993 (imaps) y 995 (pop3s) por TCP, los puertos 43 (whois), 53 (dns), 63 (whois++) y 123 (ntp) por UDP y los pings (puerto 8 por ICMP) limitado a una tasa de 20 conexiones por segundo con ráfagas de 10:

SECTION NEW
ACCEPT	all	fw	tcp	22
ACCEPT	all	fw	tcp	20,21,80,443,30300:30309
ACCEPT	all	fw	icmp	8	-	-	10/sec:5
ACCEPT	loc	net	tcp	20,21,80,443
ACCEPT	loc	net	tcp	25,110,143,465,587,993,995
ACCEPT	loc	net	tcp	43,53,63,123
ACCEPT	loc	net	udp	43,53,63,123
ACCEPT	loc	net	icmp	8	-	-	20/sec:10

Si dispone de tres dispositivos de red, puede habilitar la salida desde la zona correspondiente a la zona des-militarizada (dmz) hacia diversos puertos en la zona correspondiente a la red pública (net). En el siguiente ejemplo se habilita la salida para los puertos 20 (ftp-data), 21 (ftp), 22 (ssh), 25 (smtp), 43 (whois), 53 (dns), 63 (whois++), 80 (http), 110 (pop3), 123 (ntp), 143 (imap), 443 (https), 465 (smtps), 587 (submission), 993 (imaps) y 995 (pop3s) por TCP, los puertos 43 (whois), 53 (dns), 63 (whois++) y 123 (ntp) por UDP y los pings (puerto 8 por ICMP) limitado a una tasa de 20 conexiones por segundo con ráfagas de 10:

SECTION NEW
ACCEPT	all	fw	tcp	22
ACCEPT	all	fw	tcp	20,21,80,443,30300:30309
ACCEPT	all	fw	icmp	8	-	-	10/sec:5
ACCEPT	loc	net	tcp	20,21,80,443
ACCEPT	loc	net	tcp	25,110,143,465,587,993,995
ACCEPT	loc	net	tcp	43,53,63,123
ACCEPT	loc	net	udp	43,53,63,123
ACCEPT	loc	net	icmp	8	-	-	20/sec:10
ACCEPT	dmz	net	tcp	20,21,80,443
ACCEPT	dmz	net	tcp	25,110,143,465,587,993,995
ACCEPT	dmz	net	tcp	43,53,63,123
ACCEPT	dmz	net	udp	43,53,63,123
ACCEPT	dmz	net	icmp	8	-	-	20/sec:10

Archivo blrules.

Edite el archivo /etc/shorewall/blrules:

vi /etc/shorewall/blrules

Cualquier dirección IP o bloques de direcciones IP que se añadan a este archivo —en el formato que se describe a continuación— quedarán en lista negra para todas las zonas del muro cortafuegos. Los siguientes son ejemplos de algunos bloques de direcciones con muy mala reputación asignados a África y algunos de los bloques de direcciones con pésima reputación y que se sabe son controlados por la mafia rusa:

DROP	net:41.0.0.0/8		all
DROP	net:196.0.0.0/8		all
DROP	net:154.0.0.0/8		all
DROP	net:197.0.0.0/8		all
DROP	net:92.241.160.0/19	all
DROP	net:91.144.176.0/22	all
DROP	net:212.191.0.0/17	all
DROP	net:79.171.80.0/21	all

Iniciar el servicio shorewall.

Si utiliza CentOS 7 o Red Hat™ Entrerprise Linux 7 o versiones posteriores de éstos, ejecute lo siguiente para iniciar el muro cortafuegos:

systemctl start shorewall

Si utiliza ALDOS 1.4, CentOS 6 o Red Hat™ Entrerprise Linux 6 o versiones anteriores de éstos, ejecute lo siguiente para iniciar el muro cortafuegos:

service shorewall start

Archivo de registro del servicio shorewall.

Si falla al iniciar significa que hubo errores de sintaxis en cualquiera de los archivos editados. Revise el contenido del archivo de registro de inicio de Shorewall ejecutando lo siguiente:

tail -80 /var/log/shorewall-init.log

Realice las correcciones pertinentes e intente iniciar de nuevo el servicio.

Iniciar, detener y reiniciar el servicio shorewall.

CentOS 7 y Red Hat™ Enterprise Linux 7 y versiones posteriores de éstos.

Para iniciar por primera vez el servicio ejecute lo siguiente:

systemctl start shorewall

Para reiniciar el servicio shorewall o bien hacer que los cambios hechos a la configuración surtan efecto, ejecute lo siguiente:

systemctl restart shorewall

Para detener el servicio shorewall, ejecute lo siguiente:

systemctl stop shorewall

ALDOS 1.4, CentOS 6 y Red Hat™ Enterprise Linux 6 y versiones anteriores de éstos.

Para iniciar por primera vez el servicio ejecute lo siguiente:

service shorewall start

Para reiniciar el servicio shorewall o bien hacer que los cambios hechos a la configuración surtan efecto, ejecute lo siguiente:

service shorewall restart

Para detener el servicio shorewall, ejecute lo siguiente:

service shorewall stop

Agregar el servicio shorewall al arranque del sistema.

CentOS 7 y Red Hat™ Enterprise Linux 7 y versiones posteriores de éstos.

El almacén YUM de AlcanceLibre.org instala Shorewall 4.5. De modo predeterminado el servicio shorewall está deshabilitado. Ejecute lo siguiente para habilitar el servicio shorewall:

systemctl enable shorewall

Ejecute lo siguiente para deshabilitar el servicio shorewall:

systemctl disable shorewall

ALDOS 1.4, CentOS 6 y Red Hat™ Enterprise Linux 6 y versiones anteriores de éstos.

El almacén YUM de AlcanceLibre.org instala Shorewall 4.4. De modo predeterminado el servicio shorewall está habilitado en los niveles de ejecución 2, 3, 4, y 5. Ejecute lo siguiente para deshabilitar el servicio shorewall:

chkconfig shorewall off

Ejecute lo siguiente para habilitar el servicio shorewall:

chkconfig shorewall on