• 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
envío de claves con pwpush en Docker
#1
Hola

En este hilo, voy a describir como instalar pwpush en un docker y que use una BBDD de PostgreSQL.

Pwpush es un sistema que sirve para enviar claves, frases o rutas que no queremos enviar en texto plano por otros sistemas (correo electrónico, mensajería instantánea,...)
Esto es muy interesante si lo vamos a enviar por correo queremos que no extraigan datos al ser analizado por terceros.
Estos enlaces tienen una caducidad por tiempo y/o por su número vistas.

Su entorno es muy visual y fácil, es multi lenguaje, podemos definir los días de vigencia y el número vistas del enlace antes de caducarlo.
Incluso hasta incorpora un generador de claves.

Para este docker nos apoyaremos en dos Docker previos que son:
Si ya tenemos instalada postgreSQL con bases de datos de otros programas, entonces si debemos usar PgAdmin (es un entono gráfico) para crear la base de datos y el usuario que usará pwpush.

Vamos a suponer que ya usamos postgreSQL y que usamos PgAdmin.
Vamos a la web de PgAdmin y nos identificamos para administar las BBDD.
   

Veremos las que tenemos y sus usuarios.
   

Crearemos una llamada por ejemplo "pwpush_db".
   

Sólo le daremos nombre y posteriormente le asignaremos un usuario
   

Luego creamos por ejemplo el usuario "pwpush" 
   

   

asignamos clave y permisos

   

   

le asignamos privilegios sobre la BBDD "pwpush_bd", editando las propiedades de la BBDD
   

Una vez hecho esto, ya podemos ir a la consola para lanzar el comando de creación del docker.
En el comando indicamos el usuario de la base de datos, la base de datos y el nombre del docker de la base de datos.
Ambos están están en la misma red de Dockers llamada "Dockers". Puede ser que en vuestro caso no sea así.
Y he especificado que por defecto el idioma es castellano "es"

Código:
docker run -d --name=pwpush -p "5100:5100" --network=Dockers -e DATABASE_URL=postgres://pwpush:clave_usuario@postgresql:5432/pwpush_db -e PWP__DEFAULT_LOCALE=es -e EXPIRE_AFTER_DAYS_DEFAULT=4 -e EXPIRE_AFTER_VIEWS_DEFAULT=2 --restart unless-stopped pglombardo/pwpush-postgres:release

Una vez esté desplegado, para ver la web desde nuestra red interna iremos a la dirección http://ip_privada_nas:5100 y comprobamos el funcionamiento.

El parámetro release es para tener la última versión estable del docker.

He usado un par de variables para predefinir:
  • los días de expiración por defecto a 4 con EXPIRE_AFTER_DAYS_DEFAULT
  • el número de vistas a 2 para que se elimine de la base de datos con EXPIRE_AFTER_VIEWS_DEFAULT
  • idioma en castellano con PWP__DEFAULT_LOCALE=es

Veremos que es muy sencillo su manejo, sólo hemos de escribir la clave o texto y darle a "empujar" para que sea generado el enlace pertinente.

   

Que es el que hemos de hacer llegar a nuestro destinatario para que pueda verlo en texto plano.

Si activamos la opción de "Utilice un paso de recuperación de 1 clic", el destinatario cuando abre el enlace ha de pulsar un hiperenlace previo de mostrar contraseña. Esto se hace para evitar consumo de vistas de la clave por parte de arañas y otros analizadores de enlaces.

Una vez la validez en días, o se ha superado al número máximo de vistas o hemos cancelado en enlace, no podremos ver el texto en plano y nos lo dirá en la propia web al intentar usarlo.
   

Evidentemente la gracia de este servicio es tenerlo accesible desde el exterior.
Si no tenemos un dominio propio para tener una dns asociada, hemos de abrir un puerto en el router para poder alcanzar a la ip privada de la nas en su puerto 5100.

Por seguridad, es mejor tenerlo tras algún tipo de proxy inverso.

Hay mas información de este docker y sus parámetros en la web de Docker.
También tienen disponibles versiones para la BBDD en MySQL e incluso en SQLite.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be y QHora-301w) Ʀɐɯ0η
  Responder


Mensajes en este tema
envío de claves con pwpush en Docker - por Ganekogorta - 22-06-2022, 12:58 PM



Usuarios navegando en este tema: 1 invitado(s)