Wikipeando

Instalacion y configuracion shorewall en DEBIAN con 2 interfaces.

Posteado en Debian, Seguridad, Shorewall por Killer2k el 23 de October de 2007

Shorewall es una robusta y extensible herramienta de alto nivel para la configuración de firewall. Solo necesita que se le proporcionen algunos datos en algunos archivos y éste creará las reglas correspondientes a través de iptables.

Los pasos a seguir son los siguientes:

1) apt-get install shorewall
2) cp * /usr/share/doc/shorewall/default-config /etc/shorewall
3) Editar los siguientes archivos en /etc/shorewall

Inicio Shorewall
/etc/default/shorewall

Donde dice startup=0 cambiarlo por startup=1

Interfaces
/etc/shorewall/interfaces

En este archivo se establecen las interfaces de las zonas a ser tomadas en cuenta por el firewall. Se establecen las que corresponden a la de Internet y Red Local.
En el siguiente ejemplo, se cuenta con una interfaz eth1 para acceder hacia Internet, y una interfaz eth0 para acceder hacia la LAN

#ZONE  INTERFACE  BROADCAST  OPTIONS  GATEWAY
net    eth1       detect     dhcp
loc    eth0       detect
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Zonas
/etc/shorewall/zones

En el archivo zones se definen las zonas que se administraran del firewall.

#ZONE      DISPLAY         OPTIONS
fw         firewall
net        ipv4
loc        ipv4
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Reglas
/etc/shorewall/rules

Este es el archivo de configuración más importante de Shorewall, ya que aquí se definen las reglas que permitirán o denegarán el acceso a servicios y puertos desde y hacia zonas o el firewall. También se puede definir las reglas DNAT y registro de ciertos paquetes.

ACCEPT net $FW tcp 22
(con esto abrimos el puerto del ssh para poder ingresar desde afuera de ser necesario, de lo contrario no hace falta)

ACCEPT loc $FW tcp 3128
(con esto abrimos el puerto del proxy en el caso de tener instalado)

DNAT net loc:192.168.0.10:27016 tcp 27016
(Un ej de como abrir el puerto 27016 en la IP indicada, remplazamos por lo que querramos, muy util para poder administrar los puertos en las PC donde se quiere utilizar programas p2p)

Mas ejemplos en http://www.shorewall.net/ports.htm

Politicas
/etc/shorewall/policy

En este archivo se establecen las políticas por defecto para paquetes que viajan entre una zona hacia otra.

loc    net    ACCEPT
fw    loc    ACCEPT
loc    fw    ACCEPT
fw    net    ACCEPT
net    all    DROP
all    all    REJECT

Enmascaramiento
/etc/shorewall/masq

Este archivo se lo utiliza para definir enmascaramiento (masquerading) o NAT, esto es útil cuando tenemos una red privada con la cual queremos navegar a través de un Proxy. En el siguiente ejemplo aplicaremos enmascaramiento para la interfaz eth0 (Red Lan) la cual sale por medio de la interfaz eth1 que es nuestra IP Pública:

#INTERFACE   SUBNET   ADDRESS   PROTO   PORT(S)   IPSEC
eth1         eth0
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Lo mas probable es que no les inicie bien el shorewall cuando prendan la PC, para resolver ese problema hacemos lo siguientes pasos.

1) cd /etc/init.d/
2) Creamos un archivo de texto llamado shoreclear.sh o el nombre que quieran. Dentro agregamos lo siguiente:

#!/bin/sh
shorewall stop
sleep 4
shorewall clear
sleep 4
shorewall start

3) Lo guardan y le dan permiso de ejecucion.
chmod +x shoreclear.sh
4) Creamos un link blando en /etc/rc2.d/ de la siguiente manera.
cd /etc/rc2.d/
ln -s /etc/init.d/shoreclear.sh
mv shoreclear.sh S92shoreclear

Con eso cada vez que inicie el sistema va a ejecutar el script que hicimos en los pasos anteriores.

Como instalar shorewall en modo firewall bajo debian

Posteado en Debian, Seguridad, Shorewall por situ el 21 de June de 2007

Shorewall es un frontend amigable de IPTABLES que nos permite configurar un poderoso y robusto firewall entre otras cosas.
En esta guia vamos a ver paso a paso como configurar shorewall en modo firewall para una sola interfaz de red.

1. Instalamos shorewall.
apt-get install shorewall

2. Debemos copiar la configuracion por defecto a nuestra carpeta de configuracion.
cd /usr/share/doc/shorewall/default-config
cp * /etc/shorewall/

3. Ahora vamos a configurar los archivos de interfaces y zonas:
/etc/shorewall/interfaces: Acá vamos asociar las interfaces de nuestro sistema. En nuestro caso una: eth0
El contenido del archivo sería:
net eth0 detect routefilter,dhcp,tcpflags,logmartians,nosmurfs

/etc/shorewall/zones: Acá vamos a definir las zonas que utilizamos para las interfaces. Como solo tenemos una la llamamos net:
El contenido del archivo sería:
net net

/etc/shorewall/policy: Acá vamos a definir las políticas de seguridad para las zonas. Como solo tenemos una y lo que queremos es que se tenga acceso a internet (net) en un solo sentido vamos a poner lo siguiente:
El contenido del archivo sería:
$FW net ACCEPT
net $FW DROP info

/etc/shorewall/rules: Acá vamos a definir las reglas de trafico, estas reglas se superponen a las políticas asi que acá podemos permitir el trafico desde/hacia una zona bloqueada hacia/desde un puerto o rango en particular.
En nuestro caso queremos permitir el acceso al puerto 22.
El contenido del archivo sería:
ACCEPT net $FW tcp 22

4. Por ultimo debemos verificar que esta todo correctamente configurado antes de iniciarlo, para eso debemos hacer:
#shorewall check
y si esta todo bien podemos iniciarlo:
#shorewall start

Si no hay ningun problema ya estamos listos para configurar el inicio automatico de shorewall al bootear el equipo, para eso hay que editar los siguientes archivos:
en /etc/shorewall/shorewall.conf debemos poner:
STARTUP_ENABLED=Yes
y en /etc/default/shorewall:
startup=1

NOTA: si hacemos un cambio en los archivos debemos testearlos con shorewall check y si esta todo bien, reiniciamos el firewall con shorewall restart.

De esta manera tenemos nuestro sistema protegido con un potente y simple firewall.
Si lo desean, también pueden ver nuestro script para checkeo de reglas: http://www.wikipeando.com/index.php/archives/129

Verificacion de reglas del FW Shorewall

Posteado en Programacion, Linux, Seguridad, Shorewall por tux el 25 de January de 2007

Al ser usuario del Firewall Shorewall y como nuestro servidor es administrado por varias personas, nos vimos obligados a hacer un pequeño shell script el cual nos nuestra las reglas creadas para: (more...)