Squid + iptables denegación por defecto.

Enviado por el 16/10/2007

Squid + iptables denegación por defecto.

Os dejo este script para squid con iptables denegando todo lo que se mueva , que "colocaremos" en /etc/init.d/, daremos permisos de ejecución. Básicamente "hace":

  • Deniega por defecto el tráfico entrante a excepcion de SSH y SQUID
  • Permite usar el proxy a la LAN.

En un futuro próximo :

  • Implementación seguridad MAC
  • Proxy Transparente
  • Algo que se me ocurra.

#!/bin/bash##Liberado bajo Licencia Publica General version 2#Alberto Permuy Leal###PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bincase "$1" in start) clear echo "Iniciando configuracion firewall..." echo "Estableciendo variables" INTERFAZLAN="eth0" INTERNET="0.0.0.0/0" LAN="192.168.10.0/24" DNS1="212.59.199.2" DNS2="212.59.199.6" echo "OK" echo "Borrando reglas" iptables -Z iptables -F iptables -X iptables -t nat -F echo "OK" echo "Estableciendo politicas por defecto" iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP echo "Politicas por defecto OK" # # echo "Estableciendo reglas" iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # #Permitimos icmps iptables -A INPUT -i eth0 -p icmp -j ACCEPT iptables -A OUTPUT -o eth0 -p icmp -j ACCEPT # # # echo "Permitiendo Acceso SSH" iptables -A INPUT -i $INTERFAZLAN -s $LAN -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -o $INTERFAZLAN -s $LAN -p tcp --sport 22 -j ACCEPT echo "SSH OK" # # echo "Permitiendo Acesso SQUID" iptables -A INPUT -i $INTERFAZLAN -s $LAN -p tcp --dport 3128 -j ACCEPT iptables -A OUTPUT -o $INTERFAZLAN -s $LAN -p tcp --sport 3128 -j ACCEPT echo "SQUID OK" # # echo "Permitiendo consultas DNS" iptables -A INPUT -i $INTERFAZLAN -s $DNS1 -p udp --sport 53 -j ACCEPT iptables -A OUTPUT -o $INTERFAZLAN -d $DNS1 -p udp --dport 53 -j ACCEPT echo "DNS OK" # # # echo "Permitiendo acceso web estándar" iptables -A INPUT -i $INTERFAZLAN -s $INTERNET -p tcp --sport 80 -j ACCEPT iptables -A OUTPUT -o $INTERFAZLAN -d $INTERNET -p tcp --dport 80 -j ACCEPT echo "Web Estandar OK" # # # echo "Permitendo acceso web seguro" iptables -A INPUT -i $INTERFAZLAN -s $INTERNET -p tcp --sport 443 -j ACCEPT iptables -A OUTPUT -o $INTERFAZLAN -d $INTERNET -p tcp --dport 443 -j ACCEPT echo "Web Seguro OK" # # # echo "Activando bit de forward" echo 1 > /proc/sys/net/ipv4/ip_forward ;; stop) echo "Borrando reglas firewall" iptables -Z iptables -F iptables -X iptables -t nat -F iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT echo "Reglas borradas." echo "Su máquina es vulnerable!" ;; *) echo "Opcion Invalida." echo "Use start-stop." exit 1 ;;esac