Buscar este blog

martes, 18 de septiembre de 2012

Firewall




La siguiente entrada abordará el tema de seguridad perimetral con firewalls. Los firewalls también 
conocidos como cortafuegos pueden ser dispositivos físicos o software que cumple funciones 

de filtrado de paquetes en un computador (firewall personal) o en una red (firewall de red)


Contenido:

Actividad 1: Ffirewall común en un enrutador cisco.
Actividad 2: Firewall común en un enrutador cisco, con una LAN y zona DMZ con servicios.
Actividad 3: Firewall común en un servidor Linux/BSD/Solaris, con zona LAN y DMZ.


Actividad: 1

Establecer dos zonas una llamada la LAN y la otra INTERNET y crear reglas de acceso en el firewall que permitan el paso de tráfico desde INTERNET hacia la LAN solo para 3 protocolos y 5 puertos, por ejemplo: FTP, HTTP, SMTP. El resto de los puertos y servicios deben estar denegados. Generalmente la comunicación desde la LAN es transparente así que el enrutador debe permitir la salida de paquetes desde la LAN.

Simularemos este entorno. (Cisco Packet Tracer)



 Letra Verde no es de la Configuracion. ↓↓ Config de Firewall en Router Cisco ↓↓
Firewall#sh run
Building configuration...
Current configuration : 1369 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption

!
hostname Firewall
!
ip dhcp excluded-address 192.168.10.1    Excluimos las IPs del Gateway y servidor 
ip dhcp excluded-address 192.168.10.4
!
ip dhcp pool andreydhcp                 DHCP Para nuestra Lan desde el Router Cisco
 network 192.168.10.0 255.255.255.0
 default-router 192.168.10.1
!
!
interface FastEthernet0/0                Interfaz Publica
 ip address 200.10.10.2 255.255.255.252    IP Publica
 ip nat outside                            Aplicamos ip nat Outside <salida>
 duplex auto
 speed auto
!
interface FastEthernet1/0              Intefaz de Entrada hacia nuestra Lan
 ip address 192.168.10.1 255.255.255.0       IP Local 
 ip access-group 100 out               Aplicamos la lista de acceso 100 de Salida
 ip nat inside                                Aplicamos Nat de Entrada
 duplex auto
 speed auto
!
ip nat pool SalidaLan 200.10.10.2 200.10.10.1 netmask 255.255.255.252  Pool de direcciones Publicas de salida o ISP
ip nat inside source list 1 pool SalidaLan overload    Nat de entrada aplicamos lista de acceso estandar  1 pool con nombre SalidaLan
ip nat inside source static 192.168.10.4 200.10.10.1  Nat de entrada de fuente estatica hacia el servidor que tenemos en nuestra LAN
ip classless
ip route 0.0.0.0 0.0.0.0 200.10.10.1   Ruta por defecto con proximo salto.
!
access-list 1 permit 192.168.10.0 0.0.0.255   Lista de acceso estandar a nuestra LAN
access-list 100 permit icmp any any                ACL permite protocolo icmp
access-list 100 permit tcp any any eq www      ACL permite protocolo tcp cualquier hosts solo para web o puerto 80
access-list 100 permit tcp any any eq telnet    ACL permite protocolo tcp cualquier hosts solo para telnet o puerto 23
access-list 100 permit udp any any eq tftp    ACL permite protocolo udp cualquier hosts solo para tftp o puerto 69
access-list 100 deny tcp any any neq smtp     ACL deniega protocolo tcp cualquier hosts excepto para smtp o puerto 25
access-list 100 deny udp any any neq domain   ACL deniega protocolo udp cualquier hosts excepto para domain <dns> o puerto 53
!
line con 0
line vty 0 4
 login
!
end
___________________________________________________________________


Actividad 2 : Router
Definir 3 zonas en el firewall INTERNET, LAN y DMZ. Se asumirá que existen 2 servicios de red en la DMZ y 1 servicio privados en la LAN. Se deben establecer reglas de acceso que le permita a
los usuarios de la LAN salir a INTERNET sin problemas, pero el tráfico que proviene de INTERNET debe ser filtrado adecuadamente para que solo los servicios en la DMZ sean accesibles.



Simularemos este entorno. (Cisco Packet Tracer)

Letra Verde no es de la Configuracion. ↓↓ Config de Firewall en Router Cisco ↓↓



Firewall#sh run
Building configuration...
Current configuration : 1240 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Firewall
!
interface FastEthernet0/0                Interfaz Lan
 ip address 192.168.10.1 255.255.255.0
 ip access-group 100 in                  Aplicas ACL dinámica in (entrada) 
 ip nat inside                                 Aplicas NAT entrada
 duplex auto
 speed auto
!
interface FastEthernet0/1               Interfaz Publica      
 ip address 180.18.18.1 255.255.255.252
 ip nat outside                               Aplicas Nat de Salida
 duplex auto
 speed auto
!
interface Ethernet0/0/0                   Interfaz servidor Publico
 ip address 192.168.20.1 255.255.255.0
 ip access-group 101 in                 Aplicas ACL dinamica 101 in (entrada)
 ip access-group 102 out              Aplicas ACL dinamica 102 out (salida)
 ip nat inside                                Aplicas Nat entrada
 duplex auto
 speed auto
!
interface Vlan1
 no ip address
 shutdown
