SSL ubooquity
#1
Ubooquity es un servidor de libros basado en java. El acceso al servidor se hace por el puerto 2202 http. El programa admite certificados ssl. Para crearlos hay que utilizar una función de java llamada keytool que está instalada en el nas junto con ubooquity. No tengo conocimientos de linux ni de java pero aun así estoy intentando ir un poco más allá y voy a explicar lo que he echo y el problema que me he encontrado. Teniendo activado en mi nas el servicio myqnapcloud con certificado lets encrypt entrando en la configuración de mi nas me he descargado a mi ordenador windows esos certificados. Con un programa he cogido esos certificados y he creado con ellos un archivo .jks que es el necesario para utilizarlo con ubooquity. Para hacerlo se copia ese archivo jks en el ( por ejemplo ) directorio de ubooquity en el nas y luego mediante un navegador de internet se accede a la configuración de ubooquity y una vez alli se le indica a ubooquity la ruta donde está el archivo jks. El objetivo es utilizar los certificados de lets encrypt que utilizo para myqnapcloud utilizándolos a la vez para ubooquity. Tengo que decir que haciendo una redirección en mi router al puerto 2202 ( el de ubooquity ) yo puedo acceder diréctamente al servidor de libros desde el exterior símplemente escribiendo nombredelnas.myqnapcloud.com ( sin http, ni https, ni puerto). y sin perder el acceso ssl desde el exterior ( mediante qnapid ) desde las aplicaciones qnap para movil. Cuando accedo a ubooquity con nombredelnas.myqnapcloud.com me sale por http. El problema que tengo es que si coloco el archivo jks tal como he explicado antes al acceder a nombredelnas.myqnapcloud.com automáticamente me sale a descargar un archivo llamado donwnoad de 7 bytes sin yo hacer nada. Lo curioso del caso es que si miro la barra de direcciones del navegador en vez de poner nombredelnas.myqnapcloud por http me sale por https que es al fin y al cabo lo que intento. Lo que no se es porque no accedo al servidor de libros y sin embargo me descarga el archivo citado. Se agradecería cualquier ayuda.
Responder
#2
(30-07-2019, 07:47 PM)yeraycito escribió: Ubooquity es un servidor de libros basado en java. El acceso al servidor se hace por el puerto 2202 http. El programa admite certificados ssl. Para crearlos hay que utilizar una función de java llamada keytool que está instalada en el nas junto con ubooquity. No tengo conocimientos de linux ni de java pero aun así estoy intentando ir un poco más allá y voy a explicar lo que he echo y el problema que me he encontrado. Teniendo activado en mi nas el servicio myqnapcloud con certificado lets encrypt entrando en la configuración de mi nas me he descargado a mi ordenador windows esos certificados. Con un programa he cogido esos certificados y he creado con ellos un archivo .jks que es el necesario para utilizarlo con ubooquity. Para hacerlo se copia ese archivo jks en el ( por ejemplo ) directorio de ubooquity en el nas y luego mediante un navegador de internet se accede a la configuración de ubooquity y una vez alli se le indica a ubooquity la ruta donde está el archivo jks. El objetivo es utilizar los certificados de lets encrypt que utilizo para myqnapcloud utilizándolos a la vez para ubooquity. Tengo que decir que haciendo una redirección en mi router al puerto 2202 ( el de ubooquity ) yo puedo acceder diréctamente al servidor de libros desde el exterior símplemente escribiendo nombredelnas.myqnapcloud.com ( sin http, ni https, ni puerto). y sin perder el acceso ssl desde el exterior ( mediante qnapid ) desde las aplicaciones qnap para movil. Cuando accedo a ubooquity con nombredelnas.myqnapcloud.com me sale por http. El problema que tengo es que si coloco el archivo jks tal como he explicado antes al acceder a nombredelnas.myqnapcloud.com automáticamente me sale a descargar un archivo llamado donwnoad de 7 bytes sin yo hacer nada. Lo curioso del caso es que si miro la barra de direcciones del navegador en vez de poner nombredelnas.myqnapcloud por http me sale por https que es al fin y al cabo lo que intento. Lo que no se es porque no accedo al servidor de libros y sin embargo me descarga el archivo citado. Se agradecería cualquier ayuda.

