La seguridad de nuestros receptores enigma2 es importante, ya que una vez conectamos nuestro receptor a la red, estamos abriendo la puerta a que cualquiera pueda intentar acceder al mismo, algunos invitados seran deseados pero otros no tanto.
Teneis que tener en cuenta que cuando os conectais a servidores ccccam, servidores iptv, visitais foros de esta tematica, etc…. vuestra ip queda reflejada, por lo que cualquiera que tenga acceso a ella puede intentar acceder desde ella a vuestro receptor a traves de un puerto que tengais abierto.
Lo que vamos hacer es unas nociones basicas para tener cierta seguridad en nuestros receptores, ya que siempre va a ver vulnerabilidades, y nunca vamos a estar 100% seguros, pero por lo menos siguiendo ciertas pautas, no dar facilidades.
EN PRIMER LUGAR: Una de las medidas mas importantes es asignarle una contraseña de acceso a nuestro receptor si la imagen que hemos instalado no lleva ninguna por defecto o cambiarla en caso que la lleve (evidentemente si la lleva por defecto esta es conocida por todos).
Para ello simplemente accedemos a nuestro receptor a traves de consola terminal (telnet) y ejecutamos:
passwd

Nota: Es recomendable que la contraseña que introduzcamos se compleja (mayusculoas, minusculas, numeros y letras), para asi no dar facilidades en ataques por la fuerza bruta.
EN SEGUNDO LUGAR: Debemos ser coscientes a traves de que utilidades de red y puertos son los mas comunes por defecto a traves de los cuales pueden acceder a nuestro receptor:
21: Protocolo FTP
22; Protocolo SSH/SFTP
23: Protocolo Telnet
80: Protocolo web (acceso openWebif)
8001: Puerto Streaming
8002: Puerto Transcodificacion (para los receptores compatibles con este protocolo)
Luego si deseamos saber los servicios de internet de nuestro receptor, podemos abrir el archivo /etc/services de nuestro receptor.
En el caso que deseemos conocer las conexiones activas en nuestro receptor podemos ejecutar el siguiente comando:
netstat -p

EN TERCER LUGAR: Una vez sabemos los accesos mas importantes a nuestro receptor, pues es indispensable que abramos unicamente los puertos fuera de nuestra red que vamos a utilizar y debemos saber cuales esta protegidos por defecto con la password del receptor y cuales no.
Lo primero es saber que puertos tenemos abiertos fuera de nuestra red (basicamente si accedemos a nuestro router pues ahi marcara cuales son), tambien tenemos utilidades web como https://hidemyna.me/es/ports/ donde podemos poner nuestra ip y comprobar los puertos abiertos fuera de nuestra red

Una vez comprobados nuestros puertos, vamos a comentar que utilidades de las mas comunes ampara la contraseña que pusiemos a nuestro receptor por defecto y cuales no:
21: Protocolo FTP si es amparada la pass del receptor
22; Protocolo SSH/SFTP si es amparada la pass del receptor
23: Protocolo Telnet si es amparada la pass del receptor
80: Protocolo web (acceso openWebif) no es amparada la pass del receptor
8001: Puerto Streaming no es amparada la pass del receptor
8002: Puerto Transcodificacion (para los receptores compatibles con este protocolo) no es amparada la pass del receptor
Por lo tanto si abrimos fuera de nuestra red los puertos 80, 8001 o 8002 debemos saber que antes debemos activar su autentificacion para ellos, y se realiza de la siguiente manera:
- Para autentificar el acceso al puerto 80 debemos acceder a menu + plugins + openwebif y habilitar la autentificacion enlace http

De esta manera pues al intentar acceder a openwebif nos solicitara usuario y contraseña

Nota: En el caso de compartir listas m3u de nuestro receptor a otras personas NO aconsejo darlas con usuario y pass ya que con esos datos podria acceder a nuestro receptor, para ello con openwebif se puede dar la lista con sesion webcockie que es lo que genera por defecto openwebif y de esta manera el que recibe la lista no sabra nuestros datos de conexion:
#EXTM3U
#EXTVLCOPT--http-reconnect=true
#EXTINF:-1,LA 1 HD
#EXTVLCOPT:program=30819
http://-sid:ee3fe8910dd7755a877c4684f41ab65c39007798dfde6a215ee7c4f2b361b92a@192.168.1.100:8001/1:0:19:7863:41A:1:C00000:0:0:0:
-sid:ee3fe8910dd7755a877c4684f41ab65c39007798dfde6a215ee7c4f2b361b92a — equivaldria a usuario y pass.
- Para autentificar el acceso al puerto 8001 y 8002 de enigma2 se realiza desde menu + configuracion

De esta manera al intentar reproducir un contenido nos solicitara la autentificacion


En cuarto lugar: es muy importante que solo abrais los puertos que vais a necesitar, y para conectarnos en caso que deseemos realizarlo desde fuera de nuestra red ya sea para comandos (consola terminal) o para editar archivos no lo hagamos con telnet ni con ftp ya que las conexiones se hacen en texto plano sin cifrar y cualquiera que estuviera logueando vuestras comunicaciones a traves de esos puertos lo tendria mas facil, para ello aconsejo usar ssh y sftp que es lo mismo pero las comunicaciones van cifradas, para ello en este caso debeis abrir el puerto 22 que es el ssh, y para conectarnos a traves de este protocolo por ejemplo para consola terminal de windows10 que ya tiene el protocolo openssh pues ejecutariamos:
ssh root@192.168.1.100

Ademas de lo comentado, siempre es bueno comprobar la configuracion acceso por ftp, para ello abrimos el archivo /etc/vsftpd,conf:
- Comprobamos que este en NO los usuarios anonimos:
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
Luego podemos activar creacion de log de conexiones ftp, de esta manera podemos comprobar si alguien no deseado ha introducido por ejemplo algun archivo no deseado:

Nota: Otras de las recomendaciones que se pueden leer es cambiar puertos, lo que ocurre es que cualquiera facilmente ya que existen paginas de escaneo de puertos abiertos va a ver que puertos abiertos podemos tener, por lo tanto el cambiar el puerto no es que no valla a dar mas seguridad, lo importante es lo comentado sobre todo tener asignada nuestra contraseña al receptor y no abrir puertos innesarios y saber cuales estan abiertos y si estan protegidos o no.
En Quinto lugar: Anteriormente hemos visto ya la manera de tener nuestro receptor de una manera basica segura que nos asegura no dar facilidades de acceso, ahora vamos avanzar un poco mas, para una seguridad mas avanzada en los accesos al receptor:
1) Para acceder al receptor hemos visto por ejemplo para acceder por consola terminal, que lo hagamos por ssh en vez de telnet para que la conexion sea cifrada, pero para acceder a esta conexion si alguien consigue saber nuestro usuario (root) y la password pues ya podria acceder a nuestro receptor, ahora vamos a ver como impedir el acceso a con password a nuestro receptor a traves de ssh y de esta manera que si tenemos el puerto abierto (22) no se pueda acceder con contraseña escrita, para ello vamos a eliminar dropbear del receptor y vamos a instalar openssh, para ello ejecutamos:
opkg remove --force-depends dropbear
Y ahora instalamos openssh:
opkg install openssh
Ahora debemos acceder al archivo de nuestro receptor /etc/ssh/sshd_config y tener estos parametros de la siguiente manera:
PermitRootLogin yes
PasswordAuthentication no
De esta manera si intentamos acceder al receptor pues no podemos acceder al mismo con password:

Para que hacemos esto, pues para acceder a traves de ssh solo se pueda realizar a traves de certificado (pub.key), para ello realizamos lo siguiente:
en el directorio del receptor /home/root creamos una carpeta llamada .ssh usando el siguiente comando
mkdir .ssh

Ahora en nuestro pc con window 10 en la terminal ejecutamos el siguiente comando para generar las rsa
ssh-keygen -t rsa

Tras ello en nuestro pc en el directorio de nuestro usuario en la carpeta .ssh se nos habrá creado el archivo id_rsa.pub

Este archivo lo copiamos en nuestro receptor en el directorio que creemos /home/root/.ssh y lo renombramos a authorized_keys

Ahora ya simplemente desde la terminal de nuestro pc ejecutamos, cambiaremos 192.168.1.103 por la ip de nuestro receptor
ssh root@192.168.1.103
Y directamente hemos accedido a nuestro receptor mediante rsa key

Para acceder por sftp, pues lo podriamos hacer a traves de wincsp, para ello deberemos:
a) Abrimos wincsp seleccionamos sftpd

b) pulsamos en avanzado y seleccioamos autentificacion

c) Ahora pulsamos sobre los ,,, para seleccionar la rsa (clave privada de acceso), la cual se halla en usuariowindows/.ssh y seleccionamos rsa

d) Nos solicitara convertirla a formato ppk le decimos que si, y a continuacion ya seleccionamos el archivo .ppk creado como certificado para acceder

e) Ahora ya simplemente ponemos la ip de nuestro receptor y usuario root y ya nos conectariamos sin passwd


2) Otra opcion si queremos acceder cifradamente, con certificados de acceso, sin password, y que solo los equipos (pc) que tengan las claves puedan acceder tipo ssh como hemos visto, pero de una manera todavia mas segura se puede realizar por medio de openvpn, para ello podeis seguir este manual del foro:
http://spaine2.es/threads/openvpn-en-imagen-vti-con-windows-10.465/
Es igual para cualquier imagen la creacion de certificados, lo unico que varia es el arranque de openvpn que puede variar depende la imagen.
Ademas de todo lo indicado, recomiendo para las imagenes que lo tienen instalado es desistalar el paquete de la terminal por openwebif, ya que de nada sirve acceder al deco por ssh o tener cerrados los puertos 21,22,23, si a traves del puerto 80 con esta utilidad se pueden conectar por telnet, para ello ejecutamos el siguiente comando:
opkg remove --force-depends enigma2-plugin-extensions-openwebif-terminal