2010-09-03 42 views
12

Voy a almacenar algunos datos confidenciales (SSN, cuentas bancarias, etc.) para que, obviamente, necesiten cifrarse. ¿Qué estrategias recomiendan?Estrategias para el cifrado con Django + Postgres?

¿Debo hacer todo el cifrado/descifrado en la propia aplicación web? ¿Debo usar algo como pgcrypto y hacer las conversiones en el lado de la base de datos? ¿Algo más completamente?

Además, si crees que debo hacer el cifrado en la aplicación web, ¿qué bibliotecas de Python recomendarías?

Respuesta

1

¿Qué estás protegiendo? Si el atacante tuviera acceso a su base de datos/sistema de archivos, encontraría cómo descifrar las claves de datos &. Ocultar su clave de inscripción no es una tarea fácil (y raramente implementada en aplicaciones "habituales").

Pasaría más tiempo protegiendo el servidor y solucionando todos los problemas generales de seguridad.

+0

Estoy de acuerdo, y tengo la intención de utilizar un servicio completamente gestionado para ejecutar mi programa de instalación de producción precisamente por esa razón - Sé exactamente suficiente sobre la administración del sistema de Linux para saber lo poco que sé :) Dicho esto, me gustaría encriptar los campos. Lo veo como el mismo tipo de actividad que bloquear las puertas de su casa. Todavía es bastante fácil entrar, pero agrega un poco de disuasión. –

+0

Luego debe pegar todas sus claves y claves en el lado de la aplicación web, de forma que si el atacante robado a DB no obtiene nada. Si los archivos fueron robados, tampoco nada. Por lo tanto, ingrese la clave del código en el código y encripte/defina todos los datos usando AES desde la biblioteca estándar de Python. – BarsMonster

+0

Supongo que también puede poner su clave en alguna ubicación, por lo que al copiar ciegamente la raíz de su sitio, el atacante no obtendría la clave. – BarsMonster

1

Estoy de acuerdo que primero debe tener en cuenta el modelo de seguridad general y lo avenidas amenaza podría ser el mayor riesgo, al estilo de este artículo:

https://security.stackexchange.com/questions/16939/is-it-generally-a-bad-idea-to-encrypt-database-fields

sino también echar un vistazo a estos para los campos codificados en Django:

encriptado campos: https://github.com/svetlyak40wt/django-fields

más campos cifrados:

https://github.com/defrex/django-encrypted-fields, https://github.com/django-extensions/django-extensions

Cuestiones relacionadas