Pues no sé decirte. Te seguí el tutorial que hiciste para ubooquity. Abrí como bien dices para mi ip el puerto 2202, sería ideal poder cambiarlo por uno de tu gusto. Sigo este hilo ya que me interesa, de momento tengo parado este servicio en el NAS hacia el exterior de la red. A falta de hacerlo más seguro.
Responder
#3
El puerto 2202 se puede cambiar fácilmente por el que se quiera accediendo al nas por ssh. Si te interesa como hacerlo mañana te puedo poner en este mismo post un tutorial de como hacerlo.
Responder
#4
Te lo agradecería. Ahora mismo ando probando configuraciónes VPN siguiendo un tutorial De Ganekogorta el cual ( a base de prueba y error) he acabado entendiendo, aveces la solución más fácil la tenemos delante y no la vemos.
Responder
#5
TUTORIAL para cambiar los puertos de acceso por defecto de Ubooquity por los que deseemos ( por si nos hiciera falta por algún motivo ). Lo haremos desde un ordenador con windows.

1 - Entramos en nuestro Nas. Abrimos PANEL DE CONTROL. De todas las opciones que nos aparecen le damos a Telnet/SSH. Comprobamos que la casilla PERMITIR CONEXION SSH  está marcada (activa). Si no lo está la marcamos ( no hay que tocar ningún otro ajuste ). A continuación le damos a APLICAR. Nos olvidamos del Nas de momento.

2 - Descargamos en nuestro ordenador el programa WinSCP desde el siguiente enlace: https://winscp.net/eng/download.php
     Lo instalamos.

3 - Abrimos el programa WinSCP. Nada más abrirlo nos aparece una ventana con 3 campos que están vacios y tenemos que rellenar: Nombre o IP del servidor ( Ponemos la ip local de nuestro Nas ), Usuario ( aquí ponemos el nombre de usuario con el que accedemos al Nas normálmente admin ), Contraseña ( la que tengamos para acceder al Nas ). Una vez rellenados los campos citados le damos a CONECTAR.

4 - Una vez que estamos conectados vemos que la interfaz del programa está dividida en 2 mitades ( izquierda - derecha ). En la parte izquierda vemos unas carpetas que se corresponden a las      carpetas que están dentro de la carpeta Documentos de nuestro ordenador windows. NOS OLVIDAMOS de esa parte izquierda. Sólo vamos a trabajar en la parte derecha que es la que se
     corresponde a las carpetas y archivos de nuestro Nas. En la parte DERECHA nos encontramos con un archivo que se llama index_default y encima de ese archivo vemos el icono de una
     carpeta que no tiene nombre. Con el botón izquierdo del ratón le damos 2 veces a esa carpeta ( igual que si abriéramos una carpeta o ejecutáramos un programa en windows ). Una vez
     hecho esto nos salen un montón de carpetas. ESTAMOS EN EL DIRECTORIO PRINCIPAL DEL NAS.
     Ahora tenemos que ir a la ruta ( igual que antes, dándole a las carpetas 2 veces con el botón izquierdo del ratón )     etc/config/
     Estando ahí nos encontramos con un montón de carpetas y debajo un montón de archivos. Con la rueda central del ratón nos desplazamos hacia abajo hasta encontrar el archivo
     qpkg.conf       Con el botón izquierdo del ratón le damos 2 veces a ese archivo.

5 - Una vez hecho esto nos aparece una ventana nueva en la que hay escrito una serie de datos y vemos que son datos referidos a programas que están instalados en nuestro Nas.
     Nos desplazamos hasta abajo hasta encontrar Ubooquity ( estará abajo del todo ). Debajo de Ubooquity vemos que hay escritos ciertos parámetros. Nos fijamos en el que pone
     Web_Port = 2202. Ahora sustituimos 2202 por el número de puerto que queramos. Una vez hecho esto nos fijamos que en ESA MISMA VENTANA en la parte SUPERIOR tenemos
     unos iconos. Le damos al que está más a la izquierda ( icono de disquette ) que es el botón de GUARDAR CAMBIOS. Ahora cerramos esa ventana.

