BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate
ADSL/VDSL

Configuracion del Firewall del St510 (Guia)

BocaDePez
BocaDePez

Este es mi primera guia, asi que esperad algunos fallos :)

Objetivo de esta guia:

-Conocimientos basicos de lo que hace un firewall
-Conexion CLI a nuestro router
-Activacion y configuracion del firewall interno del SpeedTouch510 manual

¿Que es un firewall?

La mayoria de nosotros conoce las aplicaciones comerciales que hacen de firewall (p.ej ZoneAlarm). Estas son aplicaciones que bloquean el acceso a la red a programas externos e internos a menos que se les de permiso.
Pero un firewall tambien puede ser un dispositivo aparte o, como en nuestro caso, una serie de directrices. Asi, que aunque muchos lo desconocen, no se necesita ningun software externo para protegernos con nuestro flamante router, configurandolo adecuadamente, podemos asegurar nuestra red contra potenciales intrusos.

Los firewall lo que hacen es controlar todas las conexiones entrantes y salientes de nuestro sistema, examinando los protocolos y puertos, cancelando todo trafico que consideran ilicito. Esta es la razon que para el uso de programas p2p se tengan que abrir los puertos y configurar correctamente el firewall, o de lo contrario no descargaremos casi nada.

-Conexion CLI a nuestro router

Muchos os estareis preguntando "como configuro el firewall interno del trasto este?" y la respuesta no es facil. Hasta el momento, el firmware no contempla un interfaz GUI (via web) para la configuracion del firewall, asi que hay 2 metodos, aunque son basicamente el mismo:
-Conexion via Telnet y configuracion manual
-Uso del programa st_fwconfig.exe

Digo que son basicamente el mismo metodo porque el programa hace automaticamente exactamente lo mismo que nosotros via telnet. En este apartado se tratara el modo manual, aunque la idea es que sea tambien de ayuda para los usuarios del programa.

Necesitamos acceder al CLI ( Command Line Interface ) del router , esto es un interfaz de lineas de comandos, osea, un interfaz de texto.
Lo primero que necesitamos para acceder a nuestro router es un programa telnet. No os preocupeis porque casi todos los sistemas operativos traen uno. En Menu inicio --> Ejecutar... escribid: telnet donde ip es la ip que teneis asignada a vuestro router, por ejemplo en mi caso telnet 172.168.0.1.
Si todo va bien os tendria que pedir nombre de usuario y password (los habituales). A continuacion os tendria que aparecer algo como esto.

=>

En este manual solo tratare de la configuracion del firewall y dejaremos el resto de cositas para mas adelante, aunque todo esta contenido en el manual. Por lo tanto escribiremos

=> firewall y obtendremos
[firewall]=>

Ya estamos en la seccion que nos interesa. Ahora voy a una explicacion mas tecnica, y un poco tediosa, pero necesaria. Una vez acabado el rollo, proseguire con un par de ejemplos.

Firewall, terminologia, comandos y parametros (Seguro que me queda oscuro...)

Terminologia

Esta es una explicacion en palabras sencillas de terminos muy usados en el mundo de las redes. Si alguien quiere mejorar las deficiniones, adelante. Si estan en ingles algunos terminos, es porque el CLI esta en ingles y asi no nos liamos.

Paquete - las partes que componen un mensaje en internet. Los datos son divididos en paquetes, enviados al ordenador y vueltos a "montar". Por ejemplo, si ves una pagina web en internet, primero habra sido desmenuzada en paquetes, enviada a traves de la red y reensamblada en tu pc.

Port # (puerto) - cada paquete esta relacionado con un nº de puerto. Cada servicio/protocolo tiene un numero determinado de puerto asignado, asi es como los reconocen los programas y el firewall. Por ejemplo, las paginas web se reciben a traves del puerto 80.

Rules (reglas) - una regla establece sin un paquete recibido a un puerto definido puede "pasar" o no. Las reglas estan contenidas en cadenas (chains).

Chain (cadena) - una serie de reglas. Deben estar asociadas a un Hook para que las reglas esten en vigor.