!
ip nat pool salida 180.18.18.1 180.18.18.1 netmask 255.255.255.252  Nat Pool llamada salida de IP Publicas  (este caso solo 1)
ip nat inside source list 2 pool salida overload   Nat entrada fuente ACL estandar 2 con la pool llamada salida overload(sobrecargar)
ip nat inside source static 192.168.20.2 180.18.18.1 Nat entrada fuente estática de que dirección y con que dirección (local-publica)
ip classless
ip route 0.0.0.0 0.0.0.0 180.18.18.2  Ruta por Defecto
!
access-list 2 permit 192.168.10.0 0.0.0.255   ACL estatica <numero estaticas 1-99> permitir a ip con mascara.
access-list 100 permit tcp 192.168.10.0 0.0.0.255 any eq www  ACL dinámica 100 permitir de red(192.168.10.0) tcp todo solo para puerto www o 80
access-list 100 permit udp 192.168.10.0 0.0.0.255 any eq domain  ACL dinámica 100 permitir udp de la red todo solo para dns(domain) o puerto 53 
access-list 101 permit tcp any any gt 1024  ACL dinámica 101 permitir tcp todo todo gt(los paquete coincidan con un puerto mayor)  al 1024
access-list 101 permit udp any any gt 1024   ACL dinámica 101 permitir udp todo todo  gt(los paquete coincidan con un puerto mayor)  al 1024
access-list 102 permit tcp any any eq www   ACL dinámica 101 permitir tcp todo todo solo para puerto www o puerto 80
access-list 102 permit udp any any eq domain ACL dinámica 101 permitir udp todo todo solo para puerto domain o puerto 53
!
line con 0
line vty 0 4
 login
!
end

___________________________________________________________________


Actividad 3 : Servidor
Definir 3 zonas en el firewall INTERNET, LAN y DMZ. Se asumirá que existe 1 servicio de red en la DMZ y 1 servicio privados en la LAN. Se deben establecer reglas de acceso que le permita a
los usuarios de la LAN salir a INTERNET sin problemas, pero el tráfico que proviene de INTERNET debe ser filtrado adecuadamente para que solo los servicios en la DMZ sean accesibles.


Estrategia:
Intente primero configurar las interfaces de red y aplicar el NAT básico para que garantice que los
paquetes pasan de un lado al otro de las interfaces sin problemas.
Una vez verifique que puede conectarse de un lado al otro, cree reglas de filtrado básicas entre
dos interfaces (no intente con las 3 interfaces al tiempo), primero garantice que puede diferenciar y
filtrar el tráfico entre 2 interfaces antes de intentar configurar las 3 tarjetas.

→ La política de diseño de este Firewall es DROP BY DEFAULT, en este modo el firewall no dejará pasar nada a través de sus interfaces que no este explicita mente permitido.



Este es una Servidor en Debian, Y para implementar el Firewall solo basta con crear un Archivo con un nombre, este caso lo llamaremos firewall, para aplicarlo o ejecutarlo damos el comando ./firewall
Ahora veremos el archivo de configuración con su descripción de la acción o regla de firewall.


nano: /etc/firewall

##Limpiar toda la configuracion del iptables 

iptables -X
iptables -F
iptables -Z

#Se deniega todo y despues se daran los permisos

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#Permitir las reglas del nat
iptables -t nat -P PREROUTING  ACCEPT
iptables -t nat -P POSTROUTING  ACCEPT


#permita dar ping al local host
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#permitir la red de servidor DMZ
iptables -A INPUT -s 192.168.22.2 -j ACCEPT
iptables -A OUTPUT -d 192.168.22.2 -j ACCEPT

#PERMITIMOS LOS SERVICIOS COMO: ftp, ssh, dns.

#Permite la conexión con ssh
iptables -A FORWARD -i eth0 -p tcp --sport 22 -o eth1 --dport 1024:65535 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --sport 1024:65535 -o eth0 --dport 22 -j ACCEPT


#Permite la conexión de www
iptables -A FORWARD -i eth0 -p tcp --sport 80 -o eth1 --dport 1024:65535 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --sport 1024:65535 -o eth0 --dport 80 -j ACCEPT


#Permite la conexión del DNS por tcp
iptables -A FORWARD -i eth0 -p tcp --sport 53 -o eth1 --dport 1024:65535 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --sport 1024:65535 -o eth0 --dport 53 -j ACCEPT


#Permite la conexión del DNS por udp
iptables -A FORWARD -i eth0 -p udp --sport 53 -o eth1 --dport 1024:65535 -j ACCEPT
iptables -A FORWARD -i eth1 -p udp --sport 1024:65535 -o eth0 --dport 53 -j ACCEPT


#Regla para el nat
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.22.0/24 -j MASQUERADE

#Activar el reenviador
echo 1 > /proc/sys/net/ipv4/ip_forward


#Prerouting para entrada a nuestro servidor 
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.22.2:80
iptables -t nat -A PREROUTING -s 192.168.50.50 -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.22.2:80


iptables -A INPUT -s 192.168.50.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.50.0/24 -j ACCEPT

#Reenviamos y aceptamos los paquetes del puerto 80
iptables -A FORWARD -i eth0 -p tcp --dport 80 -o eth1 --sport 1024:65535 -j ACCEPT
iptables -A FORWARD -i eth1 -p tcp --dport 1024:65535 -o eth0 --sport 80 -j ACCEPT




Con esto estara un buen listo un buen Firewall en un servidor linux.
















No hay comentarios:

Publicar un comentario