6 - Ahora vamos a deshacer la ruta andada ( o sea, volver para atrás hasta el DIRECTORIO PRINCIPAL DEL NAS ). Para hacerlo, con la rueda central del ratón nos desplazamos hacia
     arriba del todo. Allí nos encontramos otra vez una carpeta sin nombre igual que la que vimos al principio. Le damos 2 veces con el botón izquierdo del ratón. Ahora estamos en el
     directorio anterior y nos volvemos a encontrar otra carpeta igual. Repetimos el proceso. Volvemos a estar en el DIRECTORIO PRINCIPAL DEL NAS.

7 - Ahora vamos a cambiar el puerto de Ubooquity haciéndolo de la misma manera que antes pero con otro archivo distinto que está en una ruta distinta al anterior:
     Nos vamos a    opt/ubooquity/        De los archivos que nos aparecen le damos a    preferences.json
     Nos aparece una nueva ventana con multitud de datos. Nos desplazamos hacia abajo hasta encontrar "libraryPortNumber" : 2202,
     Sustituimos 2202 por el puerto que queramos ( cuidado con no borrar la coma ) y que lógicamente será el mismo que hayamos puesto en el PASO 5 de este tutorial.
     OPCIONAL: Si quisiéramos cambiar también el puerto de configuración de Ubooquity lo podríamos hacer aquí mismo cambiando el puerto en el parámetro "adminPortNumber" : 2203,
     Ahora guardamos los cambios de igual manera que hemos hecho en el PASO 5 de este tutorial.

8 - Ahora cerramos TOTALMENTE el programa WinSCP ( nos saldrá una ventana preguntándonos si quieremos cerrar la sesión ). Le damos a aceptar.

9 - Entramos en nuestro NAS.
     OPCIONAL: Si no vamos a volver a usar SSH para acceder al nas lo deshabilitamos siguiendo los pasos del PASO 1 de este tutorial.
     MUY IMPORTANTE: Ahora REINICIAMOS EL NAS

10 - Fin

En cuanto a lo de la inseguridad de publicar un servicio en nuestro Nas bajo http me gustaria, con vuestro permiso y desde mis humildes conocimientos, dar mi opinión al respecto. Opinión que si alguien con más conocimientos que yo me encantaría que me la rebatiera. El protocolo http al contrario que https es inseguro ( o no ) por naturaleza. Según tengo entendido uno de los ataques más conocidos bajo ese protocolo es el conocido como ataque de intermediario ( man-in-the-middle ). Según Wikipedia  para realizarlo un atacante lo tiene que realizar dentro del alcance de un punto de acceso wifi sin cifrar. O sea, que se haya introducido en el router externo desde el que nos conectamos a internet. En otras palabras, lo que tenemos que tener cuidado es desde donde accedemos a internet desde el exterior de nuestra casa. Sin embargo https es seguro ( o no ). En este enlace  http://www.tierradelazaro.com/ataques-al...colo-https 
podemos ver que existen una gran cantidad de ataques posibles al protocolo https. A dia de hoy la seguridad 100 por 100 en internet no existe. Os recomiendo un libro que actualmente estoy leyendo que aporta una gran cantidad de información al respecto. Trata sobre privacidad y seguridad en internet. Título: Los delitos del futuro    Autor: Marc Goodman
Otro ejemplo sería la noticia publicada ayer. Capital One ( creo que es el cuarto banco más importante de estados unidos ) ha sufrido un ataque en el que le han sustraido tropecientasmil números de la seguridad social, números de tarjetas de crédito, datos personales de clientes, etc. Y es un banco. Resumiendo: La prevención siempre será mejor que la lamentación pero, a pesar de eso, tampoco es necesario volvernos paranoicos. Si accedemos desde el exterior a nuestro servidor ubooquity por http desde un sitio seguro en teoria no debería de pasar nada. Lo que si deberíamos hacer es proteger nuestro nas con las medidas clásicas: contraseña de acceso robusta, activar la autentificación en 2 pasos, bloquear los intentos de acceso al nas no autorizados desde el ajuste de seguridad de nuestro nas y también en el router. Y para rizar el rizo sustituir el router de nuestra operadora de internet, si es posible por, por ejemplo, un mini-pc con Opnsense ( o Pfsense ) que actua de router, cortafuegos avanzado y detector de intrusiones.
Responder
#6
ok, muchas gracias por el tutorial.
Responder
#7
Gracias por el tutorial.