Hook - Podemos pensar que son todos los "puntos" por donde pasan todos los paquetes. Nuestro router tiene 5 puntos:
- input - todos los paquetes entrantes
- sink - paquetes destinados al router
- forward - los paquetes que son enviados desde y a nuestro pc
- source - los paquetes que son enviados desde nuestro router
- output - todos los paquetes salientes

Los hooks te permiten decidir cuando una regla se activa o no. Cada hook puede tener solo una cadena activa. En el siguiente dibujo se muetra un pequeño esquema de los hooks y su "posicion".

Esta guia no pretende ser exhaustiva, asi que algunos hooks no se mencionaran.

Comandos y parametros

Puede encontrarse una descripcion mas exhaustiva de todos los comandos CLI en la guia oficial. Aqui solo voy a poner una descripcion general y algunos parametros que necesitamos conocer. Por orden alfabetico. Cada parametro se explica solo una vez.

- Assign hook= chain=
Asigna a un hook (input, sink, forward, source, output) la cadena
- flush (hook=)
Desvincula el hook seleccionado de la chain asignada. Si se escribe sin parametros los desvincula todos.
- list
Lista los hooks y si estan vinculados, a que cadena
- unassign hook=
Lo contrario que assign.
- chain
- create chain=
Crea una cadena llamada
- delete chain=
Borra una cadena llamada
- flush
Limpia todas las cadenas.
- list
Lista todas las cadenas
- rule
Las reglas tienen un orden, por lo tanto estan indexadas. Cada rule tiene un numero # asociado, que es su "posicion" en la cadena.
- clear chain= index=#
Resetea las estadisticas de esa regla.
- delete chain= index=#
Borra la regla
- flush chain=
Borra todas las reglas de la cadena
- list chain=
Lista todas las reglas de la cadena
- stats chain= index=#
Muestra las estadisticas de esa cadena
- create (este es el comando mas importante, asi que solo pongo lo mas relevante, sugiero que mireis la guia oficial).

Estos son algunos de los parametros del comando rule create. El [!] significa que se pone != para negar la igualdad:
chain = index = #
Obvios
[srcintfgrp [!]= ]
El grupo de donde debe (o no) venir el paquete.
[src [!]= ]
El rango de la ip de donde deben (o no) venir los paquetes.
[dstintfgrp [!]= ][dst [!]= ]
Analogos a los anteriores, pero los paquetes van y no vienen.
[prot [!]= |}>]
El protocolo usado (o no) por el paquete: Nombres validos: icmp, igmp, ipinip, tcp, udp, ah, esp, ipcomp.
[srcport [!]= |}>]
El puerto TCP/UDP (o inicio del rango) de procedencia del paquete.
[srcportend = |}>]
El fin de rango del puerto TCP/UDP de procedencia.
[dstport [!]= |}>][dstportend = |}>]
Analogo para puertos de destino.
action =
Lo que pasa con el paquete en cuestion:
- accept el paquete puede pasar
- deny el paquete no pasa y se manda un mensage al "remitente"
- drop el paquete simplemete desaparece. Ningun mensage
- count el paquete se usa para las estadisticas. No afecta al paquete

Bueno, y hasta aqui el rollo teorico, ahora voy a poner un par de ejemplos practicos.

Ejemplos

Aqui van un par de ejemplos practicos de creacion de reglas, cadenas y asignacion. Los comandos estaran escritos en cursiva, lo que responde el router en negrita y significa darle a Intro.

Para empezar vamos a bloquear todo el trafico de la web excepto para navegar.

Primero creamos una cadena llamada forward (si no existe ya, si existe, aseguraos que esta vacia).
[firewall]=>chain create chain=forward

A continuacion crearemos la regla correspondiente. El trafico web va por el puerto 80, asi que tenemos:
firewall]=>rule create chain=forward index=0 srcintgrp=lan prot=tcp dstport=80 action accept
Esto significa que creamos una regla en la cadena chain de posicion 0, los paquetes vienen del grupo LAN usan el protocolo tcp por el puerto 80 y aceptamos que salgan.
Ahora nos interesa que los paquetes entren
[firewall]=>rule create chain=forward index=0 srcintgrp=wan prot=tcp srcport=80 action accept
Esto significa que creamos una regla en la cadena chain de posicion 0, los paquetes vienen del grupo WAN (internet), usan el protocolo tcp por el puerto 80 y los aceptamos.

Rechazamos el resto de trafico
[firewall]=>rule create chain=forward action drop

Asignamos la cadena a un hook, en este caso forward.
[firewall]=>assign hook=forward chain=forward

Ahora mismo solo funcionara el navegador web. Esto puede ser util combinado con otros parametros para, por ejemplo, limitar el uso de ciertos programas en otros pc's de tu red.

En este otro ejemplo, activaremos FTP. Este ejemplo no sera tan explicito como el anterior. El ftp usa los puertos 20 y 21.

Firewall=> rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=21 action=accept
Firewall=> rule create chain=forward index=0 srcintfgrp=wan prot=tcp srcport=21 ack=yes action=accept
Firewall=> rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=20 action=accept
Firewall=> rule create chain=forward index=0 srcintfgrp=wan prot=tcp srcport=20 action=accept

Y ahora el correo.

Firewall=> rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=110 action=accept
Firewall=> rule create chain=forward index=0 srcintfgrp=wan prot=tcp srcport=110 ack=yes action=accept
Firewall=> rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=25 action=accept
Firewall=> rule create chain=forward index=0 srcintfgrp=wan prot=tcp srcport=25 ack=yes action=accept

Para guardar los cambios, lo mas comodo es entrar via Web al administrador y darle a Save All.

Y hasta aqui esta guia, se que es poco, pero creo que con un poco de paciencia, cualquiera puede configurarse un buen firewall sin necesidad de cargar mas programas en memoria.

Guia adaptada y modificada de la original sdharris.com/speedtouch510/
Informacion extra de las guias oficiales.
El programa podeis encontrarlo en (link roto)

Hecho por N8cko, podeis distribuirlo libremente, pero siempre indicando quien es el autor. Gracias.

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
BocaDePez
BocaDePez

He hecho un copy paste del word y algunas cosas se han perdido, a ver si puedo mandarselo a kosovito junto con el programa para la web.

PD: No podrias quitar eso de k nos tengamos k registrar, es un engorro :)

BocaDePez
BocaDePez

Bueno, parece que a nadie le interesa el tema, pero aun asi, yo voy a poner un ejemplo de un firewall basico. Solo voy a poner los comandos y una breve explicacion de que hacen y para que sirven.

chain create chain="sink"
chain create chain="forward"
chain create chain="source"

Creamos 3 cadenas diferentes que despues "rellenaremos"

rule create chain=sink index=1 srcintfgrp!=wan prot=tcp action=accept
rule create chain=sink index=2 dstport=dns action=accept
rule create chain=sink index=3 prot=udp dstport=bootpc action=accept
rule create chain=sink index=4 prot=udp dstport=sntp action=accept
rule create chain=sink index=5 prot=tcp action=accept
rule create chain=sink index=6 prot=icmp icmptype=destination-unreachable action=accept
rule create chain=sink index=7 prot=icmp icmptype=time-exceeded action=accept
rule create chain=sink index=8 prot=tcp action=drop

La primera regla evita que alguien entre a la configuracion del router si viene del grupo WAN.
El resto de reglas sirven para que funcionen correctamente varios protocolos. La ultima regla ignora todo el resto del trafico.

rule create chain=forward index=1 srcintfgrp=wan dstintfgrp=wan prot=tcp action=drop
rule create chain=forward index=2 srcintfgrp=wan prot=icmp icmptype=echo-request action=drop
rule create chain=forward index=3 srcintfgrp=wan src=a.b.c.d srcmsk=x.x.x.x prot=tcp action=drop

