Cargando



Firewall para servidores accesibles desde el exterior

Cuando algunos ordenadores de una red interna tienen que ser accesibles desde el exterior (servidor web, un servidor de mensajería, un servidor FTP público, etc.), se puede correr el riesgo de comprometer la seguridad de la red.


feb 13 2014 23:19
Avanzado
feb 17 2014 10:51

firewall.jpg


Para prevenir problemas de seguridad, se crea a menudo una zona intermedia a través de las opciones de configuración del cortafuegos, donde cada red se conecta a una interfaz de red distinta. Esta configuración se llama cortafuegos en trípode (three-legged firewall).

Aquellos que necesiten tener una puerta por la que entre tráfico desde Internet, deberá ir en una zona intermedia de servicios públicos o frontend. La ubicación de los servidores que nutren estas aplicaciones públicas deben ir en una red diferente y protegida, o de backend.

En este tipo de firewall hay que permitir:

- Acceso de la red local a internet.
- Acceso público desde internet al puerto tcp/80 y tcp/443 de nuestro servidor web.
- Obviamente bloquear el resto de acceso hacia la red local.
Debe tener presente, de esta manera, la posee un nivel de seguridad intermedio, el cual no es lo suficientemente alto para almacenar datos imprescindibles de la compañía.

Suponemos que el servidor utiliza linux, una distribucion basa en debian.

Configurando las interfaces de red


Nos logueamos en el firewall, lo primero a realizar es configurar las interfaces de red. Previamente buscaremos las ip de la red.
Accedemos en modo administrador. Utilizamos el siguiente comando para ver las interfaces de red.
ifconfig -a | grep eth*

Luego con el comando vemos los dns en uso actualmente
more /etc/resolv.conf
Luego vemos cual es la ip interna con el siguiente comando
ifconfig eth0

Ademas verremos las ip de la puerta de enalce y de la red con el siguiente comando
netstat -r

Supongamos las ip
Ip 192.168.0.113
Mascara de red 255.255.255.0
Ip de red 192.168.0.0
IP Puerta de enlace 192.168.0.253

Vamos a cargar los datos recopilados anteriormente.

nano -wB /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.113
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.253

auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255

auto eth2
iface eth2 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255

Como se puede apreciar cada interfaz de red usa un rango diferente eth0 192.168.0.0/24 , eth1 192.168.10.0/24 , eth2 192.168.3.0/24

Reiniciamos la red

/etc/init.d/networking restart

Creamos nuestro script de iptables con las reglas que consideremos necesarias
nano /etc/network/if-up.d/firewall

Algunas reglas importantes son

# eth0 es el interfaz conectado al router y eth1 a la Red local
# Todo lo que venga por el exterior y vaya a los puerto 80 y 433
# lo redirigimos al servidor web (192.168.3.2) de la zona intermedia
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.3.2:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.3.2:443

## Permitimos el paso de la Red local al servidor web la zona intermedia
iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.5 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -s 192.168.10.5 -d 192.168.3.2 -p tcp --dport 80 -j ACCEPT


# Cerramos el acceso de lazona intermedia a la red local
iptables -A FORWARD -s 192.168.3.0/24 -d 192.168.10.0/24 -j DROP

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X