Configurar un firewall y servidor DHCP, una LAN privada y una DMZ. En la DMZ un servidor Web activo. Las peticiones que reciba el firewall por el puerto 80 deben redirigirse al servidor web de la DMZ. Además, se debe bloquear el acceso entre la LAN y la DMZ.
POR:
ResponderEliminar-Gaspar
-Márquez
-Romero
-Sandoval
PASO 1: CONFIGURAR DHCP PARA LA SEGUNDA INTERFAZ
**ARCHIVO 1-> etc/DHCP/dhcpd.conf
-----------------------------------------------
# A slightly different configuration for an internal subnet.
subnet 10.100.1.0 netmask 255.255.255.0 {
range 10.100.1.2 10.100.1.99;
option routers 10.100.1.1;
option subnet-mask 255.255.255.0;
option broadcast-address 10.100.1.255;
}
# A slightly different configuration for an internal subnet.
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.2;
option routers 192.168.7.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.7.255;
}
-----------------------------------------------
PASO 2: PONER LA SIGUIENTE INTERFAZ EN EL ARCHIVO
**ARCHIVO 2 -> etc/default/isc-dhcp-server
------------------------------------------------
INTERFACES="eth1 eth0"
------------------------------------------------
PASO 3: SE AGREGA LA INTERFAZ A INTERFACES, REVISANDO QUE LOS CAMPOS address y gateway
**ARCHIVO 3 -> etc/network/interfaces
-----------------------------------------------------
auto eth1
iface eth1 inet static
address 10.100.1.1
netmask 255.255.255.0
#allow-hotplug wlan0
auto eth0
iface eth0 inet static
address 192.168.7.1
netmask 255.255.255.0
-----------------------------------------------------
PASO 4: RESET DE IPTABLES
----------------------------------------------------
iptables -F
iptables -t nat -F
----------------------------------------------------
PASO 5: EJECUTRAR LAS REGLAS SIGUIENTES DE IPTABLES
-------------------------------------------------------------
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE #la primera es para tener acceso a wlan0 por medio de nat
iptables -A FORWARD -i eth0 -d 10.100.1.0/24 -j REJECT #la segunda y tercera son para que laz zonas militarizada y no militarizada no se puedan ver, pues se enviaran mensajes de rechazo
iptables -A FORWARD -i eth1 -d 192.168.7.0/24 -j REJECT #la tercera es para que toda petición entrante por medio de wlan0 dirigida al puerto 80 se redireccione al servidor web
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to 192.168.7.2:80
-------------------------------------------------------------
PASO 6: CONFIGURAR ARCHIVO
**ARCHIVO 4 -> etc/sysctl.conf
--------------------------------------------------
net.ipv4.ip_forward = 1
--------------------------------------------------
########### CONFIGURACION DHCP ##################
ResponderEliminar# Agregar la siguiente subred en /etc/dhcp/dhcpd.conf
subnet 10.10.0.0 netmask 255.255.255.0{
range 10.10.0.5 10.10.0.20;
option routers 10.10.0.100;
option broadcast-address 10.10.0.255;
default-lease-time 600;
max-lease-time 7200;
}
#Agregar otra interfaz estatica
#etc/network/interfaces
auto eth1
iface eth1 inet static
address 192.168.66.101
netmask 255.255.255.0
broadcast 192.168.66.255
auto eth0
iface eth0 inet static
address 10.10.0.100
netmask 255.255.255.0
broadcast 10.10.0.255
#editar /etc/default/isc-dhcp-server
INTERFACES="eth1 eth0"
######### CONFIGURACION DMZ ########################
#aislar la DMZ de la LAN
#iptables -A FORWARD -s [subred_LAN] -d [subred_DMZ] -j REJECT
#iptables -A FORWARD -s [subred_DMZ] -d [subred_LAN] -j REJECT
iptables -A FORWARD -s 192.168.66.0/24 -d 10.10.0.0/24 -j REJECT
iptables -A FORWARD -s 10.10.0.0/24 -d 192.168.66.0/24 -j REJECT
########## REDIRECCIONAMIENTO DEL SERVIDOR ###########
#redireccion de peticiones al servidor web
#iptables -t nat -A PREROUTING -p tcp -dport [puerto_escucha_firewall] -i [interfaz_entrada_internet] -j DNAT --to [ips_servidor:puerto_servidor]
iptables -t nat -A PREROUTING -p tcp -dport 80 -i wlan0 -j DNAT --to 10.10.0.8:80
iptables -t nat -A PREROUTING -p tcp -dport 443 -i wlan0 -j DNAT --to 10.10.0.8:443
Equipo:
Rosas Reyes Juan Alejandro
Solano Campos Alan Omar
Vargas Dominguez Mariana
Este comentario ha sido eliminado por el autor.
ResponderEliminarFirewall Zona desmilitarizada y Militarizada.
ResponderEliminarPara realizar esta practica haremos uso de un servidor dhcp para ubuntu 14.04, antes de instalar dicho servidor debemos actualizar los paquetes de ubuntu, para que al instalar el servidor dhcp no indique que un paquete no ha sido encontrado, la actualizacion de paquetes se realiza con el comando.
sudo apt-get update
Posteriormente nos logeamos como super usuario de nuestra maquina con el comando.
sudo -i
Una vez logueados como root o superusuarios instalamos el servidor dhcp con el siguiente
comando.
apt-get install isc-dhcp-server
Una vez instalado el servidor dhcp, proseguimos a configurar nuestro servidor con las caracteristicas que necesitemos, ip´s, mascaras de red, subnet, interfaces etc.
Primero modificamos el archivo dhcp.conf con el siguiente comando
nano /etc/dhcp/dhcp.conf
# A slightly different configuration for an internal subnet.
subnet 10.100.1.0 netmask 255.255.255.0 {
range 10.100.1.2 10.100.1.70;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
option subnet-mask 255.255.255.0;
option routers 10.100.1.1;
option broadcast-address 10.100.1.255;
default-lease-time 600;
# max-lease-time 7200;
}
subnet 10.200.1.0 netmask 255.255.255.0 {
range 10.200.1.2 10.200.1.70;
# option domain-name-servers ns1.internal.example.org;
# option domain-name "internal.example.org";
option subnet-mask 255.255.255.0;
option routers 10.200.1.1;
option broadcast-address 10.200.1.255;
default-lease-time 600;
# max-lease-time 7200;
}
El rango de IP's que se configura en este archivo puede ser cambiado segun las necesidades que se tengan que cubrir.
En este paso lo que se hace es indicarle al servidor que rango de ip´s, al mascara, el broadcast, el router asi como el el tiempo por default que se tendra en una peticion.
# option definitions common to all supported networks...
option domain-name "home.local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
Al igual en este archivo se configuran lo que son los dominios que se tienen, en nuestro caso indicaremos el domain como home.local, debido a que no existe dominio y en cuanto al domain-name-server configuraremos los dns publicos de google que son 8.8.8.8, 8.8.4.4, en cuanto a este archivo dhcpd.conf, es lo unico que modificaremos.
El siguiente paso a realizar es indicar por medio de que interface se repartiran las direcciones IP de las maquinas que estarana conectadas a nuestro servidor, para indicar esto debemos ingresar al siguiente archivo nano /etc/default/isc-dhcp-server, una vez dentro del archivo nos ubicaremos donde dice INTERFACES=” ”, en esta linea debemos indicar la interfaces o interfaces por las que repartiremos DHCP, en nuestro caso como hemos creado 2 redes independientes, asignaremos dos interfaces que son eth0 eth1, quedando INTERFACES=”eth0 eth1”.
Posteriormnete se debe asignar una IP estatica a cada interface que usaremos, para realizar esto ingresamos al archivo interfaces de la siguiente manera nano /etc/network/interfaces una vez que estemos en este archivo agregaremos las siguientes lineas, quedando este archivo de la siguiente manera.
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address 10.100.1.1
netmask 255.255.255.0
#gateway 10.100.1.0
auto eth0
iface eth0 inet static
address 10.200.1.1
netmask 255.255.255.0
##gateway 10.200.1.0
Una vez realizados estos cambios, conectamos nuestro adaptador de usb a ethernet para ontener la interface eth1 y posteriormente tendremos que reiniciar el servidor con alguno de los siguientes comandos.
/etc/init.d/isc-dhcp-server restart
service isc-dhcp-server restart
EQUIPO: Almanza, Garcia Patricia, Ecamilla, Niembro.
ResponderEliminarUna vez que se reinicio el server, tenemos que reiniciar tambien el networking, para que tome en cuenta las interfaces configuradas previamente, esta tarea se puede realizar con el comando service networking restart, en ocasiones esto no es suficiente y genera problemas, en caso de que no funcione se tiene que reiniciar la maquina, logrando esto con el comando reboot.
En caso de que al reiniciar la maquina y no se vean reflejadas las interfaces configuradas, o no se tenga wi-fi, se tienen que levantar dichas interfaces con el siguiente comando.
Ifup “interface” ejemplo ifup wlan0
Y posteriormnete reiniciamos nuevamente la maquina, al reiniciar podremos ver las interfaces al realizar un ifconfig, teniendo las ip`s configuradas en la interface correspondiente, por ultimo se tiene que reiniciar el servidor dhcp, con el comando service isc-dhcp-server restart.
Una vez realizado esto podremos conectar las maquinas corrspondientes a cada interface y deberia repartiles ip`s del rango que se configuro, esto se puede comprobra al hacer un ifconfig en la maquina conectada al servidor.
Vamos ahora a realizar el enmascaramiento para que nuestras redes militarizadas (1 o varias) puedan salir hacia una red exterior (digamos Internet) de modo que utilizen la IP publica del firewall como suya, para lo cual hacemos una seria de cosas, comenzando por permitir la comunicación entre interfaces, para lo cual activamos el bit de “ip_forward” cambiandolo de 0 a 1 en el archivo ip_forward ubicado en:
/proc/sys/net/ipv4/ip_forward
debemo recordar que este cambio es solo temporal y e resablecera en cuanto reiniciemos la computadora, por lo que debemos recordar actualizarlo o cambiarlo permanentemente, para lo cual se utilizan otra serie de comandos que no analizaremos el dia de hoy
Ahora, para realizar distintas fuciones como firewall es necesario verificar que nuestro sistema soporte el comando –iptables- para lo cual lo podemos introducir en consola, y en caso de noa ceptarlo, necesitaremos muy probablemente actualizar nuestro SO con:
apt-get update
Cabe mencioanr que estamos utilziando para este ejemplo a eth1 y eth0 como interfaces para nuestras redes militarizadas, 10.100.1.0/24 y 10.200.1.0/24 respectivamente, y como salida a internet a wlan0.
una vez que contamos con iptables, para realizar el enmascaramiento antes mensionado ingresamos el siguiente comando:
iptables –t nat –A POSTROUTING –o wlan0 –j MASQUERADE
Ahora ya podemos salir a una pagina de internet por eejmplo desde cualquier ordenador de las dos redes internas, nuestro siguiente paso será que desde la red externa (Internet) se pueda acceder a uo de nuestros equipos que tenga montado un servidor Apache (pagina HTML) para lo cual necesitaremos que el firewall detecte cuando se hace una solicitud http, la cual la identificaremos por el puerto 80, y la mapearemos hacia la direccion de nuestro servidor Apache, en nuestro caso una computadora con dirección 10.200.1.2 (eth1), para lo cual utilizamos el siguiente comando:
Iptables –t nat –A PREROUTING –i wlan0 --dport 80 –j DNAT --to-destination 10.200.1.2:80
Con esto queda resuelta la aprteque comentabamos, ahora procedemos al siguiente detalle, que es que entre nuestras redes militarizadas no haya visibilidad, eto es, que por ejemplo la red 10.100.1.0/24 no pueda acceder al servidor Apache antes mencionado, para lo cual tuilizamos los comandos:
Iptables –A FORWARD –s 10.100.1.0/24 –d 10.200.1.0/24 –j DROP
Iptables –A FORWARD –s 10.200.1.0/24 –d 10.200.1.0/24 –j DROP
De este modo impedimos cualquier conexión entre las dos redes, y con esto terminamos nuestra explicación.
Equipo: Adrián, Marcos y Alejandro
ResponderEliminar###################################################33
# wlan0 Firewall eth1 10.100.1.0/24
# .-,( ),-. _____________________
# .-( )-. |___|___|___|___|___|_| ______ __ _
#( internet )->|_|___|___|___|___|___|->|_ooo_°|->[__]|=|
# '-( ).-' |___|___|___|___|___|_| /::/|_|
# '-.( ).-' |
# v
# __________
# PREROUTING [_...__...°] POSTROUTING
# Switch
# | eth0
# v
# .---. 192.168.7.0/24
# / /|
# .---. | DMZ
# | | '
# | |/
# '---'
# Web Server
#############################################################################
#!/bin/sh
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
## Empezamos a filtrar
#Contenido web desde fuera
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to 192.168.7.6:80
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 8080 -j DNAT --to 192.168.7.6:8080
# Los accesos de un ip determinada HTTPS se redirigen a esa
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j DNAT --to 192.168.7.6:443
# El localhost se deja (por ejemplo conexiones locales a mysql)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 10.100.1.0/24 -i eth1 -j ACCEPT
# Ahora hacemos enmascaramiento de la red local y de la DMZ
#activamos el BIT DE FORWARDING
iptables -t nat -A POSTROUTING -s 10.100.1.0/24 -o wlan0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o wlan0 -j MASQUERADE
# Con esto permitimos que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward
#no permitimos acceso a web desde la red Interna
iptables -A FORWARD -s 10.100.1.0/24 -d 192.168.7.0/24 -p tcp --sport 1024:65535 --dport 80 -j DROP
iptables -A FORWARD -s 192.168.7.0/24 -d 10.100.1.0/24 -p tcp --sport 80 --dport 1024:65535 -j DROP
# luego:
# Cerramos el acceso de la DMZ a la LAN
iptables -A FORWARD -s 192.168.7.0/24 -d 10.100.1.0/24 -j DROP
## Cerramos el acceso de la DMZ al propio firewall
iptables -A INPUT -s 192.168.7.0/24 -i eth0 -j DROP
echo " OK "
echo "Verifique que lo que se aplica con: iptables -L -n -v"
#############################################################################
En el siguiente vinculo se mostrara un documento en el cual podra seguir los pasos para Configurar un firewall, servidor DHCP, una LAN privada y una DMZ.Las peticiones que reciba el firewall por el puerto 80 deben redirigirse al servidor web de la DMZ
ResponderEliminarlink:
https://drive.google.com/open?id=1q-MoIIbR8hVeRZ9Rtrnh61uiLHrj_DdnXK_fArSKMFU&authuser=0
Equipo 2:
Aguilar Olea Mario Alberto
García Félix Jennifer Virginia
Mayen Nava Eduardo de Jesús
San Martin Loeza Gerardo
Sánchez García María Concepción
Equipo: Daniel Sarabia, Julio Salinas, Armando Garcia, David Azaraf y Polo Hernandez
ResponderEliminar##### Paso 1: Configurar DHCP
## En nuestra termina usamos el comando "nano /etc/dhcp/dhcpd.conf"
## Para modificar nuestra configuracion de dhcp que teniamos
10.100.1.0 netmask 255.255.255.0
{
range 10.100.1.3 10.100.1.99;
option routers 10.100.1.1;
option broadcast-address 10.100.1.255;
default-lease-time 600;
}
#Agregamos esta nueva subred
subnet 100.10.7.0 netmask 255.255.255.0
{
range 100.10.7.2 100.10.7.10;
option routers 100.10.7.1;
option subnet-mask 255.255.255.0;
option broadcast-address 100.10.7.255;
}
##### Paso 2: Configurar Interfaces
## Ahora accederemos a la configuración de interfaces ingresando el comando
## 'nano /etc/network/interfaces'
##Haremos las siguientes modificaciones
#Esta será la LAN
auto eth1
iface eth1 inet static
address 10.100.1.1
netmask 255.255.255.0
gateway 10.100.1.1
#Esta interfaz sera la DMZ
auto eth0
iface eth0
inet static
address 100.10.7.1
netmask 255.255.255.0
gateway 10.100.7.0
auto eth2
iface eth2 inet dhcp
allow-hotplug wlan0
allow-hotplug eth2
iface default inet dhcp
##### Paso 3: Configurar Interfaces
Abrimos el archivo de iptables con el comando 'nano /etc/sysconfig/iptables'
Y hacemos las siguientes modificaciones:
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
## Empezamos a filtrar
## Nota: eth0 es el interfaz conectado al router y eth1 a la LAN
# Todo lo que venga por el exterior y vaya al puerto 80 lo redirigimos
# a una maquina interna
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to 100.10.7.2:80
# El localhost se deja (por ejemplo conexiones locales a mysql)
/sbin/iptables -A INPUT -i lo -j ACCEPT
# Al firewall tenemos acceso desde la red local
iptables -A INPUT -s 10.100.1.0/24 -i eth1 -j ACCEPT
# 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 10.100.1.0/24 -o wlan0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 100.10.7.0/24 -o wlan0 -j MASQUERADE
# Con esto permitimos hacer forward de paquetes en el firewall, o sea
# que otras máquinas puedan salir a traves del firewall.
echo 1 > /proc/sys/net/ipv4/ip_forward
## Permitimos el paso de la DMZ a una BBDD de la LAN:
#iptables -A FORWARD -s 192.168.3.2 -d 192.168.10.5 -p tcp --dport 5432 -j ACCEPT
#iptables -A FORWARD -s 192.168.10.5 -d 192.168.3.2 -p tcp --sport 5432 -j ACCEPT
# Cerramos el acceso de la DMZ a la LAN
iptables -A FORWARD -s 100.10.7.0/24 -d 10.100.1.0/24 -j DROP
# Cerramos el acceso de la LAN a la DMZ
iptables -A FORWARD -s 10.100.1.0/24 -d 100.10.7.0/24 -j DROP
# Cerramos el rango de puerto bien conocido
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
Después de hacer estas modificaciones reiniciamos nuestro servidor DHCP y lo conectamos con el servidor Apache por medio de la interfaz eth0.
Usando otro dispositivo entramos al servidor con la ip 192.168.1.64/seguridad lo que nos mostrara un aviso que dice "seguridad en redes"
Configuración de una DMZ en Kali Linux
ResponderEliminarDentro del archivo dhcp.conf realizamos las siguientes modificaciones, agregando las siguientes lineas:
subnet 100.10.7.0 netmask 255.255.255.0 {
range 100.10.7.2;
option routers 100.10.7.1;
option subnet-mask 255.255.255.0;
option broadcast-address 100.10.7.255;
}
En el archivo interfaces agregamos las siguientes lineas:
auto eth0
iface eth0 inet static
address 100.10.7.1
netmask 255.255.255.0
gateway 100.10.7.0
Creamos un archivo con las siguientes lineas donde se incluye la regla de enmascaramiento, ademas de las reglas para aislar la LAN de la DMZ, y el redireccionamiento hacia el puerto 80 del servidor Apache
#!bin/sh
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i eth0 -s 100.10.7.0/24 -d 10.100.1.0/24 -j REJECT
iptables -A FORWARD -i eth1 -s 10.100.1.0/24 -d 100.10.7.0/24 -j REJECT
iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j DNAT --to 100.10.7.2:80
Modificamos los permisos del archivo donde se encuentra las reglas con el comando chmod y posteriormente para kali linux hacemos la ejecucion del archivo con el comando:
sh ./nombrearchivo
Para realizar las pruebas instalamos en una computadora un servidor apache, con una ip estatica y la conectamos a otra interfaz del servidor.
Posteriormente reiniciamos el servidor DHCP y conectandonos desde una red externa en un navegador colocamos la direccion ip que posea el servidor de esta forma:
xxx.xxx.xxx.xxx:80
Si se envian pings entre la DMZ y la LAN estos no deben ser capaces de comunicarse.
Equipo
Alvear
Macedonio