Ciclo de vida de desarrollo seguro: patrones
Obtenga más información acerca de Well-Architected Confideicomiso → Ciclo de vida de desarrollo seguro
La seguridad debe integrarse a lo largo del ciclo de vida del desarrollo, desde el diseño inicial hasta la implementación y las operaciones. Estos patrones activan prácticas de seguridad de turno a la izquierda, solucionan vulnerabilidades comunes y protegen sus oportunidades en curso de implementación.
Patrones
| Dónde buscar | Qué aspecto tiene |
|---|---|
| Desarrollo | Herramientas | ✅ Escaneo de seguridad IDE integrado en el flujo de trabajo del desarrollador |
| Desarrollo | Diseño | ✅ Modelado de amenazas completado durante la fase de diseño utilizando la metodología STRIDE |
| Desarrollo | Requisitos | ✅ Requisitos de seguridad incluidos en historias de usuario y criterios de aceptación |
| Desarrollo | Control de origen | ✅ Los ganchos de confirmación previa aplican políticas de seguridad (exploración secreta, análisis de código) |
| Desarrollo | Capacitación | ✅ Capacitación de seguridad de desarrollador actualizada regularmente para reflejar amenazas en evolución |
| Desarrollo | CI/CD | ✅ Las pruebas de seguridad automatizadas en oportunidades en curso de CI/CD fallan se basan en hallazgos críticos |
| Desarrollo | Revisión de código | ✅ Revisiones de colegas de seguridad requeridas para autenticación, autorización y código de acceso a datos |
| Desarrollo | Análisis de código | ✅ Estándares de codificación seguros aplicados a través de linters y análisis estáticos |
| Desarrollo | Dependencias | ✅ La exploración de vulnerabilidades de dependencias se ejecuta en cada confirmación |
| Desarrollo | Pruebas | ✅ El ámbito de pruebas de penetración incluye nuevas funciones antes del lanzamiento de la ley general |
Antipatrones
| Dónde buscar | Aspecto negativo |
|---|---|
| Desarrollo | Pruebas | ⚠️ Pruebas de seguridad aplazadas a revisión manual antes de la versión |
| Desarrollo | Capacitación | ⚠️ Capacitación en seguridad realizada una vez durante la incorporación únicamente |
| Desarrollo | Revisión de código | ⚠️ El equipo de seguridad revisa el código después de la combinación |
| Desarrollo | Diseño | ⚠️ Modelos de amenazas no actualizados cuando cambia la arquitectura |
| Desarrollo | Control de origen | ⚠️ Exploración secreta desactivada para reducir falsos positivos |
| Desarrollo | CI/CD | ⚠️ Se ignoran los hallazgos de seguridad cuando se avecinan plazos de lanzamiento |
Patrones
| Dónde buscar | Qué aspecto tiene |
|---|---|
| Inyección | ✅ Las consultas SOQL utilizan variables de vinculación para evitar la inyección |
| Inyección | ✅ Entrada de usuario validada y desinfectada antes de su uso en consultas SOQL, SOSL o dinámicas |
| Inyección | ✅ SOQL dinámico restringido a entradas de confianza únicamente |
| Control de acceso | ✅ Permisos CRUD y FLS aplicados utilizando Security.stripInaccessible() |
| XSS | ✅ Los componentes Lightning escapan al contenido generado por el usuario en la representación de la interfaz de usuario |
| Inyección | ✅ Las integraciones de API externas validan y desinfectan todas las entradas |
| Control de acceso | ✅ Acceso de usuario invitado minimizado y fuertemente restringido |
| Autenticación | ✅ Credenciales nombradas utilizadas para autenticación externa (no credenciales codificadas) |
| Autenticación | ✅ Flujos de OAuth 2.0 implementados correctamente con PKCE |
| Gestión de sesiones | ✅ Las políticas de seguridad de sesión aplican restricciones de tiempo de espera e IP |
| Configuración | ✅ Comprobación del estado de seguridad revisada trimestralmente y hallazgos de alto riesgo solucionados |
| Control de acceso | ✅ Metadatos personalizados y permisos auditados para evitar privilegios excesivos |
Antipatrones
| Dónde buscar | Aspecto negativo |
|---|---|
| Inyección | ⚠️ Consultas SOQL construidas utilizando concatenación de cadena con entrada de usuario |
| Control de acceso | ⚠️ Perfiles de usuario invitado otorgados permisos Crear, Actualizar o Eliminar |
| XSS | ⚠️ Los componentes Lightning utilizan expresiones sin escapar en plantillas |
| Autenticación | ⚠️ Las integraciones externas utilizan credenciales codificadas en código |
| Registro | ⚠️ Los registros de depuración contienen datos confidenciales como contraseñas o PII |
| Control de acceso | ⚠️ Se omiten las comprobaciones FLS y CRUD porque “controlamos todos los usuarios” |
| Configuración | ⚠️ Resultados de Comprobación del estado de seguridad ignorados o pospuestos indefinidamente |
Patrones
| Dónde buscar | Qué aspecto tiene |
|---|---|
| Canalizaciones | Control de origen | ✅ Las reglas de protección de sucursales aplican revisiones y comprobaciones de estado requeridas |
| Canalizaciones | Control de acceso | ✅ Las oportunidades en curso de implementación utilizan cuentas de servicio con permisos mínimos requeridos |
| Oportunidades en curso | Secretos | ✅ Secretos almacenados en bóvedas seguras (nunca en el control de origen o variables de entorno) |
| Canalizaciones | Implementación | ✅ Las implementaciones de producción requieren una puerta de aprobación manual del personal autorizado |
| Oportunidades en curso | Auditoría | ✅ Los registros de implementación capturan quién implementó qué cuándo con seguimientos de aprobación |
| Canalizaciones | Validación | ✅ La validación previa a la implementación incluye análisis de seguridad y comprobaciones de cumplimiento |
| Canalizaciones | Control de acceso | ✅ Autenticación de múltiples factores requerida para el acceso administrativo de oportunidades en curso |
| Canalizaciones | Monitoreo | ✅ Los cambios de configuración de oportunidades en curso desencadenan notificaciones del equipo de seguridad |
| Canalizaciones | Validación | ✅ La validación posterior a la implementación automatizada confirma los controles de seguridad esperados activos |
| Canalizaciones | Dependencias | ✅ Actualizaciones de dependencias evaluadas para impacto de seguridad antes de la implementación |
Antipatrones
| Dónde buscar | Aspecto negativo |
|---|---|
| Oportunidades en curso | Secretos | ⚠️ Secretos confirmados para el control de versiones (incluso si se eliminan más adelante) |
| Canalizaciones | Control de origen | ⚠️ Cualquiera puede combinar con la rama principal/de producción sin revisión |
| Canalizaciones | Control de acceso | ⚠️ Las oportunidades en curso de implementación se ejecutan con permisos a nivel de administrador |
| Canalizaciones | Implementación | ⚠️ Implementaciones de producción completamente automatizadas sin puertas de aprobación |
| Oportunidades en curso | Auditoría | ⚠️ Los registros de implementación no capturan quién inició o aprobó los cambios |
| Canalizaciones | Validación | ⚠️ Escaneos de seguridad fallidos ignorados o omitidos para cumplir los plazos |
| Canalizaciones | Monitoreo | ⚠️ Cambios de configuración de oportunidades en curso no supervisados o revisados |
| Canalizaciones | Validación | ⚠️ La validación posterior a la implementación solo comprueba la corrección funcional |
Patrones
| Dónde buscar | Qué aspecto tiene |
|---|---|
| Pruebas | Análisis estático | ✅ Salesforce Code Analyzer se ejecuta en IDE de desarrollador para comentarios inmediatos y en oportunidades en curso de CI/CD como puertas automatizadas |
| Pruebas | Pruebas de penetración | ✅ Pruebas de penetración realizadas para aplicaciones personalizadas expuestas a usuarios no fiables, especialmente sitios de Experience Cloud y API de cara al público |
| Pruebas | Pruebas de unidad | ✅ Pruebas de unidades de Apex centradas en la seguridad se ejecutan como usuarios con diferentes perfiles de permisos |
| Pruebas | Dependencias | ✅ La exploración de dependencias monitorea paquetes de AgentExchange y bibliotecas JavaScript para vulnerabilidades conocidas |
| Pruebas | Revisión de seguridad | ✅ Reporte de análisis estático preparado para cada envío de AppExchange o Revisión de seguridad de AgentExchange |
| Pruebas | Revisión de seguridad | ✅ Reporte de exploración dinámica (prueba de penetración) preparado cuando una solución integra una aplicación o servicio web externo |
| Pruebas | Dependencias | ✅ Advertencias de seguridad para paquetes instalados suscritos y monitoreados |
Antipatrones
| Dónde buscar | Aspecto negativo |
|---|---|
| Pruebas | Cobertura | ⚠️ Las pruebas de seguridad se basan en una única técnica como el análisis estático únicamente |
| Pruebas | Pruebas de unidad | ⚠️ Las pruebas Apex validan el comportamiento funcional pero nunca se ejecutan como usuarios de privilegios inferiores |
| Pruebas | Revisión de seguridad | ⚠️ Envío de AppExchange o AgentExchange preparado sin el análisis estático requerido o reportes de exploración dinámica |
| Pruebas | Pruebas de penetración | ⚠️ Pruebas de penetración omitidas para sitios y API de Experience Cloud de cara al público |
Consulte también:
- Patrones normativos y de cumplimiento: Controles de auditoría y gobernanza de plataforma
- Patrones de gestión de identidad y acceso: autenticación y autorización
- Patrones de respuesta ante incidentes: Detección y respuesta ante eventos de seguridad
- Patrones de agentes: controles de seguridad específicos de agentes