Anda di halaman 1dari 13

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.

html

alband

Buscar...

Posts
Inicio

Comunidades
Destacados

Msica

Juegos

TOPs

Global

Novatos

Crear post
Me gusta

Historial
0 4 0 Twittear 0

LINUX Y GNU | HACE 26 DAS

alband
Seguidores Puntos Posts

Firewall para servidores expuestos


Arquitectura DMZ Cuando ciertas mquinas de la red interna tienen que ser accesibles desde el exterior (servidor web, un servidor de mensajera, un servidor FTP pblico, etc.), normalmente es necesario crear una nueva poltica para una nueva red, accesible tanto desde la red interna como desde el exterior, sin correr el riesgo de comprometer la seguridad de la empresa. Se habla entonces de una "zona desmilitarizada" (DMZ) para designar esta zona aislada que aloja aplicaciones a disposicin del pblico. El DMZ sirve como una zona intermedia entre la red a proteger y la red hostil. Una DMZ se crea a menudo a travs de las opciones de configuracin del cortafuegos, donde cada red se conecta a una interfaz de red distinta. Esta configuracin se llama cortafuegos en trpode (three-legged firewall).

218

6.222 55

Elite
Ver ms del autor

Opciones
Borrar Editar

Tags
iptables servidor linux firewall expuesto seguridad dmz gnu

Compartido por

Desde el prisma de un purista de la seguridad, el primer paso, para segmentar las redes que existirn en una organizacin, es identificar los diferentes servidores/servicios para decidir su distribucin. Aquellos que necesiten tener una puerta por la que entre trfico desde Internet, deber ir en una DMZ de servicios pblicos o frontend. La ubicacin de los servidores que nutren estas aplicaciones pblicas deben ir en una red diferente y protegida, o de backend. El trfico a permitir entre todas estas redes habr de ser el justo y necesario para evitar exposiciones de servicios/mquinas por error. Ms o menos como se puede ver en el dibujo de abajo.

Los servidores en la DMZ se denominan "anfitriones bastin" ya que actan como un puesto de avanzada en la red de la compaa.

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

En este tipo de firewall hay que permitir: - Acceso de la red local a internet y a la DMZ. - Acceso pblico desde internet al puerto tcp/80 y tcp/443 de nuestro servidor web 192.168.3.2 de la DMZ - Obviamente bloquear el resto de acceso de la DMZ hacia la Red local. Qu tipo de reglas son las que hay que usar para filtrar el trfico entre la DMZ y la LAN? Solo pueden ser las FORWARD, ya que estamos filtrando entre distintas redes, no son paquetes destinados al propio firewall. Debe tener presente, de esta manera, la DMZ posee un nivel de seguridad intermedio, el cual no es lo suficientemente alto para almacenar datos imprescindibles de la compaa.

Configurando las interfaces de red

Nos logueamos en el firewall, el primer tramite a realizar es configurar las interfaces de red.

su

poner contrasea de root, a partir de ahora y en todo el tutorial vamos a trabajar como usuario root. (si estas en ubuntu sudo su y pones tu propia contrasea)

ifconfig -a | grep eth*

Podemos ver que las 3 interfaces de red estn detectadas, solo una ya posee IP que fue asignada va DHCP por el router.

El servidor debe tener asignada ip fija en las 3 interfaces de red. ver los datos actuales
more /etc/resolv.conf

nos muestra los dns en uso.

ifconfig eth0

nos muestra Ip interna, mscara e Ip broadcast, netmask.

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

netstat -r

nos muestra Ip puerta de enlace y el network.

Asignando las Ips fijas

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

Si quers evitar el tipeado de tantos datos, bajar el archivo:

wget http://files.myopera.com/alband/files/interfaces-dmz

Una vez descargado lo copiamos en su lugar


cp --backup interfaces-dmz /etc/network/interfaces

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

y lo editamos acorde a los datos que correspondan


nano -wB /etc/network/interfaces

reiniciamos la red
/etc/init.d/networking restart

OpenDNS Ofrece las siguientes direcciones de servidor de nombres de dominio para uso pblico 208.67.222.222 208.67.220.220 o puede usar los correspondientes a su proveedor de internet.
echo nameserver 208.67.220.220 > /etc/resolv.conf

echo nameserver 208.67.222.222 >> /etc/resolv.conf

DHCP Server

DHCP responde al protocolo de configuracin dinmica de host. En otras palabras, es un protocolo que se utiliza para proporcionar una configuracin ip a otros equipos que se encuentren en el mismo segmento de red que el servidor. El servidor DHCP es aquel que proporciona direcciones ip dinmicas a equipos que lo soliciten.

