Ahorrar Cuota de Internet Con Iptables y de Paso Mejorar La Privacidad

download Ahorrar Cuota de Internet Con Iptables y de Paso Mejorar La Privacidad

of 3

Transcript of Ahorrar Cuota de Internet Con Iptables y de Paso Mejorar La Privacidad

  • 7/13/2019 Ahorrar Cuota de Internet Con Iptables y de Paso Mejorar La Privacidad

    1/3

    [Cmo se hace?] Ahorrar cuota de internet con iptables (y de

    paso mejorar la privacidad)

    humanos.uci.cu/2014/03/como-se-hace-ahorrar-cuota-de-internet-con-iptables-y-de-paso-mejorar-la-privacidad

    Dariem

    Este es un tutorial orientado sobre todo a los cubanos y a la gente de la

    UCI, que somos los que generalmente tenemos problemas con la cuota

    mensual de acceso a Internet. Quizs a muchos de ustedes les pasa

    como a m, que la cuota de Internet prcticamente no me alcanza para el

    mes y he tenido hasta que repartirla en cuotas diarias.

    El problema

    Este problema me ha llevado a aplicar cualquier cantidad de trucos para

    eliminar las cosas superfluas de la navegacin, como por ejemplo, usar

    extensiones de Firefox para no cargar automticamente las imgenes, videos, animaciones, etc. y bloquear determinados

    sitios. Algunas de estas extensiones son ImgLikeOperao BlockSite Plus. Pero si nos detenemos a revisar nuestros logs del

    proxy en el caso de la UCI estn accesibles para cada usuario nos encontramos que hay sitios que son imbloqueablescon estas extensiones, como son addons.mozilla.com, addons.mozilla.org, data.mozilla.com, sitios a los que se conecta e

    navegador a hacer quien sabe qu cosas a travs de funcionalidades que al parecer no estn accesibles para que las

    extensiones del navegador las bloqueen.

    Por otro lado, existe una proliferacin de lo que se conoce como Content Delivery Network (CDN), conjunto de servidores de

    alta disponibilidad contratados por los distintos sitios a proveedores de servicio de Internet donde se almacenan los contenid

    estticos, de forma que empresas especializadas se encargan de manejar los altos volmenes de trfico que genera el serv

    esos archivos, muchos de gran tamao, disminuyendo la carga sobre el sitio que los referencia. El problema es que muchas

    veces esos contenidos (imgenes, CSS, Javascript, ) no nos interesa, slo queremos leer el texto. Y mira que esos CDN

    gastan cuota! Lo bueno es que casi todos contienen las cadenas de caracteres cnd. o -cdn o cdn- en el dominio

    Configuracin bsica de iptables

    El super cortafuegos de Linux viene al rescate. Olvdense de todas las interfaces bonitas como Uncomplicated Firewall (ufw)

    dems herramientas de lamers. Porque ya saben: real men use iptables!

    En Debian/Ubuntu/Nova, desinstala todos esos paquetes que has instalado porque te da demasiado miedo usar un

    cortafuegos de verdad, e instlate el paquete iptables-persistent. Con este paquete tienes un script en /etc/init.d/iptables

    persistentque te permite salvar y restaurar las reglas de iptables que hayas adicionado o insertado. Tambin tienes los

    archivos/etc/iptables/rules.v4y /etc/iptables/rules.v6donde se salvan estas reglas para IPv4 e IPv6 respectivamente. Co

    los comandos iptablese ip6tablespuedes adicionar, insertar o eliminar reglas del ncleo, las cuales puedes probar antes d

    salvarlas hacia los archivos anteriormente mencionados.

    Si en tu entorno no se utiliza algunos de los protocolos IPv4 o IPv6 te recomiendo que dejes el archivo correspondiente conpolticas bsicas de denegar todo. Por ejemplo, ac en la UCI no se utiliza IPv6 (todava) as que podemos hacer lo siguient

    # ip6tables -F# ip6tables -Z# ip6tables -X# ip6tables -P INPUT DROP# ip6tables -P OUTPUT DROP# ip6tables -P FORWARD DROP# /etc/init.d/iptables-persistent save

    http://addons.firefoxmania.uci.cu/imglikeopera/https://addons.mozilla.org/en-us/firefox/addon/blocksiteplus/https://addons.mozilla.org/en-us/firefox/addon/blocksiteplus/http://addons.firefoxmania.uci.cu/imglikeopera/https://humanos.uci.cu/2014/03/como-se-hace-ahorrar-cuota-de-internet-con-iptables-y-de-paso-mejorar-la-privacidad/
  • 7/13/2019 Ahorrar Cuota de Internet Con Iptables y de Paso Mejorar La Privacidad

    2/3

    Los tres primeros comandos son para limpiar la tabla de reglas, los otros tres son para establecer como poltica por defecto

    IPv6 que nada entre ni salga por la red, y el ltimo es para salvar las reglas en /etc/iptables/rules.v*, lo que garantiza que es

    se carguen cada vez que se reinicie la mquina o cada vez que se corra/etc/init.d/iptables-persistent restart.

    Claro, que es mucho ms fcil sencillamente deshabilitar IPv6 en el sistema operativo, aadiendo una opcin a los argumen

    de tu ncleo. Esto lo logras editando /etc/default/grub, modificando la lnea que contiene la variable

    GRUB_CMDLINE_LINUX_DEFAULT:

    GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

    Luego se actualiza grub y se reinicia:

    # update-grub# reboot

    Despus de deshabilitar IPv6 (y reiniciar) o denegarlo por completo, te puedes centrar en configurar IPv4. Primero, limpia la

    tabla de reglas y establece algunas polticas de seguridad por defecto:

    # iptables -F# iptables -Z

    # iptables -X# iptables -P INPUT DROP# iptables -P FORWARD DROP# iptables -P OUTPUT ACCEPT# iptables -A INPUT -i lo -j ACCEPT# iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT# iptables -A INPUT -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT# iptables -A INPUT -p icmp -m icmp ! --icmp-type 8 -j ACCEPT# /etc/init.d/iptables-persistent save

    Ya conocen los tres primeros comandos, en los tres siguientes slo permitimos las conexiones salientes. Luego adicionamos

    excepciones que permitan algunas conexiones entrantes, en este caso a la interfaz de red loopback (127.0.0.0/8), tambin lo

    paquetes de respuestas a conexiones preestablecidas, y cualquier paquete ICMP excepto las peticiones de ping Ok, ok, sno eres tan paranoico puedes permitir todos los ping, quita de la regla que tiene que ver con ICMP la parte que dice

    ! --icmp-type 8

    Si adems quieres abrir algn puerto que te interese que sea accesible desde el exterior, por ejemplo, para conexiones SSH

    (puerto 22), puedes aadir una regla como esta:

    # iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

    Pon el nmero de puerto segn te convenga: http(80), https(443), samba(445), Las reglas tambin se pueden escribir

    editando directamente el archivo /etc/iptables/rules.v4, recomiendo que salven alguna para que les sirva de plantilla.

    Utilizando iptables para filtrar paquetes por contenido

    Ok, vamos al pollo del arroz con pollo.

    Toda peticin HTTP o HTTPS que se dirige al proxy, contiene un encabezado que incluye el dominio al que uno desea

    conectarse, por tanto, se podran filtrar esos paquetes por las cadenas de caracteres que contienen y denegar los que no no

    convegan. Por ejemplo, si no desean que vaya alguna peticin para addons.mozilla.com o addons.mozilla.org, podemos aa

    esta regla:

    # iptables -A OUTPUT -d 10.0.0.1/32 -p tcp -m string --string "addons.mozilla." --algo kmp -REJECT --reject-with tcp-reset

  • 7/13/2019 Ahorrar Cuota de Internet Con Iptables y de Paso Mejorar La Privacidad

    3/3

    Esto lo que quiere decir es que aada a la cadena de conexiones salientes ( -A OUTPUT) una regla que filtre las conexione

    con destino al IP 10.0.0.1 (-d 10.0.0.1/32) que es nuestro proxy, por el protocolo TCP ( -p tcp) utilizando el mdulo de

    filtrado por cadenas de caracteres (-m string) cualquier paquete que contenga la cadena addons.mozilla. (

    --string "addons.mozilla.") utilizando la estrategia de bsqueda Knuth-Pratt-Morris (--algo kmp), que rechace

    estos paquetes (-j REJECT) utilizando para ello un paquete de respuesta RST que indica cerrar la conexin (

    --reject-with tcp-reset). Tambin se podra poner en la regla el puerto destino del proxy si desean ser ms especfi

    (--dport 8080)

    Otro ejemplo, los dichosos CDN que me tienen la cuota derretida. Supongamos que queremos permitir algunos y denegar

    resto:

    # iptables -A OUTPUT -d 10.0.0.1/32 -p tcp -m string --string "licdn." --algo kmp -j ACCEPT# iptables -A OUTPUT -d 10.0.0.1/32 -p tcp -m string --string "fbcdn.net" --algo kmp -jACCEPT# iptables -A OUTPUT -d 10.0.0.1/32 -p tcp -m string --string "cdn." --algo kmp -j REJECT --reject-with tcp-reset

    Ac permitimos el CDN de LinkeIn, que contiene la cadena de caracteres licdn. y uno de los tantos de Facebook que conti

    la cadena de caracteres fbcdn.net y denegamos cualquier otro dominio que contenga la cadena cdn. Recuerden que

    siempre que creemos reglas con el comando iptables, las estamos creando directamente en las tablas del ncleo, pero si n

    las salvamos, las perderemos cuando reiniciemos, as que no olviden salvarlas:

    # /etc/init.d/iptables-persistent save

    Para ms informacin: man iptables

    Esto es todo, espero que les sea util.