Imagenes de instalación de las versiones estables para Mageia y OpenMandriva.
OpenMandriva: Mageia (Mageia 9) 20/Agosto/2023 - Anuncio, Descargas.
Blogdrake recomienda descargar las imágenes de instalación (iso) vía torrent para evitar corrupción de datos, aprovechar mejor su ancho de banda y mejorar la difusión de las distribuciones.
Scriptables - Script para iptables
Enviado por LoKi el 29 Septiembre, 2010 - 18:13
Hola a todos..
Ahora les paso un script medio interactivo para cargar un par de reglas a iptables o bloquear el trafico. SI otro script mas !!
Es la primer version y planeo hacerlo mas interactivo e incluso portarlo a algun lenguaje como python, asique cualquier sugerencia es bienvenida.
Ahi va:
#!/bin/sh
#################################
## Script para manipular ##
## el conjunto de reglas ##
## de IPtables ##
#################################
case $1 in
start )
echo -n "Aplicando las Reglas de IPtables..."
# Defino algunas Macros
eth_if="eth0" #Placa Ethernet
wl_if="wlan0" #Placa Wi-Fi
ssh="2308" #Puerto de escucha SSH
torrent="6881" #Puerto de descargas del torrent
tracker="4444" #Puerto UDP del sistema de localizadores de Ktorrent
ip_wl="10.10.10.3" #IP placa Ethernet
ip_eth="10.10.10.4" #IP placa Wi-Fi
localhost="127.0.0.1" #Localhost
# FLUSH de reglas
iptables -F #Borra las reglas de las cadenas INPUT OUTPUT FORWARD 'OTRAS'
iptables -X #Borra cualquier cadena adcional
iptables -Z #Pone a cero los contadores de paquetes
iptables -t nat -F #Borra las reglas de NAT
# Politicas por defecto
iptables -P INPUT DROP #Por defecto bloquea los paquetes entrantes
iptables -P OUTPUT DROP #Por defecto bloquea todos los paquetes salientes
iptables -P FORWARD DROP #Por defecto bloquea los paquetes hacia otras redes,
# esto es para cuando se tienen 2 o mas interfaces de red
# Se loguea todo lo que entre al firewall
iptables -A INPUT -i $wl_if -j LOG --log-level debug --log-prefix "FW_WLAN: "
iptables -A INPUT -i $eth_if -j LOG --log-level debug --log-prefix "FW_ETH: "
# Se permite todo el trafico para el localhost
iptables -A INPUT -i $localhost -j ACCEPT
iptables -A OUTPUT -o $localhost -j ACCEPT
# Permito el trafico de la red MSN
iptables -A OUTPUT -o $wl_if -s $ip_wl -p tcp --dport 1863 -j ACCEPT #MSN
iptables -A OUTPUT -o $eth_if -s $ip_eth -p tcp --dport 1863 -j ACCEPT #MSN
# Permito el trafico Web
iptables -A OUTPUT -o $wl_if -s $ip_wl -p udp --dport 53 -j ACCEPT #DNS
iptables -A OUTPUT -o $wl_if -s $ip_wl -p tcp --dport 53 -j ACCEPT #DNS
iptables -A OUTPUT -o $wl_if -s $ip_wl -p tcp --dport 80 -j ACCEPT #HTTP
iptables -A OUTPUT -o $wl_if -s $ip_wl -p tcp --dport 443 -j ACCEPT #HTTPS
iptables -A OUTPUT -o $eth_if -s $ip_eth -p udp --dport 53 -j ACCEPT #DNS
iptables -A OUTPUT -o $eth_if -s $ip_eth -p tcp --dport 53 -j ACCEPT #DNS
iptables -A OUTPUT -o $eth_if -s $ip_eth -p tcp --dport 80 -j ACCEPT #HTTP
iptables -A OUTPUT -o $eth_if -s $ip_eth -p tcp --dport 443 -j ACCEPT #HTTPS
# Permito la conexion por SSH
iptables -A INPUT -i $wl_if -d $ip_wl -p tcp --dport $ssh -j ACCEPT
iptables -A INPUT -i $eth_if -d $ip_eth -p tcp --dport $ssh -j ACCEPT
# Permito conexiones para el Torrent
iptables -A OUTPUT -o $wl_if -s $ip_wl -p tcp --dport $torrent -j ACCEPT
iptables -A OUTPUT -o $eth_if -s $ip_eth -p tcp --dport $torrent -j ACCEPT
# Y para el sistema de localizadores (trackers) de Ktorrent
iptables -A OUTPUT -o $wl_if -s $ip_wl -p udp --dport $tracker -j ACCEPT
iptables -A OUTPUT -o $eth_if -s $ip_eth -p udp --dport $tracker -j ACCEPT
# Permito el PING
iptables -A INPUT -i $wl_if -d $ip_wl -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -o $wl_if -s $ip_wl -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -i $eth_if -d $ip_eth -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -o $eth_if -s $ip_eth -p icmp --icmp-type echo-reply -j ACCEPT
# Permito pasar paquetes de conexiones previamente establecidas por mi.
# En el caso de que inicie una conexion y los paquetes de retorno ingresen
# por algun puerto que no este explicitamente abierto esta regla me los
# dejara pasar basandose en que pertenecen a una conexion previamente
# establecida o tienen alguna relacion con esta.
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Similar a la regla anterior pero funciona al reves, es decir que
# si la conexion fue establecida de forma externa se le permitiran
# salir a los paquetes de respuesta provenientes de mi maquina
# basandose a que pertenecen a dicha coneccion.
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Por si la politica por defecto falla, bloqueo todo lo demas y envio una respuesta al origen
iptables -A INPUT -p tcp -j REJECT
iptables -A INPUT -p udp -j REJECT
iptables -A INPUT -p icmp -j DROP
echo "Listo."
;;
stop )
echo -n "Desactivando Reglas..."
# Pongo las politicas por defecto en 'ACCEPT'
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# Quito todas las reglas declaradas
iptables -F #Borra las reglas de las cadenas INPUT OUTPUT FORWARD 'OTRAS'
iptables -X #Borra cualquier cadena adcional
iptables -Z #Pone a cero los contadores de paquetes
iptables -t nat -F #Borra las reglas de NAT
echo "Listo."
;;
block )
echo -n "Bloqueando todo el trafico..."
# Bloqueo todo el trafico
iptables -F #Borra las reglas de las cadenas INPUT OUTPUT FORWARD 'OTRAS'
iptables -X #Borra cualquier cadena adcional
iptables -Z #Pone a cero los contadores de paquetes
iptables -t nat -F #Borra las reglas de NAT
iptables -P INPUT DROP #Por defecto bloquea los paquetes entrantes
iptables -P OUTPUT DROP #Por defecto bloquea todos los paquetes salientes
iptables -P FORWARD DROP #Por defecto bloquea los paquetes hacia otras redes,
# esto es para cuando se tienen 2 o mas interfaces de red
# Se permite todo el trafico para el localhost
iptables -A INPUT -i $localhost -j ACCEPT
iptables -A OUTPUT -o $localhost -j ACCEPT
echo "Listo."
;;
help )
# Ayuda e Instrucciones de uso
printf "\nFWall\n"
printf "=====\n\n"
printf "FWall es un script para bash para facilitar la carga del conjunto de reglas de IPtables.\n"
printf "El mismo puede ser ejecutado desde una ruta absoluta: 'sh /ruta_absoluta/fwall' o sino\n"
printf "colocando el script en alguna ruta dentro de la variable \$PATH (/usr/local/bin por ejemplo).\n"
printf "Recuerde ejecutarlo siempre como usuario 'root'.\n\n"
printf "Sintaxis:\n"
printf "$0 { start | stop | block |ver }\n\n"
printf "start - Carga todas las reglas predefinidas en el script, ademas de establecer las politicas por defecto.\n"
printf " Las reglas predefinidas permiten navegar completamente por la web, usar la red MSN y el gestor de\n"
printf " torrents KTorrent (puerto tcp:6881 y udp:4444 para los trackers).\n\n"
printf "stop - Elimina todas las reglas y cambia las politicas por defecto para permitir todo el trafico de red.\n\n"
printf "block - Bloquea absolutamente todo el trafico de red.\n\n"
printf "help - Muestra esta ayuda.\n\n"
printf "ver - Muestra la version del programa.\n\n"
printf "FIN.\n"
;;
ver )
# Version del Script
printf "\nVersion 0.1 - Desarrollada por LoKi.\n"
printf "29-Sep-2010 - mailto: jf.donadio@gmail.com\n"
;;
* )
echo "No se ha pasado ningun parametro."
echo "Uso: $0 { start | stop | block | help |ver }"
;;
esacPD: se ve mejor y se entiende mejor con los colores del editor VIM jeje..
saludos a todos !!
» Enlace permanente»
- Entra a tu cuenta o crea una para poder comentar.