apt-get install dhcp3-server

Luego de la instalacin copiamos el archivo /etc/dhcp/dhcpd.conf


cd /etc/dhcp

cp --backup dhcpd.conf ./dhcpd.conf.old

borramos el contenido de archivo


> dhcpd.conf

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

nano dhcpd.conf

Y en el archivo agregamos estos datos:

authoritative; subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.2 192.168.1.20; option domain-name-servers 208.67.220.220,208.67.222.222; option domain-name "firewall"; option routers 192.168.10.1; option broadcast-address 192.168.10.255; default-lease-time 600000; max-lease-time 720000; } #host jefe { #hardware ethernet xx:xx:xx:xx:xx:xx; #fixed-address 192.168.1.160; #} #host alband { #hardware ethernet xx:xx:xx:xx:xx:xx; #fixed-address 192.168.1.161; #}

Si se desea asignar IP fija a algunos equipos en particular, descomentar las ltimas 8 lineas y completar con datos que correspondan, host jefe y alband. La configuracin se puede bajar:
wget http://files.myopera.com/alband/files/dmz-dhcpd.conf

cp --backup dmz-dhcpd.conf /etc/dhcp/dhcpd.conf

podemos revisar el resultado


more /etc/dhcp/dhcpd.conf

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

Debemos editar el archivo de configuracin dnde deberemos indicar en que tarjeta se quiere activar el servidor DHCP, modificando la siguiente lnea:

INTERFACES="eth1"

nano /etc/default/isc-dhcp-server

Reiniciamos el servicio
/etc/init.d/isc-dhcp-server restart

Iptables Primero vamos a ver como estar estructurada nuestra red.

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

En la imagen estn los datos reales que usar, una vez comprendida la imagen anterior ya tenemos ms claro que vamos a hacer. Creamos nuestro script de iptables
nano /etc/network/if-up.d/firewall

#!/bin/sh ## SCRIPT de IPTABLES - ejemplo del manual de iptables ## Ejemplo de script para firewall entre red-local e internet con DMZ ## ## Pello Xabier Altadill Izura ## www.pello.info - pello@pello.info ## modificado por alband de Taringa echo -n Aplicando Reglas de Firewall... ## FLUSH de reglas iptables -F iptables -X iptables -Z iptables -t nat -F ## Establecemos politica por defecto iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT # 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 DMZ 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 # El localhost se deja (por ejemplo conexiones locales a mysql) iptables -A INPUT -i lo -j ACCEPT # Al firewall tenemos acceso desde la red local iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html
# Ahora hacemos enmascaramiento de la red local y de la DMZ # para que puedan salir haca fuera # y activamos el BIT DE FORWARDING (imprescindible!!!!!) iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j MASQUERADE # Con esto permitimos hacer forward de paquetes en el firewall, o sea # que otras mquinas puedan salir a traves del firewall. echo 1 > /proc/sys/net/ipv4/ip_forward ## Permitimos el paso de la Red local al servidor web la DMZ 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 la DMZ a la Red local iptables -A FORWARD -s 192.168.3.0/24 -d 192.168.10.0/24 -j DROP ## Cerramos el acceso de la DMZ al propio firewall iptables -A INPUT -s 192.168.3.0/24 -i eth2 -j DROP ## Y ahora cerramos los accesos indeseados del exterior: iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 1:1024 -j DROP iptables -A INPUT -s 0.0.0.0/0 -p udp --dport 1:1024 -j DROP # Cerramos un puerto de gestin: webmin iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 10000 -j DROP

# Algunas medidas de proteccin # Deshabilitar broadcast echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Deshabilitar el ping... quiz discutible. echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all # Deshabilitar la redireccin del ping echo "0" > /proc/sys/net/ipv4/conf/all/accept_redirects # Registrar los accesos extraos, paquetes falseados, etc.. echo "1" > /proc/sys/net/ipv4/conf/all/log_martians # Anti-flooding o inundacin de tramas SYN. iptables -N syn-flood iptables -A INPUT -i etho -p tcp --syn -j syn-flood iptables -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN iptables -A syn-flood -j DROP echo " OK . Verifique que lo que se aplica con: iptables -nL" # Fin del script

Para evitar errores recomiendo descargar el script


wget http://files.myopera.com/alband/files/dmz-firewall

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

luego copiarlo
cp dmz-firewall /etc/network/if-up.d

