Greer

Avatar

GREER WITHIN GNU/LINUX

Firewall usando iptables

Bueno aveces soy un poco paranoico… pues que puedo hacer ? esto fue un efecto secundario al usar windows por varios años. :D

Uno de estos dias viendo la nueva adquisición de elecboy, me percate que habia un tema sobre firewall, que me llamo la atención, por que es raro ver eso en linux jeje pero bueno paranoia supongo ? la cosa fue que segui lo que ahi indicaba para poner en marcha un firewall en mi ubuntu (bueno cualquier distribucion GNU/Linux).

La cosa fue que lo hice… y no me funciono como ahi lo indicaba :S (elec modera tus temas jeje) asi que me tome la molestia de arreglarlo para mi beneficio y bueno ahora para el de todos, le agregue un par de comandos mas con ayuda de manuales y bueno la idea sigue siendo la misma que indica pj_aquino

  • Cerrar todos los puertos de entrada
  • Navegar por internet
  • Permitir el acceso a internet de cualquier aplicación que se inicie.

Script (Firewall)

#!/bin/bash
#Borrar todas las reglas

iptables -F

#Cerrar todo. Dejar entrar y salir lo solicitado

iptables -P INPUT DROP

iptables -P OUTPUT ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#Reglas de los puertos#
# Permitir la comunicación con el servidor dns

iptables -A INPUT -p UDP --dport 53 -j ACCEPT

iptables -A INPUT -p TCP --dport 53 -j ACCEPT

#OTRAS PROTECCIONES#
# Quitar los pings.

/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

# No responder a los broadcast.

/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Para evitar el spoofing, asegurar de que la dirección

# origen del paquete viene del sitio correcto.

for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do

/bin/echo "1" > ${interface}

done

# Los ICMPs redirigidos que pueden alterar la tabla de rutas.

for interface in /proc/sys/net/ipv4/conf/*/accept_redirects; do

/bin/echo "0" > ${interface}

done

#Dejar a localhost, para los programas internos.

iptables -A INPUT -i lo -j ACCEPT

Guardo este script con el nombre de firewall.sh

y le doi permiso de ejecución:
$ chmod +x firewall.sh

ahora lo activo:
$ sudo sh firewall.sh

y veo la salida de iptables:
$ sudo iptables -L

Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT 0 -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
tendria que salir algo asi…

Ahora ponerlo para que se active solo al iniciar la maquina:

$ sudo cp firewall.sh /etc/init.d/
$ sudo update-rc.d firewall.sh defaults

Listo… adios paranoia jajaja

Para bajarlo firewall.sh
o bien para bajarlo de HackPR.NET File DataBase



Tags: , , , , ,

,

Mozilla Firefox

Before you go

Going so soon? May these links be a guide to web enlightenment. Schwing!