
En este articulo vamos a realizar la creacion de un servidor web en nuestro receptor enigma2 con protocolo https y asi mismo con acceso mediante usuario y password, bajo https para garantizar que la comunicacion entre nuestro servidor web y nuestra conexion desde otras maquinas sea cifrada, ya que de lo contrario si se usara protocolo http esta comunicacion es plana sin cifrar y se podria interceptar la misma y ver nuestros datos confidenciales.
La utilidad ya es la que cada uno necesite darle, necesidad de compartir archivos, acceso desde otros lugares para por ejemplo el visionado de peliculas que tengamos en algun disco duro…… y no tengamos en nuestro domicilio ningun tipo de servidor….
1 Creacion de certificados
En primer lugar vamos a crear unos certificados autofirmados necesarios para el protocolo https que vamos a crear, en este ejemplo los vamos a crear de una manera simple para tener los que vamos a necesitar que son en este caso:
- cert.pem
- key.pem
Los cuales vamos a ubicar en /etc/enigma2.
Accedemos a nuestro receptor mediante terminal y nos situamos en el directorios /etc/enigma2
cd /etc/enigma2
A continuacion ejecutamos el siguiente comando, en este ejemplo basico los vamos a generar autofirmados y con una duracion de un año
openssl req -x509 -newkey rsa:4096 -nodes -out cert.pem -subj "/C=ES/ST=MADRID/L=MADRID/O=enigma2, Inc./OU=IT/CN=jungle-team.com" -keyout key.pem -days 365
Tras la ejecucion del comando observaremos que tenemos ambos archivos:
2 Creacion servidor web https
Para la creacion de nuestro servidor web https con autenficacion hemos realizado un pequeño script python basado en los modulos python para la version 2.x que es la que lleva integrada nuestros receptores enigma2 mas concretamente usando el modulo BaseHTTPServer llamado jungle-web.py, que a continuacion vamos a ver como editarlo.
2.1 Introduccion del script
Lo introducimos en el directorio /usr/bin de nuestro receptor y a continuacion le damos permiso de ejecucion:
chmod +x /usr/bin/jungle-web.py
2.2 Configuracion del script
Una vez hemos introducido el script ahora vamos a ver como realizar su configuracion, en primer lugar vamos a crear un usuario con password el cual sera el que debemos usar para acceder a nuestro servidor web, para ello lo creamos en base64, siendo el formato usario:password, por ejemplo root:jungleteam, para ello lo podemos hacer facilmente usando el siguiente comando
echo 'root:jungleteam' | base64
En este ejemplo apuntamos cm9vdDpqdW5nbGV0ZWFtCg==
Ahora abrimos el script jungle-web.py y vamos a configurarlo, para ello buscamos:
user_con = ‘cm9vdDpqdW5nbGV0ZWFtCg==’
realm = ‘servidor web’
certfile = ‘/etc/enigma2/cert.pem’
keyfile = ‘/etc/enigma2/key.pem’
En user_con pues introducimos el usuario y contraseña cifrado en base64
realm= nombre identificativo
Y cerfile y keyfile la direccion donde creemos los certifcados.
Ahora buscamos:
os.chdir(‘/media/hdd/movie’)
protocol = «HTTP/1.0»
host = ‘192.168.1.45’
port = 8000
/media/hdd/movie lo cambiamos por el directorio del receptor donde queremos que se ejecute el web server
host = podemos poner la ip de nuestro receptor
port = el puerto de acceso a nuestro servidor
3 Ejecucion del script
Ahora simplemente para ejecutar el script por terminal ejecutamos:
python /usr/bin/jungle-web.py
Ahora ya podriamos acceder a nuestro servidor web https introduciendo en el navegador web
https://ipohost:8000
Como son certificados autofirmados nos aparecera que no son seguros, pero no le hagais caso, eso es debido como hemos comentado a que son autofirmados