Instalación y configuración de Shorewall
Escrito por Edmond en Aplicaciones, Debian, Gnu-Linux, Redes, Seguridad, Utilidad 
Shorewall (Shoreline Firewall) es un cortafuegos que se apoya en el sistema netfilter (iptables / ipchains) del kernel de Linux, para facilitar la gestión de configuraciones de red avanzadas. Antes de comenzar la instalación de Shorewall, primero debe desinstalar cualquier otro servidor de seguridad. Ejemplo: Firestarter:
# apt-get remove --purge firestarter
# apt-get install shorewall shorewall-common shorewall-shell shorewall-doc dash
1) Partiamo con la configurazione del file interfaces:
#Gedit / etc / shorewall / interfaces
dentro copiamos lo siguiente:
# Shorewall version 3.0 - Ejemplo de archivo de interfaces para una configuración de la interfaz.
#
# / Etc / shorewall / interfaces
#
# Se debe agregar una entrada en este archivo para cada interfaz de red en su
# Sistema de firewall.
#
Columnas # son:
#
# ZONA Zona para esta interfaz. Debe coincidir con el nombre de una
# Zonas definidas en / etc shorewall / / zonas. Usted no podrá
# Lista de la zona de cortafuegos en esta columna.
#
# Si la interfaz ofrece varias zonas que se
Definido en el # / shorewall etc / hosts, debe
# Lugar "-" en esta columna.
#
Interfaces Si hay varios # para las mismas zonas,
# Se debe hacer una lista en las entradas por separado:
#
# Ejemplo:
#
Loc. # eth1 --
# LOC eth2 --
#
# INTERFACE Nombre de la interfaz. Cada interfaz se puede enumerar sólo
# Una vez en este archivo. Usted no puede especificar el nombre de
# Un alias (por ejemplo, eth0: 0) aquí, ver
# # Http: / / www.shorewall.net / FAQ.htm faq18
#
# Puede especificar comodines aquí. Por ejemplo, si usted
# ¿Quieres hacer una entrada que se aplica a todos los PPP
# Interfaces, use 'ppp +'.
#
# No hay necesidad de definir la interfaz de loopback (lo)
# En este archivo.
#
# Broadcast La dirección de difusión de la subred a la que el
# Interfaz pertenece. Para PTP interfaces, este
# Columna se deja blank.If la interfaz tiene múltiples
# Direcciones en varias subredes continuación la lista de difusión
Direcciones # como lista separada por comas.
#
# Si se utiliza el valor especial "detectar", el servidor de seguridad
# Detectará la dirección de difusión para usted. Si
# Selecciona esta opción, la interfaz debe ser antes de
# Se inicia el firewall, debe tener iproute
# Instalado.
#
# Si no quiere dar un valor para esta columna, pero
# Desea introducir un valor en la columna de opciones, introduzca
# "-" En esta columna.
#
# Opciones de una lista separada por comas de opciones, incluyendo la
# Después de:
#
# DHCP - Especifique esta opción cuando cualquiera de
# Los siguientes son verdaderas:
# 1. la interfaz obtiene su dirección IP
# A través de DHCP
# 2. La interfaz es utilizada por
# Un servidor DHCP se ejecuta en el servidor de seguridad
# 3. Usted tiene una IP estática, sino que están en una LAN
# Segmento con una gran cantidad de DHCP Laptop
Clientes #.
# 4. la interfaz es un puente con
# Un servidor DHCP en un puerto y DHCP
# Clientes en otro puerto.
#
# Norfc1918 - Esta interfaz no debería recibir
# Cualquier otra fuente de paquetes es quién en una
# De los rangos definidos por RFC 1918
# (Es decir, privado o "no ruteable"
Direcciones #. Si calandrado de paquetes o
# Empareja seguimiento de conexión está habilitada en
# Su núcleo, los paquetes en el destino de quién
# Direcciones están reservados por RFC 1918, son
# También rechazó.
#
# Routefilter - a su vez en la ruta del kernel de filtrado para este
# Interfaz (medida anti-spoofing). Esto
# Opción también puede ser activado a nivel mundial en
# El archivo / etc / shorewall / archivo shorewall.conf.
#
# Logmartians - encender marciano registros del kernel (la tala
# De paquetes con código fuente imposible
Direcciones #. Se sugiere que si
# Establezca en una interfaz que routefilter
# También logmartians de septiembre. Esta opción
# También puede ser habilitado a nivel mundial en el
# / Etc / shorewall / archivo shorewall.conf.
#
# Lista negra - Check paquetes que llegan a esta interfaz
# Contra el / shorewall etc / lista negra
# Archivo.
#
# Maclist - Las solicitudes de conexión de esta interfaz
# Se comparan con el contenido de
# / Etc / shorewall / maclist. Si esta opción
# Se especifica, la interfaz debe ser
# Una NIC de Ethernet y debe ser antes de
# Shorewall se ha iniciado.
#
# Tcpflags - Los paquetes que llegan a esta interfaz se
# Chequeo de determinadas combinaciones de ilegales
# De banderas de TCP. Paquetes encontró que
# Esta combinación de indicadores se manejan
# De acuerdo con el establecimiento de
# TCP_FLAGS_DISPOSITION después de haber sido
# Identificados de acuerdo con el establecimiento de
TCP_FLAGS_LOG_LEVEL #.
#
# Proxyarp --
Establece #
# / Proc/sys/net/ipv4/conf / <interface> / proxy_arp.
# NO use esta opción si usted es
# El empleo de Proxy ARP a través de las entradas de
# / Etc / shorewall / proxyarp. Esta opción es
# Destinados exclusivamente para su uso con Proxy ARP
# Sub-redes como se describen en:
# Http: / / www.tldp.org / HOWTO / mini / Proxy-ARP-subred
#
# Routeback - Si se especifica, se indica que Shorewall
# En caso de incluir normas que permitan
# Filtrado de tráfico que llegan a esta
# Interfaz de nuevo que la misma interfaz.
#
# Arp_filter - Si se especifica, esta interfaz sólo
# Responder a arp who-has solicitudes de propiedad intelectual
Direcciones # configurada en la interfaz.
# Si no se especifica, la interfaz puede
# Responder a arp who-has solicitudes de
# Direcciones IP en cualquiera de los cortafuegos
# Interfaz. La interfaz debe estar
# Cuando se inicia Shorewall.
#
Arp_ignore # [= <número>]
# - Si se especifica, esta interfaz se
# Responder a las peticiones ARP basada en la
# Valor de <número>.
#
# 1 - respuesta sólo si la dirección IP de destino
# Es la dirección local configurado en el
# Interfaz de entrada
#
# 2 - respuesta sólo si la dirección IP de destino
# Es la dirección local configurado en el
# Interfaz de entrada y ambos con la
# Dirección IP del remitente son parte de la misma
# Subred en esta interfaz
#
# 3 - no respuesta para las direcciones locales
# Configurado con el anfitrión alcance, sólo
# Resoluciones a escala mundial y enlaces
Direcciones # son respondió
#
# 4-7 - reservados
#
# 8 - no respuesta para todos los locales
Direcciones #
#
# Si no <número> se da entonces el valor
# 1 se supone
#
# AVISO - NO PRECISA arp_ignore
# Para cualquier interfaz INVOLUCRADOS EN PROXY ARP.
#
# Nosmurfs - paquetes de filtro para pitufos
# (Paquetes con una emisión de
Dirección # como la fuente).
#
# Pitufos se registra opcionalmente base
# En la configuración de SMURF_LOG_LEVEL en
# Shorewall.conf. Después de la tala, la
# Paquetes se descartan.
#
# Detectnets - Automáticamente Taylors la zona denominada
# En la columna de la ZONA para incluir sólo aquellos
Hosts # enrutan a través de la interfaz.
#
# UPnP - Las solicitudes entrantes de esta interfaz de
# Puede ser reasigna a través de UPnP (upnpd).
#
# ADVERTENCIA: NO establece la opción detectnets EN SU
# Interfaz de Internet.
#
# El orden en el que la lista de opciones no es
# Importantes, pero la lista no debería tener incrustado en blanco
# Espacio.
#
# Ejemplo 1: Supongamos que usted tiene eth0 conectado a un módem DSL y
# Eth1 conectada a la red local y que su
# Subred local es 192.168.1.0/24. La interfaz se
# Es la dirección IP mediante DHCP de la subred
# 206191149192/27. Usted tiene una zona de distensión con la subred
# 192.168.2.0/24 mediante eth2.
#
# Su entradas para esta configuración se vería así:
#
# Net eth0 dhcp 206191149223
# Local eth1 192.168.1.255
# Dmz eth2 192.168.2.255
#
Ejemplo # 2: La misma configuración, sin especificar de difusión
Direcciones # es:
#
# Eth0 neto detectar dhcp
# LOC eth1 detectar
# Dmz eth2 detectar
#
Ejemplo 3: Usted tiene una conexión simple Dial-en el sistema sin Ethernet
# Conexiones.
#
# Ppp0 neta --
#
# Para obtener información adicional, consulte
# # Http://shorewall.net/Documentation.htm Interfaces
#
################################################## #############################
# Zona de interfase opciones de difusión
net eth0 detectar routefilter, DHCP, tcpflags, logmartians, nosmurfs
# LAST LINE - agregar entradas antes de éste - NO RETIRE
Advertencia: Si usted tiene un router en lugar de cambiar el módem eth0 por ppp0. En cualquier caso, tratan de adaptarse a nuestras necesidades y la configuración.
2) Configure el archivo de política:
# Gedit / etc / shorewall / Política
dentro copiamos lo siguiente:
# Shorewall version 3.0 - Ejemplo de archivo de política para una configuración de la interfaz.
#
# / Etc / shorewall / Política
#
# DE LA ORDEN DE INSCRIPCIÓN EN ESTE ARCHIVO ES IMPORTANTE
#
# Este archivo determina qué hacer con una nueva solicitud de conexión si
# No te pongas un partido de la / shorewall etc / / normas de archivo. Para cada uno
Fuente # par de destino, el archivo es procesado en orden hasta que un
# Se encuentra partido ( "todos" coincidirá con cualquier cliente o servidor).
#
# INTRA-POLÍTICAS DE ZONA están pre-definidas
#
FW # Por $ para todas las zonas y se define en / etc / zonas shorewall /,
# La política para las conexiones de la zona a sí mismo es aceptar (sin
# Registro o limitación de la velocidad de conexión TCP, pero puede ser reemplazado por un
# Entradas en este archivo. La entrada principal debe ser explícita (no se puede utilizar
# "All" en la fuente o DEST).
#
Columnas # son:
#
# Zona de origen de origen. Debe ser el nombre de una zona definida
# En / etc / zonas shorewall / FW $ o "todos".
#
# DEST zona de destino. Debe ser el nombre de una zona definida
# En / etc / zonas shorewall / FW $ o "todos"
#
# POLÍTICA si no se encuentra ningún partido desde el archivo de reglas. Deber
# Ser "ACEPTAR", "DROP", "Rechazar", "continuar" o "NINGUNO".
#
# ACCEPT - aceptar la conexión
# DROP - ignorar la solicitud de conexión
# REJECT - Para TCP, enviar RST. Para todos los demás,
# Enviar "puerto inalcanzable" ICMP.
# COLA - Enviar la solicitud a un espacio de usuario
# De aplicaciones utilizando el objetivo QUEUE.
# Continue - Pase el pasado de solicitud de conexión
# Cualquier otra norma que podría también
# Del partido (cuando la fuente o
# Zona de destino en estas reglas es
# Un superconjunto de la fuente o el DEST
# En esta política).
# Ninguno - Supongamos que nunca habrá ninguna
# Los paquetes de esta fuente de
# Para este DEST. Shorewall no va a fijar
# Cualquier infraestructura para manejar tales
Los paquetes # y puede que no tenga ningún
# Reglas con esta fuente y en DEST
# El archivo / etc / shorewall / rules. Si
# _es_ Este paquete recibido, el
# Resultado es indefinido. NINGUNA no puede ser
# Se utiliza si la fuente o DEST columnas
# Contener la zona de servidor de seguridad ($ FW) o de
# "Todo".
#
# Si esta columna contiene ACCEPT, DROP o REJECT y un
# Acción común correspondiente se define en el
# / Etc / shorewall / acciones (o
# / Usr / share / shorewall / actions.std) luego de que la acción
# Se invocará antes de que la política llamada de esta columna
# Se aplica.
#
# Nivel de registro Si se proporciona, cada conexión manipulados en el valor predeterminado
# POLÍTICA se registra en ese nivel. Si no se suministran, no
# Mensaje de registro se genera. Ver syslog.conf (5) para un
# Descripción de los niveles de registro.
#
# Shorewall partir de la versión 1.3.12, puede
# También debe especificar ULOG (debe estar en mayúsculas). Esto
# Entrar a la ULOG objetivo y enviado a un registro separado
Mediante el uso de ulogd #
# (Http: / / www.gnumonks.org / proyectos / ulogd).
#
# Si no desea iniciar sesión, pero es necesario especificar el
# A raíz de la columna, el lugar "-" aquí.
#
# LIMIT: BURST Si es aprobada, especifica la velocidad máxima de conexión TCP
# Y el tamaño de una explosión aceptable. Si no se especifica,
# Conexiones TCP no están limitadas.
#
Ver http://shorewall.net/Documentation.htm # # Política de información adicional.
#
################################################## #############################
# SOURCE DEST POLICY LOG Level Limit: Burst
ACCEPT $ FW net
red toda la información de DROP
# La siguiente política debe ser el último
toda la información de todos los RECHAZAR
# LAST LINE - agregar entradas encima de esta línea - NO RETIRE
3) Crear las zonas de archivo de configuración:
# Gedit / etc / shorewall / zonas
dentro copiamos lo siguiente:
# Shorewall version 3.0 - Ejemplo de archivo para las Zonas de una configuración de la interfaz.
#
# / Etc / shorewall / zonas
#
# Este archivo determina las zonas de la red.
#
Columnas # son:
#
# Nombre de la zona corta de la zona (5 caracteres o menos de longitud).
# Los nombres de "todos" y "ninguno" están reservados y no pueden ser
# Se usa como nombres de zona.
#
# Cuando una zona está anidado en uno o más de otras zonas,
# Se puede seguir el (sub) nombre de la zona por ":" y un
# Lista separada por comas de las zonas de los padres. El padre
# Debe zonas se han definido en los primeros registros en esta
# Archivo.
#
# Ejemplo:
#
OPCIONES # # Tipo de zona
IPv4 #
# B IPv4
# C: A, B IPv4
#
# En la actualidad, Shorewall utiliza esta información exclusivamente para reordenar la
# Zonas de lista para que las zonas principales aparecen después de su subzonas en
# La lista. En el futuro, Shorewall puede hacer un uso más extenso
# De esa información.
#
# Tipo de IPv4 - Este es el tipo estándar de Shorewall zona y es el
# Default si se deja en blanco esa columna o si escribe
# "-" En la columna. La comunicación con algunos hosts zona
# Puede ser encriptados. Anfitriones cifrado se designan empleando
# El 'ipsec'option en / shorewall etc / hosts.
# IPsec - Comunicación con todos los hosts de la zona está cifrada
# Iptables de su núcleo y debe incluir la política
El apoyo del partido #.
# Firewall
# - Designa el servidor de seguridad propio. Usted debe tener
Zona # Exactamente un 'cortafuegos'. No hay opciones
# Permitidos con una zona de 'firewall'. El nombre que
# Ingrese en la columna de zona se almacena en el depósito
FW variable # $ que usted puede utilizar en la configuración de otros
# Ficheros a las zonas de cortafuegos designado.
#
# Opciones de una lista separada por comas de las opciones de la siguiente manera:
# En Opciones,
Las opciones # = reqid <número> <número> donde se especifica
# Usando setkey (8) utilizando el "único: <número>
# Opción para el nivel del SPD.
#
# Spi = <número> <número> dónde está el SPI de
# El SA utiliza para cifrar / descifrar los paquetes.
#
# Proto = ah | ESP | ipcomp
#
Mss # = <número> (establece el campo de los SMS en los paquetes TCP)
#
# = Modo de transporte | túnel
#
# Túnel-src = <address> [/ <mask>] (solo
# Disponible con el modo de túnel =)
#
# Túnel-DST = <address> [/ <mask>] (solo
# Disponible con el modo de túnel =)
#
Significa que los paquetes # estricta debe coincidir con todas las reglas.
#
# A continuación Separa las normas, sólo se puede utilizar con
# .. Strict
#
# Ejemplo:
# = Modo de transporte, reqid = 44
#
# Las opciones en la columna de opciones se aplican tanto a los entrantes
# Y el tráfico saliente. En Opciones de la aplicación de entrada
# Tráfico (además de las opciones) y las opciones que están
# Aplicarse al tráfico saliente.
#
# Si desea dejar una columna vacía, pero necesita hacer una entrada
# En la columna siguiente, utilice "-".
#
# DE LA ORDEN DE LA contenido de este archivo es importante si se han anidado O
Zonas de solapamiento # define a través de / etc / shorewall / hosts.
#
# # Ver anidadas http://www.shorewall.net/Documentation.htm
################################################## #############################
OPCIONES # Tipo de zona IN OUT
# OPCIONES OPCIONES
Firewall FW
net ipv4
# LAST LINE - agregar entradas por encima de ésta - NO RETIRE
4) Configuración de las normas de archivo.
# Gedit / etc / shorewall / normas
dentro copiamos lo siguiente:
# Shorewall version 3.0 - Muestra del archivo de reglas para una configuración de la interfaz.
#
# / Etc / shorewall / normas
#
Reglas # en este archivo de gobernar establecimiento de la conexión. Las solicitudes y las
# Las respuestas, se permite automáticamente utilizando el seguimiento de la conexión. Para cualquier
# Especial (origen, destino) par de zonas, las reglas son evaluadas en el
# ¿En qué orden aparecen en este archivo y el primer partido es el que
# Que determina la disposición de la petición.
#
# En la mayoría de los lugares en que la dirección IP o subred está permitido, que
# Puede preceder a la dirección / subred con "!" (por ejemplo,! 192.168.1.0/24) a
# Indica que la regla coincide con todas las direcciones excepto la dirección / subred
# Given. Observe que no se permite espacios en blanco entre "!" y el
# Dirección / subred.
#--------------------------
# ADVERTENCIA: Si usted mascarada o el uso SNAT de un sistema local a Internet
# No se puede usar una regla Aceptar para permitir el tráfico de la Internet para
# Dicho sistema. * * Usted debe utilizar una regla DNAT en su lugar.
#--------------------------
#
# El archivo de reglas se divide en secciones. Cada sección es introducida por
# A "Sección de cabecera", que es una línea que comienza con la sección seguido de la
# Nombre de sección.
#
# Secciones son las siguientes y deben aparecer en el orden indicado:
#
# ESTABLECIDO paquetes en el estado ESTABLISHED son procesados
# Por las reglas en esta sección.
#
# Las únicas acciones permitidas en esta sección son
# ACCEPT, DROP, REJECT, LOG y QUEUE
#
# Hay una regla implícita inserta ACCEPT
# Al final de esta sección.
#
RELACIONADOS # paquetes en el estado RELACIONADOS son procesados por
Reglas # en esta sección.
#
# Las únicas acciones permitidas en esta sección son
# ACCEPT, DROP, REJECT, LOG y QUEUE
#
# Hay una regla implícita inserta ACCEPT
# Al final de esta sección.
#
Nuevos paquetes # en el nuevo y los estados son NO VÁLIDO
# Procesados por las reglas en esta sección.
#
# ADVERTENCIA: Si especifica FASTACCEPT = Yes en shorewall.conf entonces el
# ESTABLECIDO y las correspondientes secciones debe estar vacío.
#
# Nota: Si usted no está familiarizado con Netfilter hasta el punto en el que se
# Confortable con las diferencias entre la conexión de varios
# Estados de seguimiento, entonces les sugiero que se omite lo establecido y
Secciones RELACIONADOS # y poner todas sus reglas en la nueva sección.
#
# Se puede omitir cualquier parte que usted no necesita. Si no aparecen encabezados de sección de
# En el archivo, entonces todas las reglas se supone que en la nueva sección.
#
Columnas # son:
#
# ACCIÓN ACCEPT, DROP, REJECT, DNAT, DNAT, REDIRECT, SIGA,
# LOG, QUEUE o un <action>.
#
# ACCEPT - permitir la solicitud de conexión
ACCEPT # + - como aceptar, pero también excluye la
# Conexión de cualquier posterior
# DNAT [-] o REDIRECT [-] las normas
# Nonat - Excluye la conexión desde cualquier
# DNAT posterior [-] o REDIRECT [-]
# Reglamento, pero no genera una regla
# Para aceptar el tráfico.
# DROP - ignorar la solicitud de
# REJECT - denegar la solicitud y devolverá un
# ICMP inalcanzable o un paquete RST.
# DNAT - Remitir la solicitud a otra
# Sistema (y, opcionalmente, otro
# Port).
# DNAT - usuarios avanzados.
# Como DNAT, pero sólo genera el
# Regla iptables DNAT y no
# Esta regla ACCEPT compañero.
# Lo mismo - Similar al DNAT salvo que el
# Puerto no puede ser y cuando se reasigna
# Direcciones de los servidores múltiples son
# En todas las solicitudes de una determinada
# Sistema remoto de ir a la misma
Servidor #.
# SAME- — Advanced users only.
# Como iguales, pero sólo genera el
# Regla iptables NAT y no
# Esta regla ACCEPT compañero.
# REDIRECT - Redirigir la petición a un local
# Puerto en el cortafuegos.
# REDIRECT --
# - Usuarios avanzados.
# Como REDIRET pero sólo genera el
Regla # REDIRECT iptables y no
# Esta regla ACCEPT compañero.
#
# Continue - (Sólo para expertos). No proceso
# Cualquiera de las siguientes normas para este
# (Zona de origen, la zona de destino). Si
# La fuente y / o IP de destino
# Dirección cae en una zona definida
# Más tarde, en / etc / shorewall / zonas, esta
# De solicitud de conexión se pasará
# Para las reglas definidas para que
# (Las) zona (s).
# LOG - Simplemente ingrese el paquete y continuar.
# COLA - Cola el paquete a un espacio de usuario
# De aplicaciones, tales como ftwall
# (Http: / / p2pwall.sf.net).
# <action> - El nombre de una acción se define en
# / Etc / shorewall acciones o en
# / Usr / share / shorewall / actions.std.
# <macro> - El nombre de una macro definida en un
# El nombre del archivo macro. <macro-name>. Si
# La macro acepta un recurso
# Parámetro (Vea la macro
# Fuente para ver si tiene PARAM en
# La columna de destino), entonces la macro
# Nombre es seguido por "/" y el
# Acción (ACCEPT, DROP, REJECT, ...)
# Para ser sustituido por el
# Parámetros. Ejemplo: FTP / ACCEPT.
#
# El recurso opcionalmente puede ser seguida
# A ":" y un nivel de registro de syslog (por ejemplo, rechazar: Información o
# DNAT: debug). This causes the packet to be
# Registran en el nivel especificado.
#
# Si los nombres de las acciones de una acción se define en
# / Etc / shorewall acciones o en
# / Usr / share / shorewall / actions.std continuación:
#
# - Si el nivel de registro es seguido de "!" a continuación, todas las normas
# En la acción se registran en el nivel de registro.
#
# - Si el nivel de registro no es seguida por "!" sólo entonces
# Las reglas en la acción que no se especifica
# Registro se registran en el nivel especificado.
#
# - No el nivel de registro especial "!" Suprime la tala
# Por la acción.
#
# También puede especificar ULOG (debe estar en mayúsculas) como un
# Registrará en el registro de level.This ULOG objetivo para el encaminamiento de
# Para un acceso específico a través del uso de ulogd
# (Http: / / www.gnumonks.org / proyectos / ulogd).
#
Acciones # especifica el registro puede ser seguido por un
# Nombre tag (una cadena de caracteres alfanuméricos)
# Se anexan a la cadena generada por el
# LOGPREFIX (en / etc / shorewall / shorewall.conf).
#
# Ejemplo: accept: info: ftp incluiría 'ftp'
# Al final del prefijo de registro generado por el
# LOGPREFIX ajuste.
#
Anfitriones Fuente # fuente a la que se aplica la regla. Puede ser una zona de
# Define en / etc / zonas shorewall /, $ FW para establecer el
# Servidor de seguridad de sí mismo, "todos", "todos +" o "ninguno" si el recurso
# Es DNAT o REDIRECT, sub-zonas de las zonas especificadas
# Puede ser excluido de la norma, siguiendo la Zona de
# Nombre con "!" y una lista separada por comas de sub-zonas de
Nombres #.
#
# Cuando "ninguno" se utiliza tanto en la fuente o el DEST
# Columna, se omite la regla.
#
# Cuando "todos" se utiliza tanto en la fuente o la columna DEST
# Tráfico intra-zona no está afectada. Cuando "todos +" es
# Used, dentro de la zona de tráfico se ve afectado.
#
# Salvo cuando "todos [+]" se especifica, los clientes pueden ser
# Más restringido a una lista de subredes y / o servidores por los
# Adición ":" y una lista separada por comas de subredes
# Y / o hosts. Hosts puede ser especificado por IP o MAC
# Dirección, las direcciones MAC debe comenzar con "~" y debe utilizar
# "-" Como separador.
#
# Hosts se puede especificar con un rango de direcciones IP mediante la
# Sintaxis <low dirección> - <high dirección>. Esto requiere que
# Su núcleo e iptables contienen soporte iprange partido.
# Si el kernel e iptables han ipset igualar la ayuda
# Luego se puede dar el nombre de un ipset precedido por "+".
Ipset # El nombre puede ser seguido opcionalmente por un número
# De 1 a 6 entre corchetes ([]) para
# Indica el número de niveles de fijaciones de origen que se
# Igualados.
#
# DMZ: 192.168.2.2 host 192.168.2.2 en la zona de distensión
#
Net #: 155.186.235.0/24 subred 155.186.235.0/24 en la
Internet #
#
# Loc: 192.168.1.1,192.168.1.2
# 192.168.1.1 y los Ejércitos
# 192.168.1.2 en los ámbitos locales.
# Loc: ~ 00-A0-C9-15-39-78 rural en los ámbitos locales con
# Dirección MAC 00: A0: C9: 15:39:78.
#
# :192.0.2.11 Net-192 .0.2.17
Hosts # en 192.0.2.11-192.0.2.17
# La zona de red.
#
# Alternativamente, los clientes pueden ser especificados por la interfaz
# Añadiendo ":" a nombre de la zona seguido por la
# Nombre de la interfaz. Por ejemplo, Loc: eth1 especifica un
# Cliente que se comunique con el sistema de cortafuegos
# A través de eth1. Esto puede ser seguido opcionalmente por
# Otro (":") de colon y de una dirección IP / MAC / dirección de subred
# Como se describió anteriormente (por ejemplo, loc: eth1: 192.168.1.5).
#
DEST # Ubicación de servidor. Puede ser una zona definida en el
# / Etc / zonas shorewall /, $ FW para configurar el cortafuego
# Sí mismo ", todos". "todos +" o "ninguno".
#
# Cuando "ninguno" se utiliza tanto en la fuente o el DEST
# Columna, se omite la regla.
#
# Cuando "todos" se utiliza tanto en la fuente o la columna DEST
# Tráfico intra-zona no está afectada. Cuando "todos +" es
# Used, dentro de la zona de tráfico se ve afectado.
#
# Salvo cuando "todos [+]" se especifica, el servidor puede ser
# Más restringida a una subred particular, de acogida o
# Interfaz añadiendo: "y la subred, de acogida o
# Interfaz. Véase más arriba.
#
# Restricciones:
#
# 1. Las direcciones MAC no están permitidos.
# 2. En las reglas DNAT, sólo las direcciones IP son
Direcciones # domésticos; no FQDN o subred
# Están permitidos.
# 3. Usted no puede especificar una interfaz y
# Una dirección.
#
# Al igual que en la columna de origen, puede especificar un rango de
# Hasta 256 direcciones IP usando la sintaxis
# IP> <primer - <last ip>. Cuando la acción es DNAT o DNAT,
# Las conexiones serán asignados a las direcciones en el
# Range en un round-robin.
#
# Si el kernel e iptables han ipset igualar la ayuda
# Luego se puede dar el nombre de un ipset precedido por "+".
Ipset # El nombre puede ser seguido opcionalmente por un número
# De 1 a 6 entre corchetes ([]) para
# Indica el número de niveles de destino de los enlaces
# Para ser igualado. Sólo una de las fuentes y columnas DEST
# Puede especificar un nombre de ipset.
#
# El puerto que el servidor está escuchando puede ser
# Incluido y separado de la dirección IP del servidor de
# ":". Si se omite, el firewall no MoDifiy la
# Puerto de destino. Un puerto de destino sólo podrá ser
# Incluido si la acción se DNAT o REDIRECT.
#
Ejemplo #: Loc: 192.168.1.3:3128 especifica un local
# Server en la dirección IP 192.168.1.3 y escuchando en el puerto
# 3128. El número de puerto debe especificarse como un entero
# Y no como un nombre de / etc / services.
#
# Si el recurso es REDIRECT, esta columna sólo necesita
# contain the port number on the firewall that the
# request should be redirected to.
#
# PROTO Protocol – Must be "tcp", "udp", "icmp", "ipp2p",
# "ipp2p:udp", "ipp2p:all" a number, or "all".
# "ipp2p*" requires ipp2p match support in your kernel
# and iptables.
#
# DEST PORT(S) Destination Ports. A comma-separated list of Port
# names (from /etc/services), port numbers or port
# ranges; if the protocol is "icmp", this column is
# interpreted as the destination icmp-type(s).
#
# If the protocol is ipp2p, this column is interpreted
# as an ipp2p option without the leading "–" (example
# "bit" for bit-torrent). If no port is given, "ipp2p" is
# assumed.
#
# A port range is expressed as <low port>:<high port>.
#
# This column is ignored if PROTOCOL = all but must be
# entered if any of the following ields are supplied.
# In that case, it is suggested that this field contain
# "-"
#
# If your kernel contains multi-port match support, then
# only a single Netfilter rule will be generated if in
# this list and the CLIENT PORT(S) list below:
# 1. There are 15 or less ports listed.
# 2. No port ranges are included.
# Otherwise, a separate rule will be generated for each
# port.
#
# CLIENT PORT(S) (Optional) Port(s) used by the client. If omitted,
# any source port is acceptable. Specified as a comma-
# separated list of port names, port numbers or port
# ranges.
#
# If you don't want to restrict client ports but need to
# specify an ORIGINAL DEST in the next column, then
# place "-" in this column.
#
# If your kernel contains multi-port match support, then
# only a single Netfilter rule will be generated if in
# this list and the DEST PORT(S) list above:
# 1. There are 15 or less ports listed.
# 2. No port ranges are included.
# Otherwise, a separate rule will be generated for each
# port.
#
# ORIGINAL DEST (0ptional) — If ACTION is DNAT[-] or REDIRECT[-]
# then if included and different from the IP
# address given in the SERVER column, this is an address
# on some interface on the firewall and connections to
# that address will be forwarded to the IP and port
# specified in the DEST column.
#
# A comma-separated list of addresses may also be used.
# This is usually most useful with the REDIRECT target
# where you want to redirect traffic destined for
# particular set of hosts.
#
# Finally, if the list of addresses begins with "!" entonces
# the rule will be followed only if the original
# destination address in the connection request does not
# match any of the addresses listed.
#
# For other actions, this column may be included and may
# contain one or more addresses (host or network)
# separated by commas. Address ranges are not allowed.
# When this column is supplied, rules are generated
# that require that the original destination address
# matches one of the listed addresses. This feature is
# most useful when you want to generate a filter rule
# that corresponds to a DNAT- or REDIRECT- rule. In this
# usage, the list of addresses should not begin with "!".
#
# See http://shorewall.net/PortKnocking.html for an
# example of using an entry in this column with a
# user-defined action rule.
#
# RATE LIMIT You may rate-limit the rule by placing a value in
# this colume:
#
# <rate>/<interval>[:<burst>]
#
# where <rate> is the number of connections per
# <interval> ("sec" or "min") and <burst> is the
# largest burst permitted. If no <burst> is given,
# a value of 5 is assumed. There may be no
# no whitespace embedded in the specification.
#
# Example: 10/sec:20
#
# USER/GROUP This column may only be non-empty if the SOURCE is
# the firewall itself.
#
# The column may contain:
#
# [!][<user name or number>][:<group name or number>][+<program name>]
#
# When this column is non-empty, the rule applies only
# if the program generating the output is running under
# the effective <user> and/or <group> specified (or is
# NOT running under that id if "!" is given).
#
# Examples:
#
# joe #program must be run by joe
# :kids #program must be run by a member of
# #the 'kids' group
# !:kids #program must not be run by a member
# #of the 'kids' group
# +upnpd #program named upnpd (This feature was
# #removed from Netfilter in kernel
# #version 2.6.14).
#
# Example: Accept SMTP requests from the DMZ to the internet
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# ACCEPT dmz net tcp smtp
#
# Example: Forward all ssh and http connection requests from the
# internet to local system 192.168.1.3
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# DNAT net loc:192.168.1.3 tcp ssh,http
#
# Example: Forward all http connection requests from the internet
# to local system 192.168.1.3 with a limit of 3 per second and
# a maximum burst of 10
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE
# # PORT PORT(S) DEST LIMIT
# DNAT net loc:192.168.1.3 tcp http – – 3/sec:10
#
# Example: Redirect all locally-originating www connection requests to
# port 3128 on the firewall (Squid running on the firewall
# system) except when the destination address is 192.168.2.2
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# REDIRECT loc 3128 tcp www – !192.168.2.2
#
# Example: All http requests from the internet to address
# 130.252.100.69 are to be forwarded to 192.168.1.3
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# DNAT net loc:192.168.1.3 tcp 80 – 130.252.100.69
#
# Example: You want to accept SSH connections to your firewall only
# from internet IP addresses 130.252.100.69 and 130.252.100.70
#
# #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL
# # PORT PORT(S) DEST
# ACCEPT net:130.252.100.69,130.252.100.70 $FW \
# tcp 22
################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/
# PORT PORT(S) DEST LIMIT GROUP# Reject Ping from the "bad" net zone.. and prevent your log from being flooded..
Ping/REJECT net $FW
# Permit all ICMP traffic FROM the firewall TO the net zone
ACCEPT $FW net icmp
#LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE
In questo file vengono settate le regole di accesso, quindi è qui che a secondo delle esigenze di ognuno di noi vanno aperte le porte per i programmi che noi utilizziamo. Facendo degli esempi con Amule, Deluge, Ftp, prima dell'ultima riga:
#LAST LINE — ADD YOUR ENTRIES BEFORE THIS ONE — DO NOT REMOVE
vanno inserite le regole:
# aMule
ACCEPT net $FW tcp 4662
ACCEPT $FW net tcp 4662
ACCEPT net $FW udp 4672
ACCEPT $FW net udp 4672
ACCEPT net $FW udp 4665
ACCEPT $FW net udp 4665# Ftp modo passivo
ACCEPT net $FW tcp 21
ACCEPT $FW net tcp 21
ACCEPT net $FW tcp 50000:50100
ACCEPT $FW net tcp 50000:50100#deluge
ACCEPT net $FW tcp 6881:6889
ACCEPT $FW net tcp 6881:6889
5) Per attivare shorewall all'avvio:
# gedit /etc/default/shorewall
e rimpiazzare "startup=0" con "startup=1"
6) Lanciare shorewall:
# shorewall start
7) Dopo aver fatto qualche modifica:
# shorewall restart
Per moltissime altre info, soprattutto più esaurienti e complete direttamente qua .
Puesto similar (o casi):
- Scripts de Gmail para descargar el correo de Gmail yo ...
- Archivo Cryptare Cada uno de nosotros, más o menos, es celoso de ...,
- Super Grub Disk su penna usb Super Grub Disk come si sa è utilissimo, è uno...
- Cifrar archivos con encfs Hay otra manera, además de esto para ...
- Mcrypt-cifrar archivos Este es un pequeño truco para cifrar rápidamente ...
















