Home

Firewall

dpadua

Usuario
Amigo OpenSPA
5 Mar 2017
85
15
0
55
Por si alguien lo necesita y se puede evitar la cantidad de vueltas que yo he dado para poder instalar y configurar el firewall.
Más o menos las situación que podemos tener es la siguiente:
Deco dentro de una lan del tipo 192.168.1.0/24
Wifi interna separada de la lan, con otro rango de ip del tipo 192.168.2.0/24
Queremos tener abiertos los puertos del deco, 20,21 22,23,80,8001,8002 y alguno más, para que se pueda controlar desde el exterior
Queremos evitar que alguien no deseado, pueda conectarse en streaming, o pueda entrar al deco y sacar información
Instalamos firewall en el el deco.
Hay por lo menos dos formas de hacerlo.
1-Desde el propio deco:
Menú-Complementos-Descarga-Security-Firewall- Instalar
2-Abriendo sesión telnet (red interna):
Código:
ipkg install enigma2-plugin-security-firewall
Si se va a hacer desde el propio deco, hay que abrir sesión telnet previamente y
asegurarse de que está abierta antes de instalar el firewall, porque luego no nos va a
dejar conectarnos, debido a que las opciones por defecto del firewall prohíben el acceso a todas las
conexiones nuevas.
En este caso lo vamos a hacer pot telnet.
Una vez abierta sesión, tecleamos el comando de antes:
Código:
ipkg install enigma2-plugin-security-firewall
Si todo ha ido bien, ya tenemos el firewall instalado y corriendo.
Podemos verlo si ponemos:
Código:
iptables -n -L
Nos muestra el listado de reglas del firewall
También con:
Código:
/etc/init.d/firewall status
Vamos a detener la ejecución del firewall con:
Código:
/etc/init.d/firewall stop
Lo siguiente es editar el archivo firewall y el archivo firewall.users
Para el archivo firewall:
Código:
vi /etc/init.d/firewall
Una vez abierto, pasamos a modeo edición, por ejemplo pulsando la tecla a
Nos situamos donde dice
Código:
ALLOW_LAN_ACCESS="0"
Y cambiamos el 0 por un 1, para que quede así:
Código:
ALLOW_LAN_ACCESS="1"
Salimos del modo edición con la tecla escape
Tecleamos :wq (los 3 caracteres) para que guarde los cambios y cierre
Ahora podemos arrancar de nuevo el firewall
Código:
/etc/init.d/firewall start
Tecleamos iptables -n -L
Podemos ver que se ha añadido a las direcciones permitidas todas las de la red Lan en la que se encuentra el deco
Vamos a por el fichero firewall.users, lo editamos del mismo modo que hicimos antes:
Código:
vi /etc/firewall.users
Tecla a para editar, :wq para salir y guardar
Dentro de este fichero podemos añadir las direcciones ip o dominios que queremos que tengan acceso al deco.
Si por ejemplo queremos tener acceso desde toda la red wifi, que tenemos separada de nuestra Lan, debemos añadir al fichero la siguiente línea:
192.168.2.0/24
Si queremos que sea un dispositivo en concreto de la wifi:
192.168.2.2
Si queremos permitir que un dominio tenga acceso, basta con añadirlo
Podría quedar algo así:
Código:
192.168.2.0/24
midominiodefiar.com
Una vez añadidas todas las líneas que queramos, salimos del modo edición con escape y luego :wq para guardar cambios y cerrar.
Solamente nos queda reiniciar el firewall para que vuelva a leer el fichero firewall.users con la nueva configuración,
para hacerlo tecleamos
Código:
/etc/init.d/firewall restart
Ahora podemos comprobar de nuevo las reglas con iptables -n -L
Aquí un ejemplo:
Código:
Chain INPUT (policy DROP)
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     all  --  127.0.0.1            0.0.0.0/0          
ACCEPT     all  --  192.168.1.0/24     0.0.0.0/0          
ACCEPT     all  --  192.168.2.0/24     0.0.0.0/0          

Chain FORWARD (policy DROP)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state NEW,ESTABLISHED
Si todo ha ido bien ya tenemos el firewall configurado y podemos dejar los puertos abiertos sin miedo a accesos indeseados.
Si añadimos un dominio de tipo ddns al fichero firewall.users, cuando se renueve la ip dejará de tener acceso, para que vuelva a tener acceso hay que hacer /etc/init.d/firewall restart
Eso podríamos añadirlo al cron para que se ejecutara cada 15 minutos por ejemplo y listo.
El hecho de tener que hacer -firewall restart- implica desactivar el firewall y volver a arrancarlo, cosa que no me gusta demasiado, porque creo que podría permitir el acceso desde el exterior un instante y no sé si sería suficiente para que en ese momento se establezca alguna conexión no deseada.
Podría evitarse con algún script que renovara las reglas de iptables sin necesidad de hacer el restart del firewall.
Estoy en ello, lo subiré en breve...
Un saludo!
PD. Por supuesto abierto a sugerencias, mejoras, y si hay errores no era mi intención. :)
 
  • Me gusta
Reactions: ruskyn y paztero1

ruskyn

Presentado
Forero
1 May 2014
9
1
0
54
Hola gracias por el tuto.

El problema e que según lo instalo, me tira la sesión y me quedo sin poder conectar al deco. He probado dejando otra sesión abierta y nada, ni ssh ni telnet. Cada vez que pruebo (y si a alguien le ocurre igual) sólo hay desinstalar el plugin con el mando a distancia.

Por ahora no he conseguido funcionar, a ver si me dais una pista

Gracias
 

ruskyn

Presentado
Forero
1 May 2014
9
1
0
54
Bueno pues mediante el explorador de archivos del menú, ir a /etc/init.d/firewall y quitarle los permisos, (todos en no) y después reiniciar.
Ahora ya tengo acceso al deco y puedo modificar el archivo firewall y darme acceso por lan.

EDITO: No funciona /etc/init.d/firewall start/stop/status me devuelve:
root@vuzero:~# /etc/init.d/firewall status
: No such file or directory

Y el iptables -n -L devuelve:

root@vuzero:~# iptables -n -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


Estoy con la última de openspa en un vu zero, creo que la v7.1...

EDITO 2: renombrad el archivo /etc/init.d/firewall a firewall.sh y lo lanzáis así: #sh ./firewall start/stop/status
 
Última edición:

dpadua

Usuario
Amigo OpenSPA
5 Mar 2017
85
15
0
55
Acabo de probarlo en vu duo2 con 7.1.003 y funciona
Instalado desde telnet
No me cierra la sesión
Con status muestra la información
Permite iniciarlo y detenerlo
iptables -n -L muestra la información
He podido editar el archivo firewall sin problema
Los permisos originales del archivo son 755 y no he tenido que modificarlos
He podido desinstalarlo sin problema
Todo desde telnet en red local y en una única sesión
Siento no poder ayudarte a localizar el problema
Un saludo!
 

ruskyn

Presentado
Forero
1 May 2014
9
1
0
54
Gracias por tu respuesta. Como comenté ayer, no había forma. Aunque al final lo dejé funcionando, pero eso sí dando mil vueltas xD

Saludos!
 

SAT1962

Usuario Destacado
Loco por OpenSPA
6 May 2017
944
358
0
Lo acabo de hacer y me sale la plantilla final tal cual lo has puesto con mis direcciones IP.
Gracias por el trabajo y esperando para ver como se puede hacer una conexion desde el exterior.
 

ruskyn

Presentado
Forero
1 May 2014
9
1
0
54
Pues algo tengo mal. Voy a reinstalar la imagen y pruebo de nuevo.
 

ruskyn

Presentado
Forero
1 May 2014
9
1
0
54
Bueno pues tras reinstalar, ésta vez sí que funciona todo "según lo previsto" en el tuto, se vé que al hacer alguna prueba pues toqué algo que no debía jejeje

Saludos!
 

pawa86

Usuario Destacado
Fan de OpenSPA
Amigo OpenSPA
16 Ene 2020
201
55
0
38
Pues me alegra haber encontrado esto :D
Era mi intencion instalarlo para tener mas control en los accesos.
Por cierto, lo suyo es usar el software FWbuilder para configurar el IPTables, mas sencillo que editando los ficheros de configuración que siempre puede haber errores.

Yo lo uso mucho en el trabajo y me parece de las simple para configurar iptables de forma grafica, que por lo menos ves lo que tienes de una forma mas clara.
Ejemplo sacado de internet:
pict_310.png
 
Última edición:

daviddrf

Usuario Destacado
Loco por OpenSPA
21 May 2013
564
47
0
54
Hola a todos y gracias por la valiosa información contenida en este hilo.
Actualmente tengo un Vu+ Duo2 con arquitectura mipsel32 y la versión 8.0.003 de Openspa con la versión 3.13.5 del kernel.
Lo cierto es que ya sé que con OpenVPN/Wireguard/Zerotier/Tailscale, etc. podría de un mejor modo implementar y lograr lo que voy a plantear aquí, pero por diversos motivos (como la dificultad de instalar y ejecutar de forma automatizada un cliente VPN en un dispositivo Android TV) esto no será viable en este caso.
Por este motivo estoy buscando el modo con iptables (o lo que hiciera falta, no sé si "ufw") de permitir solo el acceso LAN o local al deco y denegar todo el acceso WAN o remoto excepto una IP o MAC en concreto (que por lo que he visto aquí quizás se pueda hacer: https://www.hackplayers.com/2016/02/filtrado-de-macs-con-iptables-linux.html).
Con los menús del mando a distancia del deco el paquete "enigma2-plugin-security-firewall" parece que ya no está disponible. Lo comento porque me encantaría seguir las instrucciones del compañero @dpadua pero parece ser que no se encuentra dicho paquete.
Por otro lado con el comando "opkg install iptables" iptables parece instalarse correctamente aunque no sé si le faltará algún módulo o similar para lograr lo que busco.
¿Alguien sabría por favor indicarme qué instrucciones sobre iptables debería ejecutar para poder añadir las reglas necesarias para lo descrito anteriormente?
He estado googleando al respecto pero los casos similares que he visto requieren de un script en "etc/init.d" que no se ejecuta correctamente con el iptables instalado por mí en esta imagen actual de Openspa.
Gracias a todos por haberme leído y disculpad las molestias.