Skip to main content

Primeros pasos en la protección de secretos

Objetivos de aprendizaje

Después de completar esta unidad, podrá:

  • Explicar cuáles son los secretos de la aplicación
  • Explicar frente a quién debemos guardar los secretos de la aplicación
  • Enumerar tres riesgos de exponer secretos de aplicaciones a administradores de Salesforce

Introducción a la protección de secretos de aplicaciones

Virtualmente toda aplicación maneja datos confidenciales de un tipo u otro. Hablamos de secretos de aplicación, ya sea la contraseña que un usuario ingresa para autenticarse en la aplicación o una clave de cifrado que protege los datos en reposo. Si los atacantes o usuarios maliciosos obtienen el secreto, pueden usarlo para acceder a sistemas o datos confidenciales. 

Es importante que los desarrolladores tengan en cuenta el modo en que se protegen los secretos en cualquier plataforma, incluida la de Salesforce. En este módulo, aprenderá a identificar secretos en sus aplicaciones y a determinar cuál es el método más efectivo para almacenar y proteger dichos secretos.

¿Qué son los secretos?

Estuvimos analizando el término “secretos”, pero ¿qué significa realmente? En este módulo, cuando hablamos de secretos, nos referimos a datos que pueden usarse para verificar qué privilegios tiene un usuario en una situación determinada. 

Estos son algunos ejemplos habituales:

  • Contraseñas y frases de contraseña
  • Claves de cifrado
  • Tokens OAuth
  • Información de pago, como números de tarjetas de crédito y PIN para autenticar una operación de pago
  • Números de la seguridad social, que pueden usarse para verificar la identidad individual

Además de estos ejemplos, su negocio puede considerar otros formatos de datos como secretos y someterlos a métodos de protección adicionales. Por ejemplo, puede haber un requisito regulador para cifrar algunos tipos de datos de usuario. Laptop abierta en una página de inicio de sesión. En una leyenda circular, se ve una mano presionando un icono de llave en un teléfono para efectuar un inicio de sesión con autenticación de 2 factores.

¿Frente a quién estamos protegiendo los secretos?

Ahora que sabemos lo que tenemos que proteger, hablemos sobre frente a quién estamos protegiendo esta información. Quizá esté imaginando a un atacante. Definitivamente, queremos salvaguardar los datos confidenciales ante atacantes externos que intentan penetrar en su instancia de Salesforce. Pero consideremos también los riesgos de exponer secretos a otros usuarios, a los administradores de Salesforce, los desarrolladores de AppExchange y los clientes. 

Considere los escenarios siguientes.

  1. Un usuario descarga accidentalmente malware y su sesión de Salesforce queda expuesta.
  2. Un empleado disgustado que fue despedido hace poco, pero que aún tiene acceso a los sistemas de la compañía.
  3. Un usuario de Communities descubre que tiene acceso de API privilegiado.

En dichos escenarios, un secreto protegido inadecuadamente puede hacerse visible a alguien que no debería tener acceso a él. Por estos motivos, se recomienda proteger los secretos frente a distintos tipos de usuarios, incluidos los siguientes:

  • Usuarios estándar: usuarios con licencias normales de Salesforce y permisos promedio
  • Usuarios externos: usuarios con permisos reducidos, que posiblemente utilizan una licencia de Communities o ven datos a través de un sitio de Force.com
  • Usuarios administradores con acceso administrativo: usuarios con licencias normales de Salesforce, pero con permisos por encima de la media, hasta Modificar todos los datos

Tenga en cuenta que no todos los secretos tienen que protegerse ante cualquier tipo de usuario. El objetivo de este módulo es darle las herramientas para proteger los secretos de aplicaciones de modo que incluso los datos más confidenciales puedan almacenarse con seguridad en Salesforce. 

¿Por qué proteger los secretos ante los administradores?

Los administradores tienen puestos de mayor confianza que otros usuarios, ya que tienen un nivel más alto de acceso al sistema. ¿Recuerda el “principio de menor privilegio”? Queremos procurar que se otorgue solo el mínimo de privilegios necesarios para que un usuario, un programa o un proceso puedan realizar su función asignada. Otorgar acceso de administrador para elementos adicionales como claves de cifrado puede parecer inofensivo, pero debe tenerse en cuenta lo siguiente: 

  • Si un secreto almacenado es la contraseña de un servicio externo, el administrador de Salesforce podría no estar autorizado a acceder al servicio directamente. Por lo tanto, para proteger ese servicio, habrá que asegurarse de que ese usuario no tenga autorización.
  • El secreto almacenado puede ser una clave de cifrado a la que ningún usuario, incluyendo el administrador, pueda acceder. En este caso, también habrá que procurar que un administrador no tenga acceso.
  • Incluso si un administrador no puede ver el secreto, un atacante puede intentar obtenerlo exponiendo la cuenta del administrador.

¡El mero hecho de que alguien pueda acceder a algo no significa que sea una buena idea! 

Ahora que sabe cuán importante es proteger los secretos, puede determinar el método más efectivo para almacenar y proteger los secretos durante el desarrollo de una aplicación. A continuación, veremos cómo usar las funciones de seguridad de Salesforce Platform. 

Recursos

¡Siga aprendiendo gratis!
Regístrese para obtener una cuenta y continuar.
¿Qué hay para usted?
  • Consiga recomendaciones personalizadas para sus objetivos profesionales
  • Practique sus aptitudes con retos prácticos y pruebas
  • Siga y comparta su progreso con empleadores
  • Póngase en contacto para recibir asesoramiento y oportunidades laborales