Inicio > Informática > Firewall con IPTABLES

Firewall con IPTABLES

Esta práctica me la han pedido ya varias personas así que me he decidido a colgarla aquí. Además, creo que le puede resultar de utilidad a bastante gente y, ya que me he tomado el esfuerzo de hacerlo perfecto (en mi opinión y en la de mi profesor), pues lo comparto con la comunidad científica =)

#!/bin/sh
##Borramos todo lo anterior

IP_DNS=”80.58.61.250″
IP_ALPHA=”10.0.0.2″
IP_BETA=”10.0.0.3″
RED_ACCEP_MAQ_2=”192.168.1.0/24″
IPEXTDOM0=”192.168.1.2″
IP_EXT_DOM0=”192.168.1.2″
IP_ALPHA_80=”10.0.0.2:80″
IP_ALPHA_22=”10.0.0.2:22″

##Carga de módulos necesaria para ftp

modprobe ip_nat_ftp ports=21
modprobe ip_conntrack_ftp ports=21

##Flush!

iptables -F
iptables -Z
iptables -X
iptables -t nat -Z

##Le decimos a la maquina que actue como enrutador

echo 1 > /proc/sys/net/ipv4/ip_forward

##Establecemos politica por defecto DROP para el esquema FORWARD.

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

# Permitimos localhost

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

##Redireccionamiento del dom0 a alpha de los puertos www y ssh

iptables -t nat -A PREROUTING -d $IP_EXT_DOM0 -p tcp –dport 80 –j DNAT –to $IP_ALPHA_80
iptables -t nat -A PREROUTING -d $IP_EXT_DOM0 -p tcp –dport 22 –j DNAT –to $IP_ALPHA_22

##Aceptamos conexiones externas e internas al servidor web (esta en alpha) por
##el puerto 80. Ademas, aceptamos conexiones establecidas.(FUNCIONA)

iptables -A FORWARD -d $IP_ALPHA -p tcp –dport 80 -j ACCEPT
iptables -A FORWARD -s $IP_ALPHA -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT

##Permitimos conexiones de beta a la red externa al protocolo HTTP.

iptables -A FORWARD -s $IP_BETA -p tcp –dport www -o eth0 -j ACCEPT

##Permitimos conexiones establecidas del protocolo http a beta.(BIEN)

iptables -A FORWARD -d $IP_BETA -p tcp -m state –state ESTABLISHED –sport www -i eth0 -j ACCEPT

##Permitimos conexiones ssh a alpha

iptables -A FORWARD -d $IP_ALPHA -p tcp –dport 22 -j ACCEPT
iptables -A FORWARD -s $IP_ALPHA -p tcp –sport 22 -j ACCEPT

##Permitir conexiones DNS a BETA(funciona).

iptables -A FORWARD -s $IP_BETA -d $IP_DNS -p udp –dport 53 -j ACCEPT
iptables -A FORWARD -s $IP_DNS -d $IP_BETA -p udp –sport 53 -j ACCEPT
iptables -A FORWARD -s $IP_BETA -d $IP_DNS -p tcp –dport 53 -j ACCEPT
iptables -A FORWARD -s $IP_DNS -d $IP_BETA -p tcp –sport 53 -j ACCEPT

##Permitir conexion total de BETA a la red 192.168.1.1

iptables -A FORWARD -s $IP_BETA -d $RED_ACCEP_MAQ_2 -j ACCEPT
iptables -A FORWARD -d $IP_BETA -s $RED_ACCEP_MAQ_2 -m state –state ESTABLISHED -j ACCEPT

##Reglas necesarias para FTP activo y pasivo.

iptables -A FORWARD -p tcp -s $IP_BETA -m state –state ESTABLISHED –sport 1024:65535 –dport 1024:65535 -j ACCEPT

iptables -A FORWARD -p tcp -d $IP_BETA -m state –state ESTABLISHED,RELATED –sport 1024:65535 –dport 1024:65535 -j ACCEPT

iptables -A FORWARD -p tcp -s $IP_BETA -m state –state NEW,ESTABLISHED,RELATED –dport 20:21 -j ACCEPT

iptables -A FORWARD -p tcp -d $IP_BETA -m state –state ESTABLISHED,RELATED –sport 20:21 -j ACCEPT

Un saludo y que os sea de utilidad ^-^

EDITO: Dejo un enlace para descargar directamente el script.

Descargar –> http://dl.getdropbox.com/u/693399/Nueva%20carpeta/script_iptables.rar

Anuncios
Categorías:Informática Etiquetas: , , ,
  1. Cynthia
    19 marzo 2009 en 8:40 PM

    En realidad no entiendo como hay gente que hace cosas tan dificiles X3, el que se lo inventó deberia estar loco -.-

  2. Cynthia
    19 marzo 2009 en 8:40 PM

    Por cierto….

    TE AMO!!!

    >///<

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: