Está en la página 1de 4

#!

/bin/bash
# Firewall hecho por mi jejejej
# 2012
echo "limpiando todas las reglas"
service iptables stop
echo "Estableciendo la politica por defecto a DROP"
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
echo "configurando INPUT y OUTPUT"
echo "dando acceso total al loopback"
# todo lo que entra y sale desde el loopback se acepta
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
echo "permitiendo acceso al servidor SSH (protocolo tcp, puerto 22) desde cualqu
ier origen "
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACC
EPT
# ejemplito permitir SSH solo a la LAN
# iptables -A INPUT -i eth1 -p tcp -s 192.168.200.0/24 --dport 22 -j ACCEPT
# iptables -A OUTPUT -o eth1 -p tcp -d 192.168.200.0/24 --sport 22 -j ACCEPT
echo "permitiendo acceso a los puertos del VPN"
iptables -A INPUT -i eth0 -p udp -m multiport --dports 1194,1195 -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp -m multiport --sports 1194,1195 -j ACCEPT
echo "haciendo ping desde el firewall a la LAN"
iptables -A OUTPUT -o eth1 -p icmp --icmp-type echo-request -d 192.168.200.0/24
-j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-reply -s 192.168.200.0/24 -j
ACCEPT
echo "haciendo ping desde la LAN al firewall"
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -s 192.168.200.0/24 j ACCEPT
iptables -A OUTPUT -o eth1 -p icmp --icmp-type echo-reply -d 192.168.200.0/24 -j
ACCEPT
echo "haciendo ping desde el firewall a la DMZ"
iptables -A OUTPUT -o eth2 -p icmp --icmp-type echo-request -d 192.168.3.0/24 -j
ACCEPT
iptables -A INPUT -i eth2 -p icmp --icmp-type echo-reply -s 192.168.3.0/24 -j AC
CEPT
echo "haciendo ping desde la DMZ al firewall"
iptables -A INPUT -i eth2 -p icmp --icmp-type echo-request -s 192.168.3.0/24 -j
ACCEPT
iptables -A OUTPUT -o eth2 -p icmp --icmp-type echo-reply -d 192.168.3.0/24 -j A
CCEPT
echo "habilitando navegacion a internet del propio firewall puertos SSH,FTP,HTTP
y HTTPS (opcional)"
iptables -A OUTPUT -p tcp -m multiport --dports 20,21,22,80,443 -m state --state

NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --sports 20,21,22,80,443 -m state --state
ESTABLISHED,RELATED -j ACCEPT
echo "habilitando las consultas DNS"
iptables -A OUTPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j
ACCEPT
iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCE
PT
echo "haciendo ping desde el firewall a la INTERNET (Opcional)"
iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-request -m state --state NEW
,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-reply -m state --state ESTABL
ISHED,RELATED -j ACCEPT
################################################################################
#####################################
echo "controlando el forward"
echo "trafico de WAN2DMZ"
### Habilitando servidor Web en DMZ ############################################
##########################
echo "NAT de Destino al servidor web en DMZ con la IP Publica 200.31.102.133, pr
otocolos HTTP y HTTPS"
iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.31.102.133 --dport 80 -j DNA
T --to 192.168.3.2:80
iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.31.102.133 --dport 443 -j DN
AT --to 192.168.3.2:443
echo "dando acceso al forward (paso de paquetes desde WAN al servidor web)"
iptables -A FORWARD -i eth0 -o eth2 -p tcp -d 192.168.3.2 -m multiport --dports
80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p tcp -s 192.168.3.2 -m multiport --sports
80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
#### Habilitando servidor de correo en DMZ #####################################
####################################
echo "NAT de Destino al servidor de correo en DMZ con la IP Publica 200.31.102.1
33, protocolos SMTP, Recepcion de Correo"
iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.31.102.133 --dport 25 -j DNA
T --to 192.168.3.3:25
iptables -A FORWARD -i eth0 -o eth2 -p tcp -d 192.168.3.3 --dport 25 -m state -state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth0 -p tcp -s 192.168.3.3 --sport 25 -m state -state ESTABLISHED,RELATED -j ACCEPT
echo "NAT de Origen al servidor de correo en DMZ con la IP Publica 200.31.102.13
3, protocolos SMTP, Envio de Correo"
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.3 -j SNAT --to 200.31.102.13
3
iptables -A FORWARD -i eth2 -o eth0 -p tcp -s 192.168.3.3 --sport 25 -m state -state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -p tcp -d 192.168.3.3 --dport 25 -m state -state ESTABLISHED,RELATED -j ACCEPT
###### Opcional Permitir a la DMZ navegar a Internet ###########################
#######################################
echo "trafico de DMZ2WAN (Opcional)"
echo "Haciendo que la DMZ salga a internet con la IP Publica 200.31.102.133"
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.0/24 -j SNAT --to 200.31.102

.133
iptables -A FORWARD -i eth2 -o eth0 -p tcp -s 192.168.3.0/24 -m multiport --dpor
ts 20,21,22,80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -p tcp -d 192.168.3.0/24 -m multiport --spor
ts 20,21,22,80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "acceso a las consultas DNS"
iptables -A FORWARD -i eth2 -o eth0 -p udp -s 192.168.3.0/24 --dport 53 -m state
--state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth2 -p udp -d 192.168.3.0/24 --sport 53 -m state
--state ESTABLISHED,RELATED -j ACCEPT
####### Trfico de LAN con DMZ ####################################################
#################################
echo "trafico de LAN2DMZ (trafico seguro) accediendo al servidor web desde la LA
N"
iptables -A FORWARD -i eth1 -o eth2 -p tcp -s 192.168.200.0/24 -d 192.168.3.2 -m
multiport --dports 80,443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -p tcp -s 192.168.3.2 -d 192.168.200.0/24 -m
multiport --sports 80,443 -m state --state ESTABLISHED,RELATED -j ACCEPT
####### Trfico de la LAN a la WAN ################################################
################################
echo "trafico de LAN2WAN (control de lusers) acceso desde la LAN hacia la intern
et"
echo "Haciendo que la LAN salga a internet con la IP Publica 200.31.102.134"
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.200.0/24 -j SNAT --to 200.31.1
02.134
echo "dando salida libre al servidor proxy"
iptables -A FORWARD -i eth1 -o eth0 -p tcp -s 192.168.200.2 -m multiport --dport
s 20,21,80,443,8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 192.168.200.2 -m multiport --spor
ts 20,21,80,443,8080 -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "el servidor proxy es tambien servidor DNS"
iptables -A FORWARD -i eth1 -o eth0 -p udp -s 192.168.200.2 --dport 53 -m state
--state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p udp -d 192.168.200.2 --sport 53 -m state
--state ESTABLISHED,RELATED -j ACCEPT
echo "Ejemplo dando salida total a un host(que puede ser un proxy)"
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.200.167 -m state --state NEW,ESTA
BLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -d 192.168.200.167 -m state --state ESTABLIS
HED,RELATED -j ACCEPT
echo "Ejemplo dando salida al messenger a un IP al puerto 1863; pero uso que use
proxy para conectarse"
iptables -A FORWARD -i eth1 -o eth0 -p tcp -s 192.168.200.102 --dport 1863 -m st
ate --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 192.168.200.102 --sport 1863 -m st
ate --state ESTABLISHED,RELATED -j ACCEPT
echo "temporalmente le doy salida libre a LAN hasta que configure un proxy"
iptables -A FORWARD -s 192.168.200.0/24 -m state --state NEW,ESTABLISHED,RELATE
D -j ACCEPT
iptables -A FORWARD -d 192.168.200.0/24 -m state --state ESTABLISHED,RELATED -j
ACCEPT
#echo "dando salida libre a un PC, podra navegar sin proxy"
#iptables -A FORWARD -i eth1 -o eth0 -p tcp -s 192.168.200.165 -m multiport --dp

orts 20,21,80,443,8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT


#iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 192.168.200.165 -m multiport --sp
orts 20,21,80,443,8080 -m state --state ESTABLISHED,RELATED -j ACCEPT

También podría gustarte