Extensión para guardar información confidencial de manera segura. Los datos serán encriptados y solo accesibles por usuarios con las credenciales apropiadas El objetivo de este módulo es el de proteger la información confidencial del acceso no autorizado, tanto desde dentro de la empresa como de todo aquel que de alguna manera podría conseguir un acceso a nuestra base de datos completa, ya sean con malas intenciones o simplemente terceros que requieren acceso para dar soporte o resolver problemas.
Field | Type | Values |
---|---|---|
CI INFO No | autonumber | Identifier |
CI Reference | string | |
CI Related to | relation | Accounts,Contacts |
CI Category | picklist | — Please Select —,Access Information,Personal Information,Other Information |
CI Asset | relation | Assets |
Assigned To | assigned to | |
Created Time | datetime | |
Modified Time | datetime | |
Description | text |
Este módulo está relacionado con una cuenta/contacto y un recurso. Podrás ver la lista de información confidencial relacionada con cada uno en su pestaña de +info.
Un registro de Información Confidencial tendrá dos partes:
Este módulo requiere la extensión MySQLi de php, NO funcionará sin ella.
No tiene posibilidad de añadir comentarios, ni funcionalidad de importar ni exportar, entre otros.
La importación podría ser activada fácilmente pero sólo sería útil en una situación, que es la importación inicial. Al importar información, como es normal en vtiger CRM, se importará en texto plano. Una vez importados los registros, podríamos poner en marcha el proceso de cifrado inicial y todo estaría cifrado. Después de esto, el proceso de importación no funcionaría ya que la nueva importación (de nuevo) entraría los datos en texto plano, mientras que el módulo espera que ya esté encriptada.
El módulo dispone de un registro histórico de operaciones, similar al existente en incidencias y oportunidades.
Al intentar acceder a la vista de detalle o edición, el programa pedirá la contraseña de acceso. Si se introduce correctamente se mostrará la información confidencial, si no se da, no se permitirá el acceso. En cualquier caso se registrará el evento en el histórico de eventos y modificaciones.
Una vez hemos conseguido acceder al registro, se iniciará una cuenta atrás. Al agotarse la cuenta, el contenido de la página desaparecerá y volveremos a la vista de lista del módulo, consiguiendo así proteger la información. La longitud de la cuenta atrás se puede ajustar en el sección de configuración del módulo,
Si se recupera un registro de la Papelera de Reciclaje, debería poderse acceder a la información normalmente, incluso si se ha cambiado la contraseña mientras el registro estaba en la papelera.
Internamente, toda la información se guardará cifrada utilizando la librería mcrypt de php. La contraseña se guardará utilizando sha1 y el vector de información cambiará automáticamente cada vez que se cambie la contraseña.
En el administrador de módulos, podrás acceder a la sección de configuración del módulo, donde podrás cambiar la contraseña global. Esto lanzará un proceso que descifrará toda la información y la volverá a cifrar con la contraseña nueva.
Ya que estamos usando métodos de cifrado estándar y siguiendo las normas, si alguien consigue acceso a tu base de datos, tardarán un tiempo MUY largo (años) en recuperar la contraseña de empresa necesaria para descifrar la información almacenada. Pero, como siempre, con este tipo de solicitudes, el sistema es solo tan bueno como la contraseña que utilizas. Si decides usar tu nombre de empresa como la contraseña de toda la empresa, entonces no tardarán en acceder a la información
El módulo se instala utilizando el administrador de módulos y después hay que aplicar el parche que se puede encontrar en el directorio del módulo.
Una vez instalado, hay que crear los campos personalizados que se requieran para guardar información confidencial.
El módulo requiere php_mcrypt para encruptar la información.
A continuación, hay que acceder a la sección Cambiar Contraseña en la configuración de módulo:
Establece la contraseña empresarial y puedes empezar a utilizar el módulo de manera normal, como si fuera cualquier otro módulo de vtiger CRM. La diferencia será que el módulo te pedirá la contraseña cada vez que intentas acceder a la vista detalle o edición del módulo. Si la introduces correctamente se te permitirá el acceso a la información, si no, no podrás acceder a los datos.
Si pierdes la contraseña, pierdes la información. No hay nada más que decir.
Use this module at your own risk. We have not had any problems (yet), but we should not be held liable for any data loss or other events derived from the use of this module.
Alternatively to the mcrypt methods, we can also encrypt the information with the more secure libsodium library.
Here are some links on the benefits and how to install the library for it's use with PHP.
Alternatively to the mcrypt methods, we can also encrypt the information with the more secure openSSL library.
Here are some links on the benefits and how to install the library for its use with PHP.
This method expects to find both the private and public key in some directory accessible from the coreBOS install. This means that the security of this method is inexistent. PKI security is based on how secure you can keep your private key. Since we have both public and private together, in the code, anyone who gets access to your code has direct access to the information.
So, why did we implement it? Because you can use the public key to encrypt the information and not save the private key in the system. If the private key does not exist, no information will be shown. If you need to access the information you must send it to some other system where the private key lives and decrypt it there.
The module has a generalized layer for the encryption and decryption actions making it fairly easy to implement other ways of protecting your information.
If you are interested, you can contact us for help or have a look at this article that explains how that can be done.
As with most of the development we create, we try to create infrastructure, things you can use in your own developments, not just functionality. Once an encryptionmethod is configured, you can use this module to encrypt and decrypt any information anywhere in the application. For example, in after_save event or in some hook,…
This is what a small script to encrypt a couple of values looks like:
include 'vtlib/Vtiger/Module.php'; include_once 'modules/ConfidentialInfo/ConfidentialInfo.php'; $info = array('text'=>'text example','num'=>'123.456'); $encrypted = ConfidentialInfo::encryptFields_pki($info, 'file://public.key'); var_dump($encrypted); $decrypted = ConfidentialInfo::decryptFields_pki($encrypted, 'file://private.key'); var_dump($decrypted);
La contraseña es única a nivel de empresa y se ha de pasar de mano en mano. No tiene nada que ver con los perfiles. El sistema de permisos de vtiger CRM funciona en este módulo así que si lo haces privado y defines reglas de acceso, incluso a nivel de campo, éstos funcionarán como es debido, pero solo podrán acceder a la información encriptada aquellos usuarios que conozcan la contraseña.
Solo al intentar entrar en la vista detalle del módulo de información confidencial.
Opciones a considerar en el futuro: