Editar esta página Enlaces a esta página Exportar a PDF Has cargado una revisión vieja del documento! Si la guardas crearás una versión nueva con estos datos. Archivos Multimedia #!/bin/bash #Habilitamos siempre el forwarding echo 1 > /proc/sys/net/ipv4/ip_forward DMZIFACE="eth1" LOCALIFACE="eth2" INETIFACE="eth0" VPNIFACE="tun0" DMZNET="10.12.13.0/24" LOCALNET="10.12.12.0/24" VPNALLIFACE="tun+" case "$1" in start) echo "Iniciando Firewall... \n" #Ponemos todo a cero iptables -F iptables -X iptables -Z #Politicas por defecto iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -t nat -F iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT #Aceptamos las conexiones ya establecidas iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -m state --state NEW -j ACCEPT iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT ############################################ ## REGLAS PARA EL INPUT ## ############################################ # Permitimos los pings iptables -A INPUT -p icmp -m state --state NEW -j ACCEPT #Abrimos en el INPUT el ssh desde cualquier interfaz iptables -A INPUT -p tcp --dport 22 -j ACCEPT #Abrimos en el INPUT el openvpn desde cualquier interfaz iptables -A INPUT -p udp --dport 1194 -j ACCEPT #Abrimos en el INPUT dns para las vpn, la dmz y localnet iptables -A INPUT -i $DMZIFACE -p udp --dport 53 -j ACCEPT iptables -A INPUT -i $VPNALLIFACE -p udp --dport 53 -j ACCEPT iptables -A INPUT -i $LOCALIFACE -p udp --dport 53 -j ACCEPT #Abrimos en el INPUT dhcp para las dmz y localnet iptables -A INPUT -i $DMZIFACE -p udp --dport 67 -j ACCEPT iptables -A INPUT -i $LOCALIFACE -p udp --dport 67 -j ACCEPT ############################################ ## REGLAS PARA TODOS LOS FORWARDS ## ############################################ # Permitimos los pings iptables -A FORWARD -p icmp -m state --state NEW -j ACCEPT ############################################ ## REGLAS PARA EL FORWARD desde la DMZ ## ############################################ #de la DMZ a Inet solo aceptamos web y ssh y enmascaramos. Aceptamos tb la salida de rsync desde backup iptables -A FORWARD -i $DMZIFACE -o $INETIFACE -p tcp -m multiport --destination-ports www,ssh,https,sftp -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-backup -i $DMZIFACE -p tcp --dport 873 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-backup -i $DMZIFACE -p tcp --dport 80 -m state --state NEW -j ACCEPT #abrimos el correo para srv-datos iptables -A FORWARD -s srv-datos -i $DMZIFACE -o $INETIFACE -p tcp --dport 25 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-datos -i $DMZIFACE -o $INETIFACE -p udp --dport 25 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-datos -i $DMZIFACE -o $INETIFACE -p tcp --dport 21 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-datos -i $DMZIFACE -o $INETIFACE -p udp --dport 21 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-datos -i $DMZIFACE -o $INETIFACE -p tcp --dport 3306 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-datos -i $DMZIFACE -o $INETIFACE -p tcp --dport 161 -m state --state NEW -j ACCEPT #abrimos el correo para srv-web iptables -A FORWARD -s srv-web -i $DMZIFACE -o $INETIFACE -p tcp --dport 25 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-web -i $DMZIFACE -o $INETIFACE -p udp --dport 25 -m state --state NEW -j ACCEPT #abrimos para el servidor de fechas iptables -A FORWARD -s srv-web -i $DMZIFACE -o $INETIFACE -p udp --dport ntp -m state --state NEW -j ACCEPT #abrimos al as400 de salica iptables -A FORWARD -s srv-web -d 194.30.40.94 -i $DMZIFACE -o $INETIFACE -m state --state NEW -j ACCEPT #abrimos al ENBOR de ingesit iptables -A FORWARD -s srv-web -d 212.81.222.114 -i $DMZIFACE -o $INETIFACE -m state --state NEW -j ACCEPT #abrimos al ENBOR de Basterra iptables -A FORWARD -s srv-web -d 212.81.209.194 -i $DMZIFACE -o $INETIFACE -m state --state NEW -j ACCEPT #abrimos al SQL SERVER de Gastrobaska iptables -A FORWARD -s srv-web -d 212.8.98.176 -i $DMZIFACE -o $INETIFACE -m state --state NEW -j ACCEPT #iptables -A FORWARD -s 10.12.12.70 -d 212.8.98.176 -i $DMZIFACE -o $INETIFACE -m state --state NEW -j ACCEPT #abrimos el correo para el servidor de backup iptables -A FORWARD -s srv-backup -i $DMZIFACE -o $INETIFACE -p tcp --dport 25 -m state --state NEW -j ACCEPT iptables -A FORWARD -s srv-backup -i $DMZIFACE -o $INETIFACE -p udp --dport 25 -m state --state NEW -j ACCEPT iptables -t nat -A POSTROUTING -s $DMZNET -o $INETIFACE -j MASQUERADE ############################################ ## REGLAS PARA EL FORWARD desde la LOCAL ## ############################################ #de la red local podemos acceder a los servicios de samba, http, https y ssh de srv-datos. Y ftp iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-datos -p tcp -m multiport --destination-ports 999,www,ssh,https,139,445 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-datos -p udp -m multiport --destination-ports 137,138 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-datos -p tcp --dport 21 -m state --state NEW -j ACCEPT #de la red local podemos acceder a los servicios de samba, http, https y ssh de srv-web. Y ftp iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-web -p tcp -m multiport --destination-ports 999,www,ssh,https,139,445 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-web -p udp -m multiport --destination-ports 137,138 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-web -p tcp --dport 21 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-web -p tcp --dport 20 -m state --state NEW -j ACCEPT #de la red local podemos acceder a toda la centralita iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d centralita -m state --state NEW -j ACCEPT iptables -A FORWARD -o $LOCALIFACE -i $DMZIFACE -s centralita -m state --state NEW -j ACCEPT #abrimos tambien el ldap iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-datos -p tcp --dport 389 -m state --state NEW -j ACCEPT #abrimos tambien el mysql iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-datos -p tcp --dport 3306 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-web -p tcp --dport 3306 -m state --state NEW -j ACCEPT #de la red local podemos acceder a los servicios de ssh y https de srv-backup iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -d srv-backup -p tcp -m multiport --destination-ports ssh,https,www -m state --state NEW -j ACCEPT #dejamos todo el trafico a internet y lo enmascaramos #iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -p tcp --dport 20 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $DMZIFACE -p tcp --dport 21 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 22 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 2222 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 8443 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 25 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 80 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 443 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 110 -m state --state NEW -j ACCEPT #iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -p tcp --dport 3306 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $LOCALIFACE -o $INETIFACE -m state --state NEW -j ACCEPT iptables -t nat -A POSTROUTING -s $LOCALNET -o $INETIFACE -j MASQUERADE #dejamos todo el trafico hacia los tuneles iptables -A FORWARD -i $LOCALIFACE -o $VPNALLIFACE -m state --state NEW -j ACCEPT ############################################ ## REGLAS PARA EL FORWARD desde la VPN ## ############################################ #Trafico abierto entre tuneles iptables -A FORWARD -i $VPNALLIFACE -o $VPNALLIFACE -j ACCEPT #de la VPN podemos acceder a los servicios de ssh y https de srv-backup iptables -A FORWARD -i $VPNALLIFACE -o $DMZIFACE -d srv-backup -p tcp -m multiport --destination-ports ssh,https -m state --state NEW -j ACCEPT #de la VPN podemos acceder a los servicios de samba, http, https y ssh de srv-datos iptables -A FORWARD -i $VPNALLIFACE -o $DMZIFACE -d srv-datos -p tcp -m multiport --destination-ports 999,www,ssh,https,139,445 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $VPNALLIFACE -o $DMZIFACE -d srv-datos -p udp -m multiport --destination-ports 137,138 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $VPNALLIFACE -o $DMZIFACE -d srv-web -p tcp -m multiport --destination-ports 999,www,ssh,https,139,445 -m state --state NEW -j ACCEPT iptables -A FORWARD -i $VPNALLIFACE -o $DMZIFACE -d srv-web -p udp -m multiport --destination-ports 137,138 -m state --state NEW -j ACCEPT echo "iniciado" ;; stop) #Ponemos todo a cero iptables -F iptables -X iptables -Z #Politicas por defecto iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -t nat -F iptables -t nat -A POSTROUTING -s $LOCALNET -o $INETIFACE -j MASQUERADE iptables -t nat -A POSTROUTING -s $DMZNET -o $INETIFACE -j MASQUERADE echo "Parando el Firewall... \n" echo "Queda todo abierto \n" ;; status) echo "********************* Reglas de Filtrado ************************" iptables -v -n --line-numbers -x -t filter -L echo "*****************************************************************" ;; *) echo "Firewall: Script para la administracion de Firewall /n" echo "Uso: Firewall {start|stop|status} /n" ;; esac exit 0 Send linkbacks for external links Guardar Previsualización Cancelar Resumen de la edición Nota: Al editar esta página, estás de acuerdo en autorizar su contenido bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 4.0 International