dicembre 9th, 2008 alle 23:08
A me pare inutile riportare tutta sta roba se poi ci sono solo due righe scarne di spiegazione…
Bah,
dicembre 10th, 2008 alle 07:54
@ FussyPenguin
In realtà io ho riportato quella che può essere una configurazione base, per un uso più o meno immediato, e mi sembra che sia abbastanza esauriente :) Certamente, a secondo delle nostre esigenze di configurazione, di approfondimenti ce ne sarebbero tanti, ma per quello e meglio rimandare alle faq di shorewall, altrimenti si rischia di scrivere un volume lungo come quello di Guerra e Pace. Ciao ;)
agosto 21st, 2009 alle 16:08
Ciao Edmond,
dato che sei esperto in shorewall e lo uso anch io, ti posto un quesito a cui non so ancora rispondermi…..
In shorewall e possibile differenziare i log in più file???
da 2 regole tipo
DNAT:info1 wan lan:10.0.0.2 tcp 22
DNAT:info2 wan lan:10.0.0.2 tcp 110
in modo da avere 2 file distinti quali
/var/log/info1
/var/log/info2
grazie ciao…
agosto 21st, 2009 alle 23:59
Ciao newsert in questo momento non riesco a fare delle prove, spero di riuscire a risponderti al più presto, nel caso trovassi tu per primo la soluzione postala pure.
agosto 22nd, 2009 alle 01:11
Soluzione….
Installare syslog-ng, nel file /etc/syslog-ng/syslog-ng.conf alla voce destinations aggiungere questo script
destination df_dnatTCP22 { file(\/var/log/info1.log\); };
filter f_dnat0 { match(\DNAT\); };
filter f_dnat1 { match(\DPT=22\); };
log {
source(s_all);
filter(f_dnat0);
filter(f_dnat1);
destination(df_dnatTCP22);
};
destination df_dnatTCP110 { file(\/var/log/info2.log\); };
filter f_dnat0 { match(\DNAT\); };
filter f_dnat1 { match(\DPT=110\); };
log {
source(s_all);
filter(f_dnat0);
filter(f_dnat1);
destination(df_dnatTCP110);
};
Cosi ho risolto la mia necessità… comunque il sistema non ha una immediata elasticità come immaginavo, per ogni porta bisogna fare una regola e la cosa e un pochino complessa….
Comunque a me basta e spero anche a voi…..
Edmond scusa, hai mai usato fwlogwatch???
e un bel programmino che sto usando per implementare shorewalll..
CiauzzZzz
agosto 22nd, 2009 alle 01:30
Grazie per aver postato la soluzione, spero di poterla provare al più presto. Per quanto riguarda fwlogwatch non l'ho mai provato anche perchè non ho necessità di report per quanto riguarda la mia rete. Ciao ;)