configuracion_firewall _linux

Download CONFIGURACION_FIREWALL _LINUX

If you can't read please download the document

Upload: tuxito-linuxero

Post on 18-Nov-2015

212 views

Category:

Documents


0 download

DESCRIPTION

FIREWALL LINUX

TRANSCRIPT

#!/bin/bash# Firewall hecho por mi jejejej# 2012echo "limpiando todas las reglas"service iptables stopecho "Estableciendo la politica por defecto a DROP"iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROPecho "configurando INPUT y OUTPUT"echo "dando acceso total al loopback"# todo lo que entra y sale desde el loopback se aceptaiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPTecho "permitiendo acceso al servidor SSH (protocolo tcp, puerto 22) desde cualquier origen "iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT# 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 ACCEPTecho "permitiendo acceso a los puertos del VPN"iptables -A INPUT -i eth0 -p udp -m multiport --dports 1194,1195 -j ACCEPTiptables -A OUTPUT -o eth0 -p udp -m multiport --sports 1194,1195 -j ACCEPTecho "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 ACCEPTiptables -A INPUT -i eth1 -p icmp --icmp-type echo-reply -s 192.168.200.0/24 -j ACCEPTecho "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 ACCEPTiptables -A OUTPUT -o eth1 -p icmp --icmp-type echo-reply -d 192.168.200.0/24 -j ACCEPTecho "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 ACCEPTiptables -A INPUT -i eth2 -p icmp --icmp-type echo-reply -s 192.168.3.0/24 -j ACCEPTecho "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 ACCEPTiptables -A OUTPUT -o eth2 -p icmp --icmp-type echo-reply -d 192.168.3.0/24 -j ACCEPTecho "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 ACCEPT 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 ACCEPTiptables -A INPUT -i eth0 -p icmp --icmp-type echo-reply -m state --state ESTABLISHED,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, protocolos HTTP y HTTPS"iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.31.102.133 --dport 80 -j DNAT --to 192.168.3.2:80iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.31.102.133 --dport 443 -j DNAT --to 192.168.3.2:443echo "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.133, protocolos SMTP, Recepcion de Correo"iptables -t nat -A PREROUTING -i eth0 -p tcp -d 200.31.102.133 --dport 25 -j DNAT --to 192.168.3.3:25iptables -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.133, protocolos SMTP, Envio de Correo"iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.3 -j SNAT --to 200.31.102.133iptables -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.133iptables -A FORWARD -i eth2 -o eth0 -p tcp -s 192.168.3.0/24 -m multiport --dports 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 --sports 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 LAN"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 internet"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.102.134echo "dando salida libre al servidor proxy"iptables -A FORWARD -i eth1 -o eth0 -p tcp -s 192.168.200.2 -m multiport --dports 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 --sports 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,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -d 192.168.200.167 -m state --state ESTABLISHED,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 state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -p tcp -d 192.168.200.102 --sport 1863 -m state --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,RELATED -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 --dports 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 --sports 20,21,80,443,8080 -m state --state ESTABLISHED,RELATED -j ACCEPT