¿Has probado en el último punto en vez de reiniciar la nas, hacer la edición con el programa detenido y luego volver a arrancarlo?

En cuanto a lo de http frente a https. Todo es cuestión de lo publicado.
Por ejemplo si es una página web Informativa sin identificación de datos del cliente, puede ser http. Ya que aunque alguien capture el tráfico, no va a ver usuarios/contraseñas.

Si tenemos https y la página web acepta usuarios con contraseña, estas van cifradas como el resto del tráfico.

Ahora bien, por ejemplo podemos tener una vulnerabilidad (conocida o no) en nuestra página por el motor/interface/sistema usado. Y por mucho que tengamos el certificado, nos entrarán hasta la cocina basándose en esas vulnerabilidades.

Por eso suelo insistir mucho en que no hay que tener aplicaciones accesibles sin estar actualizadas. Y es que la actualización es además de mejoras de uso y estéticas, traen consigo correcciones de vulnerabilidades.


Un saludo

Agur eta ondo ibilli

Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be)
Responder
#8
¿Has probado en el último punto en vez de reiniciar la nas, hacer la edición con el programa detenido y luego volver a arrancarlo?

He intentado detener el programa en el nas pero no lo he conseguido. Lo que si he probado es hacer los cambios con el servidor en marcha y luego reiniciar el servidor ubooquity pero haciéndolo así parece que algunos cambios no los coge hasta que no se reinicia el nas.

En todo lo demás que afirmas estoy de acuerdo contigo. A ver si alguna alma caritativa encuentra alguna solución para ponerle el certificado ssl de lets encrypt de qnap al servidor ubooquity
a la vez tal como explico al principio del tema. Lo que si se es que se le puede poner a ubooquity otro certificado pero para ello hay que poner otro dominio distinto del de myqnapcloud.
Responder
#9
Hola
Partiendo que no he instalado el programa.

Si la dirección de acceso es del tipo
https://tunas.myqnapcloud.com:2202/ubooquity, es decir si usa el servidor web de Qnap, si nos sirve el certificado de let’s encrypt por defecto de Qnap.




Un saludo

Agur eta ondo ibilli

Mon (TS-469Pro, TVS-673, QBoat Sunny y TS-453Be)
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny y TS-453Be)
Responder
#10
Lo se. El problema es que ubooquity es un servidor por si solo. Y al estar basado en java no tiene un index.html como cualquier web que quisiéramos poner en el nas. Si fuera así activaria el servidor del nas y copiaria los archivos de ubooquity en la carpeta web del nas y a funcionar. Como he leido en otros temas de este foro el certificado de lets encrypt sólo es válido para nuestro nas con el dominio de myqnapcloud. Como se puede acceder a ubooquity con ese dominio había pensado la posibilidad de utilizar ese certificado y ponerlo en ubooquity. Problemas: Al descargar el certificado del nas ( que lleva integrado el certificado y una clave pública ), el certificado intermedio ( que lleva la misma clave pública ) y la clave privada y convertirlos en un archivo con extensión jks que es el que necesita ubooquity ya que está basado en java no funciona. De esto que digo he probado todas las combinaciones posibles ( poniendo solo el certificado, certificado y clave privada, etc ). Nada funciona. Los archivos descargados certificado y certificado intermedio del nas tienen la extension crt. La clave privada tiene la extensión key. Si accedo al nas por ssh y entro donde están esos mismos certificados están pero con otra extensión de archivo distinta. Aparte de eso hay bastantes mas archivos que los citados antes, por ejemplo, lo que parece un archivo que al darle a editar me sale una lista de certificados que usa qnap. Otro ejemplo es que en esa misma carpeta hay otra carpeta llamada cuenta en la que dentro de ella hay una segunda clave privada distinta a la primera. Así que me rindo. En internet hay información de como poner un certificado de lets encrypt distinto al que tiene el nas a ubooquity pero el proceso lo veo bastante complejo para mis conocimientos aparte de que es necesario hacerlo con un nombre de dominio distinto al de myqnapcloud que ya vemos que no funciona.
Responder




Usuarios navegando en este tema: 1 invitado(s)