La primera regla ignora todo el trafico que viene del grupo WAN y esta redireccionado otra vez al mismo grupo. La siguiente lo que hace es que nuestra maquina no responda a comandos ping y similares ejecutados desde el exterior. La ultima regla evita que una conexion WAN se enmascare detras de una direccion de nuestra propia red privada. ( a.b.c.d y x.x.x.x deben ser el rango de nuestra ip privada y la submascara de red, en mi caso seria 172.168.0.a y 255.255.255.0)

rule create chain=source index=1 dstintfgrp!=wan prot=tcp action=accept

Esta regla evita que nuestro router envie datos de configuracion a usuarios del grupo WAN

assign hook=sink chain="gestion"
assign hook=forward chain="forward"
assign hook=source chain="source"

Estos comandos asignan una cadena a su correspondiente hook.

Ahora solo queda guardar la configuracion y ya tenemos unas medidas de seguridad impuestas en nuestro router. Quizas tengais ya algunas cosillas puestas en algun hook, asi que aseguraos que no borrais nada importante :)

Un saludo, N8cko

BocaDePez
BocaDePez

Un error en el anterior post:

assign hook=sink chain="gestion" deberia ser chain="sink"

perdonad el error

🗨️ 4
BocaDePez
BocaDePez

Bueno, me he dado cuenta de mas errores en el post, pero como no estoy registrado, no puedo editar. Ademas, parece k el tema no interesa mucho.
Si alguien tiene alguna duda, que no dude en postearla aqui

🗨️ 3
BocaDePez
BocaDePez

Joder que no interesa!

Está cojonudo. Me iba a poner a hacer algo de esto... pero ahora que veo esta miniguía ya lo tengo un poco más fácil.

A ver si lo echo a andar y va con garantías, y me quito el Zone Alarm, que me deja tieso el PC a veces.

Gracias!

🗨️ 2
BocaDePez
BocaDePez

Me alegra saber que interesa a alguien :)
Mi mail es N8cko(arroba)hotmail.com , agregame y a ver si podemos hacer entre los 2 un firewall decente y flexible para postearlo aqui ok?

🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez

No pido ayuda tanto con los comandos como con los programas y necesidades habituales de los internautas, para asi poder confeccionar un firewall para todos :).
Tengo que buscar cual es el limite de chains que puede almacenar el router y cuantas reglas cada chain.
Agregame tu tb :)

🗨️ 5
BocaDePez
BocaDePez

Hay una forma de cargar un script desde Telnet?

Supongo que si, que no habrá que poner todos los comandos a manita... :)

Necesidades de un usuario normal:

- Mandar/Recibir correo. NEWS.
- ¿Messenger? . Aunque habrá gente que use también IRC e ICQ.
- Emule / Overnet / Similares
- Navegador

Para el tema de los juegos, cada uno suele tener sus puertos...

Bueno,, luego más. Hora de zampar.

🗨️ 4
BocaDePez
BocaDePez

Claro que si, aparte de hacer tus macros en programas telnet alternativos, en nuestro caso en particular podemos usar el programa st_fwconfig , creado por un usuario especificamente para la configuracion del firewall de nuestro router :)

Podeis encontrarlo en www.softwaretool.nl/downloads/st_fwconfig.zip
Un saludo

🗨️ 3
BocaDePez
BocaDePez

Como diría el señor Burns de los Simpson: ¡Excelente!

Se os ocurren más programas de uso corriente?

Los puertos se sacan fácil sabiendo los programas ;)

N8cko(arroba)hotmail.com, lo tienes ya a huevo :) . Has estado mirando alguna web con información sobre el router ?

Por cierto, sería necesaria alguna versión específica de firmware.
Me suena que el firewall viene a partir de una versión X

Venga, muchas gracias N8cko que te lo estás currando y es algo muy interesante.

🗨️ 2
BocaDePez
BocaDePez
🗨️ 1
BocaDePez
BocaDePez
BocaDePez
BocaDePez

Yo el firewall del speedtouch (utilizando el ultimo firmware disponible 4.2.10) lo tengo configurado así, por si a alguien le interesa :

rule create chain=forward index=0 srcintfgrp=wan dstintfgrp=wan action=drop
rule create chain=forward index=0 srcintfgrp=wan prot=tcp srcport=dns action=accept
rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=dns action=accept
rule create chain=forward index=0 srcintfgrp=lan prot=tcp ack=yes dstport=www-http action=accept
rule create chain=forward index=0 srcintfgrp=wan prot=tcp ack=yes srcport=www-http action=accept
rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=ftp action=accept
rule create chain=forward index=0 srcintfgrp=wan prot=tcp ack=yes srcport=ftp action=accept
rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=ftp-data action=accept
rule create chain=forward index=0 srcintfgrp=wan prot=tcp srcport=ftp-data action=accept
rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=pop3 action=accept
rule create chain=forward index=0 srcintfgrp=wan prot=tcp ack=yes srcport=pop3 action=accept
rule create chain=forward index=0 srcintfgrp=lan prot=tcp dstport=smtp action=accept
rule create chain=forward index=0 srcintfgrp=wan prot=tcp ack=yes srcport=smtp action=accept
rule create chain=forward index=0 srcintfgrp=wan prot=tcp syn=yes ack=yes srcport=49152 action=accept
rule create chain=forward index=0 srcintfgrp=lan prot=tcp syn=yes ack=yes dstport=49152 action=accept
rule create chain=forward index=0 dstintfgrp=wan prot=tcp syn=yes ack=yes srcport=49152 action=accept
rule create chain=forward index=0 dstintfgrp=lan prot=tcp syn=yes ack=yes dstport=49152 action=accept
rule create chain=forward index=0 action=drop

Permitiendo DNS,Web,FTP,Mail y Azureus.

🗨️ 5
BocaDePez
BocaDePez

Muchas gracias por postear, es un buen ejemplo de firewall, aunque se podria mejorar :)

Por ejemplo, combinandolo con el NAT, restringiendo algo el acceso a y desde el host (sink y source).
Ademas, me gustaria poner un par de ejemplos de otras utilidades del firewall, por ejemplo, cuando se tienen 2 o mas pc's.

Para saber algo de la estructura interna de nuestro firewall, podeis echar un vistazo a mainly.me.uk/st510/index.html por supuesto en el idioma de Shakespeare, aunque quiero revisar la guia para incluir esta informacion en castellano.

BocaDePez
BocaDePez

Permitiendo DNS?

No entiendo :?

🗨️ 1
BocaDePez
BocaDePez

Hay que dejar activado siempre el DNS, es un servicio indispensable para internet.
Por si no sabes lo k es, te lo explico brevemente:
DNS corresponde a las siglas de Domain Server Name. Estos son equipos que disponen de la correspondencia entre el nombre que tu pones en el navegador y la ip de la maquina en la que se encuentra lo que estas buscando. Para poner un ejemplo

Escribes www.bandaancha.st en el navegador, el ordenador hace un consulta via DNS, que le devuelve la ip 62.81.199.255, que supongo es la ip del host de esta web.
Si no lo activas, tu ordenador no sabria encontrar al resto.

Es una explicacion cutrilla, lo se, pero espero que sea de ayuda

BocaDePez
BocaDePez

Ok, voy a poner otro ejemplo de firewall. Hare un pequeño comentario en cada parte para que sepais para que sirve