Le damos permisos de ejecucin


chmod +x /etc/network/if-up.d/dmz-firewall

Ahora ejecutamos el script


bash /etc/network/if-up.d/dmz-firewall

Podemos ver las reglas cargadas con


iptables -nL

Servidor web

En el servidor web que estar aislado en la DMZ debemos configurar correctamente su IP.
nano -wB /etc/network/interfaces

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.3.2 netmask 255.255.255.0 network 192.168.3.0

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html
broadcast 192.168.0.255 gateway 192.168.3.1

Y cargamos los DNS


echo nameserver 208.67.220.220 > /etc/resolv.conf

echo nameserver 208.67.222.222 >> /etc/resolv.conf

Vamos a probar que se puede hacer ahora

Desde mi ip 192.168.0.101, pongo la ip del firewall y veo el apache del servidor web que esta en la DMZ. El firewall no responde al ping, recomiendo ampliar la imagen para entender mejor.

Aqu apreciamos un cliente de la red local, el servidor DHCP del firewal le asigo IP, vemos que tiene navegacin y puede entrar al servidor web de la DMZ.

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

Amigos, para consultas puntuales sobre este tema, pasen por esta comunidad, todos sern bienvenidos!!

nanse a nuestra comunidad haciendo click en la imagen!!!

_____________________________________________________________________

Si te gusto el post comenta! Estas sin tiempo para leerlo detenidamente? Agregalo a favoritos ya! No entendiste algo? mandame un MP que te ayudo. Te gustan mis aportes? Seguime! no te defraudar.
Fuentes de conocimiento: http://www.securitybydefault.com/2012/07/securizando-un-entorno-de-maquinas.html http://es.kioskea.net/contents/protect/dmz-cloisonnement.php3 http://es.wikipedia.org/wiki/Zona_desmilitarizada_%28inform%C3%A1tica%29 http://www.informatica-hoy.com.ar/aprender-informatica/Que-es-DMZ.php http://www.pello.info/filez/firewall/iptables.html

Fuentes de Informacin
El contenido del post es de mi autora, y/o, es un recopilacin de distintas fuentes.

0
Enviar

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

0
Me gusta

0
Twittear

175 Puntos
Votos: 22 - T! score: 8 / 10 A favoritos
Favoritos

21

677

Visitas

Seguidores

Relacionados
Servidor de Linux en un conector Ethernet Instalar Servidor Web Linux desde cero Linux terminal server en debian parte 2 Montar Servidor Firewall en Linux [Ubuntu] Firewall para GNU/Linux Fail2ban - Para dar proteccin a tu servidor. [DD] Curso de Especializacin Superior Gnu/Linux Curso de Especializacin Superior en GNU/Linux

10 comentarios
@Novatovich hace 26 das +2 buen post @alband hace 26 das +2 Gracias amigo, tengo en mente lo del gentoo desktop, aguantame por favor! @Novatovich hace 26 das @alband tranquilo cuando puedas , "sin prisa pero sin pausa" @Leproso_Ivan hace 26 das +2 Excelente como siempre colega.. @alband hace 26 das +1 Gracias por valorar mis aportes amigo! @ratman26 hace 26 das +2 Muy bueno la verdad, +10 @chapitalmala hace 26 das +1 Buensimo ! Groso ! @alband hace 26 das +1 Gracias amigo! Seguro que esto te puede ayudar con el tema de intrusos en tu red! @perrumo hace 26 das +1 Gracias por el aporte Brother @ramiperez_pr hace 26 das +1 muy bueno +10 @piruo7 hace 26 das +1 Gracias por otro excelente aporte... +10 @ramses_17 hace 25 das +1 Que distribucin usaste para montar este servidor? Por cierto +10

http://www.taringa.net/posts/linux/16025979/Firewall-para-servidores-expuestos.html

@alband hace 25 das En Debian esta realizado el tutorial. Gracias por visitar el post y por los puntos amigo! @ramses_17 hace 25 das +1 @alband Gracias a ti por el aporte @cesarzeta hace 24 das Buen trabajo como siempre. @alband hace 24 das Gracias amigo por valorar mi aporte. Saludos! @mao1234567890 hace 24 das +1 Excelente aporte!

Escribir un comentario...

Comentar

Buscar...

Ir al cielo

Anunciar

Ayuda

Prensa

Protocolo

Desarrolladores

Denuncias

Report Abuse - DMCA

Trminos y condiciones

Privacidad de datos

Anda mungkin juga menyukai