LinuxCabal / admin-cfdi

Administrador de CFDIs / Proyecto de colaboración con PythonCabal
https://facturalibre.net/servicios/
34 stars 39 forks source link

Encriptar archivo de credenciales #47

Open mr-E opened 9 years ago

mr-E commented 9 years ago

Python no es a prueba de "crackers" cuando se tiene acceso al código. Y no es bueno tener una falsa sensación de seguridad, pero las credenciales en texto plano son 0% seguras.

Admin-cfdi podría soportar dos opciones, con ambas encriptar las credenciales: a) Usar una llave automatica (archivo) b) Usar una llave manual (contraseña)

a) Admin-cfdi podría generar una "llave" al ser instalado y usar esta para encriptar-desencriptar las credenciales.

Si se borra la "llave" ¿como proceder? (solo 1de 2): 1) Generar la misma "llave" siempre, asi se pueden seguir usando las credenciales. 2) Generar una "llave" nueva pero borrando las credenciales almacenadas (avisando al usuario) y claro se deben de recapturar y volver a configurar cada una de las credenciales.

b) Pedir que el usuario tecleé una llave maestra. Se puede usar como parametro para efectos de automatizar la descarga. El uso de la llave manual de manera visible no es tan malo que ver las credenciales en texto plano, claro que el usuario-avanzado puede imprimir las credenciales desencriptadas desde el código.

Recomendación cambiar la clave de las credenciales periodicamente y más cuando se tiene rotación de personal.

mimex commented 9 years ago

Sigo pensando que por cuestiones de seguridad y portabilidad la mejor alternativa es usar GPG.

Existe un módulo python-gnupg pero no hay versión para py3 [1].

Creo que sería buena idea pedir mas retroalimentación sobre el tema en la lista de correo de PythonCabal y en la nueva lista de Python México :)

[1] https://pypi.python.org/pypi/python-gnupg