chain create chain="source"
chain create chain="forward"
chain create chain="sink"
********** Crea las chains
rule create chain=source index=1 dstintfgrp!=wan prot=tcp action=accept
rule create chain=source index=2 prot=tcp action=drop
********** Solo envia datos del propio host a grupos diferentes del WAN
rule create chain=forward index=1 srcintfgrp=wan dstintfgrp=wan prot=tcp action=drop
********** Evita que seamos usados como proxy
rule create chain=forward index=2 srcintfgrp=wan prot=tcp srcport=dns action=accept
rule create chain=forward index=3 srcintfgrp=lan prot=tcp dstport=dns action=accept
********** DNS
rule create chain=forward index=4 srcintfgrp=lan prot=tcp dstport=www-http action=accept
rule create chain=forward index=5 srcintfgrp=wan prot=tcp srcport=www-http action=accept
rule create chain=forward index=6 srcintfgrp=lan prot=tcp dstport=443 action=accept
rule create chain=forward index=7 srcintfgrp=wan prot=tcp srcport=443 action=accept
rule create chain=forward index=8 srcintfgrp=lan prot=tcp dstport=8080 action=accept
rule create chain=forward index=9 srcintfgrp=wan prot=tcp srcport=8080 action=accept
********** HTTP, HTTP seguro y HTTP-Proxy (Navegacion)
rule create chain=forward index=10 srcintfgrp=lan prot=tcp dstport=ftp action=accept
rule create chain=forward index=11 srcintfgrp=wan prot=tcp srcport=ftp action=accept
rule create chain=forward index=12 srcintfgrp=lan prot=tcp dstport=ftp-data action=accept
rule create chain=forward index=13 srcintfgrp=wan prot=tcp srcport=ftp-data action=accept
********** FTP
rule create chain=forward index=14 srcintfgrp=lan prot=tcp dstport=pop3 action=accept
rule create chain=forward index=15 srcintfgrp=wan prot=tcp srcport=pop3 action=accept
rule create chain=forward index=16 srcintfgrp=lan prot=tcp dstport=smtp action=accept
rule create chain=forward index=17 srcintfgrp=wan prot=tcp srcport=smtp action=accept
rule create chain=forward index=18 srcintfgrp=lan prot=tcp dstport=nntp action=accept
rule create chain=forward index=19 srcintfgrp=wan prot=tcp srcport=nntp action=accept
********** Mail (pop3 y smtp) y News
rule create chain=forward index=20 srcintfgrp=lan prot=tcp dstport=6660 dstportend=6669 action=accept
rule create chain=forward index=21 srcintfgrp=wan prot=tcp srcport=6660 srcportend=6669 action=accept
rule create chain=forward index=22 srcintfgrp=lan prot=tcp dstport=1024 dstportend=5000 action=accept
rule create chain=forward index=23 srcintfgrp=wan prot=tcp srcport=1024 srcportend=5000 action=accept
********** IRC y DCC via IRC
rule create chain=forward index=24 srcintfgrp=lan prot=tcp dstport=6891 dstportend=6901 action=accept
rule create chain=forward index=25 srcintfgrp=wan prot=tcp srcport=6981 srcportend=6901 action=accept
********** Messenger
rule create chain=forward index 26 action=drop
********** Ignora el resto
rule create chain=sink index=1 srcintfgrp!=wan prot=tcp action=accept
rule create chain=sink index=2 prot=udp dstport=dns action=accept
rule create chain=sink index=3 prot=udp dstport=bootpc action=accept
rule create chain=sink index=4 prot=udp dstport=sntp action=accept
rule create chain=sink index=5 srcintfgrp=wan src=172.168.0.0/24 prot=tcp action=drop
assign hook=source chain="source"
assign hook=forward chain="forward"
assign hook=sink chain="sink"

PD: Yo no he sido capaz de configurar el Bitcomet para que funcione correctamente, pero es el cliente de BT que utilizo.
Para el edonkey/emule, debe usarse una combinacion de reglas del Firewall y NAT.

🗨️ 1
BocaDePez
BocaDePez

Muy currao el Firewall!

Una preguntilla.... si yo quiero poder gestionar el router desde el curro, por ejemplo, tendria que quitar las reglas:

rule create chain=source index=1 dstintfgrp!=wan prot=tcp action=accept
rule create chain=sink index=1 srcintfgrp!=wan prot=tcp action=accept

O se convertiría cada una en dos, permitiendo el envio y recepción de datos del host del router tanto a lan como a wan?

erCubano

De la página de speedtouch (www.speedtouch.com) os podéis bajar una guía de referencia de 422 páginas en formato pdf de todos los comandos para CLI de los router serie 500.

MaxMurdock

Buenas.....una duda que tengo:

Si tengo el ST510 en multipuesto con NAPT y sin "Servidor Predeterminado" (Default Server)...de que me sirve el firewall? Porque el propio router ya bloquea todos los puertos ke no estan mapeados no?

Pues solo eso...gracias!

Salud!