
Manual FortiProxy
25 marzo, 2022
Manual FortiSASE
29 marzo, 2022
FortiCWP


Documento Descriptivo
(Release 21.3.0)
ÍNDICE DEL CONTENIDO
1.1 Desafíos creados por la Nube Pública. 6
1.2 Nubes Públicas soportadas. 7
2 FortiCWP: Cloud Workload Protection.. 8
2.1 Visibilidad centralizada sobre las Nubes Públicas. 8
2.1.3 Recursos desplegados: 10
2.1.3.4 ‘Attack Surface View’ 16
2.1.4 Documentos almacenados: 17
2.1.5 Monitorización y Trazabilidad de actividades realizadas por los usuarios: 18
2.2.4 Políticas customizadas para el análisis de riesgo. 23
2.2.5 Políticas de seguridad de red. 23
2.3 Detección y Respuesta frente amenazas en los datos alojados en la Nube Pública. 24
2.3.1 Ransomware y Malware. 24
2.3.2 Análisis de los Flujos de Tráfico. 25
2.4 DLP (Data Leak Prevention). 26
2.4.1 Políticas predefinidas para DLP. 26
2.4.2 Políticas customizadas de DLP. 27
2.4.2.1 La definición de un patrón de Datos. 27
2.4.2.2 Definición de una política customizada de DLP. 27
2.5 Compliance de Best Practices de Seguridad en la Nube Pública. 28
2.5.1 Políticas de Compliance SOX-COBIT: 28
2.5.2 Políticas de Compliance PCI-DSS: 28
2.5.3 Políticas de Compliance HIPAA: 29
2.5.4 Políticas de Compliance GDPR: 29
2.5.5 Políticas de Compliance NIST SP 800-53 rev4 : 30
2.5.6 Políticas de Compliance NIST SP 800-171: 32
2.5.7 Políticas de Compliance ISO 27001: 33
2.7 Licenciamiento (módulo Workload Protection): 37
2.7.1 Número de hosts/instancias: 37
2.7.2 Volumen de datos a securizar: 37
3 FortiCWP: Cloud Container Protection.. 38
3.1 Visibilidad Centralizada sobre los entornos de Contenedores de las Nubes Públicas. 38
3.1.1 Cloud Container Protection Dashboard. 38
3.1.2 Container Visibility. 39
3.2 Análisis del Riesgo y Vulnerabilidades en los Registros/Repositorios de Contenedores. 43
3.3 Automatización de la Seguridad e Integración con herramientas de CI/CD (Jenkins). 45
3.5 Compatibilidad: Amplia Integración con las Principales Plataformas de Microservicios. 46
3.6 Licenciamiento (módulo Container Protection): 47
3.6.1 Número de container hosts/work nodes: 47
3.6.2 Volumen de datos a securizar: 47
ÍNDICE DE LAS FIGURAS
Figura 1 Nubes Públicas soportadas. 7
Figura 2 FortiCWP: Acceso a los módulos ‘Workload Protection’/’Container Protection’ 7
Figura 3 FortiCWP Workload Protection: Dashboard (1). 8
Figura 4 FortiCWP Workload Protection: Dashboard (2). 8
Figura 5 FortiCWP Workload Protection: Panel de Alertas (1). 9
Figura 6 FortiCWP Workload Protection: Panel de Alertas (2). 10
Figura 24 FortiCWP Workload Protection: Políticas Predefinidas de Análisis de Riesgo para AWS. 21
Figura 25 FortiCWP Workload Protection: Políticas Predefinidas de Análisis de Riesgo para AZURE.. 22
Figura 27 FortiCWP Workload Protection: Políticas Predefinidas de Seguridad de Red. 23
Figura 30 FortiCWP Workload Protection: Políticas disponibles de ‘Threat Protection’ 24
Figura 31 FortiCWP Workload Protection: Detección de un Fichero Ransomware. 25
Figura 32 FortiCWP Workload Protection: Análisis de los Flujos de Tráfico. 25
Figura 33 FortiCWP Workload Protection: Políticas Predefinidas para combatir la Fuga de Datos. 26
Figura 36 FortiCWP Workload Protection: Definición de una política customizada de DLP. 27
Figura 37 FortiCWP Workload Protection: Políticas de Compliance SOX-COBIT.. 28
Figura 38 FortiCWP Workload Protection: Políticas de Compliance PCI-DSS. 28
Figura 39 FortiCWP Workload Protection: Políticas de Compliance HIPAA.. 29
Figura 40 FortiCWP Workload Protection: Políticas de Compliance GDPR.. 29
Figura 41 FortiCWP Workload Protection: Políticas de Compliance NIST SP 800-53 rev4 (1). 30
Figura 42 FortiCWP Workload Protection: Políticas de Compliance NIST SP 800-53 rev4 (2). 30
Figura 43 FortiCWP Workload Protection: Políticas de Compliance NIST SP 800-53 rev4 (3). 31
Figura 44 FortiCWP Workload Protection: Políticas de Compliance NIST SP 800-171 (1). 32
Figura 45 FortiCWP Workload Protection: Políticas de Compliance NIST SP 800-171 (2). 32
Figura 46 FortiCWP Workload Protection: Políticas de Compliance ISO 27001. 33
Figura 47 FortiCWP Workload Protection: Ejemplo de informe C-Level (Overview). 34
Figura 48 FortiCWP Workload Protection: Ejemplo de informe C-Level (Alertas). 34
Figura 49 FortiCWP Workload Protection: Ejemplo de informe C-Level (Recursos). 35
Figura 50 FortiCWP Workload Protection: Ejemplo de informe C-Level (Almacenamiento). 35
Figura 51 FortiCWP Workload Protection: Ejemplo de informe C-Level (Top Charts). 35
Figura 52 FortiCWP Workload Protection: Ejemplo de informe C-Level (Countries). 36
Figura 53 FortiCWP Workload Protection: Ejemplo parcial de informe de compliance GDPR.. 36
Figura 54 FortiCWP Cloud Container Protection: Dashboard. 38
Figura 55 FortiCWP Container Protection – Container Visibility. 39
Figura 56 FortiCWP Container Protection – Container Visibility (flujos de tráfico). 39
Figura 57 FortiCWP Container Protection – Container Visibility (Información detallada del Pod). 40
Figura 63 FortiCWP Container Protection – Análisis del Riesgo y Vulnerabilidades en una imagen.. 44
Figura 65 FortiCWP Container Protection – Política de integración con entorno de CI/CD (Jenkins). 45
1 Introducción
1.1 Desafíos creados por la Nube Pública
A medida que las organizaciones incrementan la cantidad de datos almacenados en la Nube Pública, se incrementa también su exposición al riesgo de errores en la configuración del almacenamiento, a la fuga de información y a las amenazas derivadas del malware.
Las organizaciones cada vez más frecuentemente también transforman áreas claves de su negocio desarrollando nuevos productos y servicios mediante la adopción de tecnologías basadas en contenedores (arquitecturas en micro servicios). A su vez, estas tecnologías suponen una nueva superficie de ataque y por tanto otro tipo de potencial riesgo a mitigar.
Nuevos marcos legales como el General Data Protection Regulation (GDPR) de la Unión Europea o la evolución de marcos ya existentes como el Payment Card Industry Data Security Standard (PCI DSS) sobre la identificación de información personal (‘PII’: Personal Identifiable Information), dificultan el uso de la Nube Pública para ciertos datos y aplicaciones.
Las Nubes Públicas ofrecen soluciones de seguridad que típicamente hacen frente únicamente a riesgos específicos, pero difícilmente ofrecen una estrategia de securización unificada, donde haya una coordinación entre las distintas soluciones de seguridad de manera que se ofrezca una protección holística y eficiente que minimice las brechas de seguridad.
Una estrategia de seguridad unificada para las Nubes Públicas debe cubrir los siguientes rentos:
- Visibilidad completa y en tiempo teal de ficheros de múltiples Nubes Públicas
- Identificar errores de configuración en el almacenamiento. La mayoría de las brechas de la Nube Pública son resultado de errores de configuración, como por ejemplo, la publicación no controlada de información de nóminas, tarjetas de crédito, información médica o de patentes, al ser almacenados en entornos que por defecto no estan restringidos
- Protección frente a fugas de información. Es importante que las organizaciones puedan, de manera centralizada, monitorizar y generar informes relacionados con las fugas de información de las distintas Nubes Públicas
- Detectar y mitigar malware de la Nube Pública. La posibilidad de almacenar cualquier fichero de manera no supervisada en la Nube, magnifica el riesgo y supone una amenaza seria
1.2 Nubes Públicas soportadas
Actualmente, FortiCWP se integra mediante APIs con AWS, AZURE y GOOGLE CLOUD.

1.3 Arquitectura
FortiCWP es una solución SaaS alojada en la Nube privada de Fortinet (FortiCloud), cuyo enlace de acceso es:
La solución está compuesta por los siguientes dos módulos:
- El módulo ‘Workload Protection’: Ofrece los servicios de Visibilidad, Securización y Best Practices para entornos IaaS
- El módulo ‘Container Protection’: Ofrece los servicios de Visibilidad, Securización y Best Practices para entornos con tecnología de contenedores
…y ambos módulos se licencian por separado.
Una vez accedido a FortiCWP, por defecto se muestra el dashboard del módulo ‘Workload Protection’, y para acceder al módulo de ‘Container Protection’ se requiere:

(el acceso por defecto al dashboard del módulo ‘Workload Protection’ o al de ‘Container Protection’ es configurable mediante la opción ‘Set as Default Landing Page’ mostrada en la captura de imagen anterior).
2 FortiCWP: Cloud Workload Protection
2.1 Visibilidad centralizada sobre las Nubes Públicas
FortiCWP presenta de forma centralizada desde un mismo portal, la siguiente información relacionada con despliegues IaaS en AWS, AZURE y GOOGLE CLOUD.
2.1.1 Dashboard
Dispone de un ‘Dashboard’ que muestra la siguiente información:


1: Categorización por Riesgo de los despliegues realizados en las principales Nubes Públicas
2: Número de instancias desplegadas en cada Nube Pública clasificas por nivel de riesgo
3: Listado y clasificación de lo tipos de riesgo detectados en las distintas instancias desplegadas en cada Nube Pública
4: Análisis de la evaluación del riesgo en el almacenamiento según los distintos tipos de permisos asociados
5: Resumen de la cantidad de Malware detectado
6: Resumen del total de ficheros que infringen alguna de las políticas de ‘Data Analysis’
7: Resumen del total de alertas abiertas clasificadas por severidad
8: Tendencia del riesgo evaluado desde diversas perspectivas
9: Listado de los distintos tipos de recursos monitorizados y clasificación según su riesgo detectado
10: Listado de las políticas de seguridad más utilizadas
2.1.2 Alertas:
La solución permite generar alertas customizadas según se determine en las políticas de seguridad, y dispone de un menú que permite su visualización en base a:

1: Tipo de cuenta configurada de AWS, AZURE o GOOGLE CLOUD donde se haya generado la alerta
2: Tipo de estado de alerta (‘Dismiss’, ‘Open’, ‘Acknowledge’ o ‘Resolved’)
3: El orígen de la alerta (‘Risk Assessment’, ‘Integration’, ‘Data Analysis’, ‘Network’, ‘Compliance’ & ‘Threat Protection’)
4: El periodo temporal en el que se haya generado la alerta
5: El tipo de severidad (‘Critical’, ‘Alert’, ‘Warning’, ‘Information’ & ‘Pass’) de la alerta
6: El tipo de actividad que haya generado la alerta
7: El tipo de política que haya generado la alerta
8: El origen geográfico (país) donde se haya generado la alerta
9: El nombre del objeto que haya generado la alerta
10: El ID del objeto que haya generado la alerta
Además, para cada alerta, se muestra también:

11: El tipo de riesgo que se ha clasificado
12: Su estado de alerta y se permite su modificación según convenga
2.1.3 Recursos desplegados:
FortiCWP agrupa todos los recursos de la Núbe Pública y los permite analizar desde las siguientes vistas:
2.1.3.1 ‘Table View’:
Listado de todos los recursos mostrando:
- La cuenta de Nube Pública al que pertenecen
- Su nombre
- Su ID
- La región o proyecto al que pertenecen
- El tipo de recurso que son
- Cómo se clasifican a nivel de riesgo
- Aspectos que FortiCWP determina relevantes
- La posibilidad de visualizar el recurso gráficamente dentro de su correspondiente cuenta de Nube Pública (salto a la vista ‘Map View’ específica del recurso)

Donde a nivel de cada recurso, se detalla también información relevante como se puede observar a continuación:






El entorno permite también la búsqueda de recursos en base a los siguientes parámetros:

1: Tipo de cuenta de Nube Pública al que pertenece un recurso
2: Región geográfica donde se ha desplegado el recurso
3: Proyecto al que pertenece el recursos (filtro específico para recursos de GOOGLE CLOUD)
4: Si el recurso ya ha sido eliminado o no
5: Búsqueda por el nombre o el ID del recurso
6: Búsqueda por tipo de recurso
7: Búsqueda por tipo de etiqueta (‘tag’) asignada al recurso
8: Búsqueda por el valor de la etiqueta (‘tag’) asignada al recurso
9: Búsqueda por parámetros clasificados automáticamente por FortiCWP
2.1.3.2 ‘Map View’:
Esta vista presenta los distintos recursos de cada Nube Pública de manera visual y organizados jerárquicamente:


2.1.3.3 ‘Asset View’:
Esta vista permite organizar la información presentada de dos maneras: ‘por recurso’ y ‘por CVE’:
2.1.3.3.1 ‘Asset View’->’By Resource’:
Muestra información relativa al tipo de sistema operativo y versión, vulnerabilidades afectadas y se puntúa a los recursos con un factor de riesgo determinado:


2.1.3.3.2 ‘Asset View’->’By CVE’:
Lista los CVE detectados y muestra aquellos recursos afectados por cada CVE:

2.1.3.4 ‘Attack Surface View’
Esta vista es muy parecida a la anterior (‘Asset View’), pero únicamente se ofrece sobre recursos en AWS debido a que la información la proporciona el propio AWS.

2.1.4 Documentos almacenados:
En este menú se muestran todos los ficheros que FortiCWP está monitorizando. Se permite la búsqueda de documentos filtrando por cuenta de Nube Pública (AWS, AZURE, GOOGLE CLOUD), nombre de fichero, tipo de fichero (‘.txt’, ‘doc’, ‘.docx’, ‘.xls’, ‘pdf’) o incluso por contenedor (‘S3 Bucket’ de AWS, ‘Blob Container’ de AZURE, ‘Bucket’ de GOOGLE CLOUD):

Los documentos se pueden clasificar automáticamente de 3 maneras distintas:
- ‘Malware’: Ficheros que han disparado la política DLP de Anti-Virus
- ‘Sensitive’: Ficheros que han violado cualquiera de la políticas de ‘Data Analysis’
- ‘Clean Data’: Ficheros que no han violado ninguna de las políticas definidas en FortiCWP
2.1.5 Monitorización y Trazabilidad de actividades realizadas por los usuarios:
Este menú dispone de un mapa que permite mostrar la geolocalización de eventos:

Los eventos pueden ser de los siguientes tipos:

Una actividad puede generar que distintas políticas se activen y generen a su vez distintas alertas.
2.2 Asistente para maximizar la protección de los datos y la infraestructura desplegados en la Nube Pública
FortiCWP proporciona de forma predefinida un conjunto de políticas de seguridad destinadas a minimizar el riesgo de los datos alojados en la Nube Pública.
Para cada Nube Pública existen unas políticas de seguridad específicas para el análisis de riesgo, y a continuación se listan las disponibles en cada caso:
2.2.1 Políticas predefinidas para el análisis de riesgo en entornos de AWS (un total de 140 políticas):
Access keys should be disabled for the root account | CloudFront access logging should be enabled |
Access keys should be rotated every 90 days | Https-only traffic between CloudFront and viewers should be enforced |
Password requirements should be enforced | CloudFormation template should not have publicly accessible resources |
MFA(Multi-factor Authentication) should be enabled on Root account | CloudFormation stack should be integrated with SNS |
MFA(Multi-factor authentication) should be enabled for IAM users | Non-Web Ports should not be publicly accessible |
Inactive IAM user over 90 days should be removed or disabled | ACM Certificates with HeartBleed vulnerability need to be updated |
IAM user should not have both console access and access keys | ElasticSearch should not have open access policy |
IAM user should not have more than one access key | ElasticSearch domain should be put inside of VPC |
KMS key rotation should be enabled | Non-Root users should be created |
ACM Certificate should be updated before it expires | At least one IAM user should be assigned an access key |
CloudTrail bucket should not be publicly accessible | Administrator privilege should not be assigned to too many users |
CloudTrail should be enabled across all regions | Administrator privilege should not be assigned to too few users |
CloudTrail log validation should be enabled | S3-Delete permission should not be assigned to too many users |
CloudTrail logs should be encrypted using Customer Master Keys | IAM User should not have policy directly assigned |
CloudTrail logs should be integrated with CloudWatch for all regions | Unused access keys should be deleted |
CloudTrail shouldn’t stop logging | Custom IAM policy should not be granted too many privileges |
S3 buckets should have access logging enabled | IAM support role or group should be created |
CloudTrail buckets should have access logging enabled | IAM Master and IAM Manager roles should be active |
S3 buckets should not be publicly available | KMS key should not be scheduled for deletion |
EFS should restrict internet traffic | Lambda functions should be encrypted with CMK |
EFS should be encrypted | Route 53 should be used |
Only trusted AWS accounts should have access to Glacier | RDS Retention Policies should meet best-practice of 7 days or more |
RDS instances should be encrypted with customer managed keys | RDS latest restorable time should not exceed 5 minutes |
RDS instances should not be publicly accessible | RDS event notification subscription should be enabled on each instance |
RDS Security Group should not contain private IP addresses | Redshift clusters should not be publicly accessible |
RDS Security Group should not have large subnet | Redshift clusters should be encrypted with customer managed keys |
RDS Security Group should not have zero subnet | SQS Server-Side Encryption should be enabled |
RDS Security Group should restrict traffic | SQS dead-letter queue should be created |
RDS Security Group should not have 10.0.0.0/8 | S3 Object Versioning should be enabled |
Redshift database should use SSL for connections | S3 buckets should have Server-Side Encryption enabled |
Redshift database should enable audit logs | EC2 instances should be deployed within VPCs |
Redshift instances should be encrypted | Default NACL should not be used for VPC subnet |
Security Groups should block public traffic through RDP port (3389) | Security groups applied on ELBs should restrict ingress traffic |
Security Groups should block public traffic through SSH port (22) | Customized VPC NACL should be created |
Security groups should not allow all internet traffic without restriction | The number of VPCs per region cannot exceed 5 by default |
Default Security Group should block all inbound traffic | The number of Elastic IP addresses per region for EC2-VPC cannot exceed 5 by default |
VPC Flow Logs should be enabled | The number of Elastic IP addresses per region for EC2-Classic cannot exceed 5 by default |
VPC Flow log should be active | The number of customer gateways per region cannot exceed 50 by default |
ELB/ALB Logging should be enabled | The number of VPN connections per region cannot exceed 50 by default |
ELB/ALB SSL Listener should use the latest reference policy | The number of security groups per VPC cannot exceed 500 by default |
ELB/ALB should not have internet-facing scheme or contains ingress issues | Unauthorized VPC peering connection should be prevented |
ELB/ALB deletion protection should be enabled | The number of private gateways per region cannot exceed 5 by default |
EBS volumes should be encrypted | AMI should not be public |
EBS snapshots should not be publicly accessible | The number of EC2 instances per region should not exceed the service limit |
Only trusted AWS accounts should have access to EBS snapshots | IAM groups and roles not in use should be deleted |
Only trusted AWS accounts should have access to SQS | RDS instances should be encrypted |
SES identities should be verified | EC2 Instances should block public traffic through RDP port (3389) |
EBS volumes should be encrypted with customer managed keys | EC2 Instances should block public traffic through SSH port (22) |
Unattached EBS volumes need further actions | EC2 Instances should not allow global permission to access Telnet port (23) |
EBS volumes should have recent snapshots | EC2 Instances should not allow global permission to access RPC port (135) |
Security Groups should not allow global permission to access Telnet port (23) | EC2 Instances should not allow global permission to access SMB port (445) |
Security Groups should not allow global permission to access RPC port (135) | EC2 Instances should not allow global permission to access MySQL port (3306) |
Security Groups should not allow global permission to access SMB port (445) | EC2 Instances should not allow global permission to access MySQL port (4333) |
Security Groups should not allow global permission to access MySQL port (3306) | EC2 Instances should not allow global permission to access PostgreSQL port (5432) |
Security Groups should not allow global permission to access MySQL port (4333) | EC2 Instances should not allow global permission to access SQL Server port (1433) |
Security Groups should not allow global permission to access PostgreSQL port (5432) | EC2 Instances should not allow global permission to access SQL Server port (1434) |
Security Groups should not allow global permission to access SQL Server port (1433) | EC2 Instances should not allow global permission to access VNC port (5500) |
Security Groups should not allow global permission to access SQL Server port (1434) | EC2 Instances should not allow global permission to access VNC port (5900) |
Security Groups should not allow global permission to access VNC port (5500) | EC2 Instances should not allow global permission to access NetBIOS port (137) |
Security Groups should not allow global permission to access VNC port (5900) | EC2 Instances should not allow global permission to access NetBIOS port (138) |
Security Groups should not allow global permission to access NetBIOS port (137) | EC2 Instances should not allow global permission to access CIFS port (445) |
Security Groups should not allow global permission to access NetBIOS port (138) | EC2 Instances should not allow global permission to access FTP port (21) |
Security Groups should not allow global permission to access CIFS port (445) | EC2 Instances should not allow global permission to access FTP-Data port (20) |
Security Groups should not allow global permission to access FTP port (21) | EC2 Instances should not allow global permission to access SMTP port (25) |
Security Groups should not allow global permission to access FTP-Data port (20) | EC2 Instances should not allow global permission to access ICMP |
Security Groups should not allow global permission to access SMTP port (25) | EC2 Instances should not allow global permission to access DNS port (53) |
Security Groups should not allow global permission to access ICMP | EC2 Instances should not allow all internet traffic without restriction (Only apply to inbound traffic) |
Security Groups should not allow global permission to access DNS port (53) | EC2 Instances should not allow Non-Web Ports to be publicly accessible |
Https-only traffic between CloudFront distribution and the origin should be enforced | S3 buckets should not be publicly editable |
CloudFront should use secure ciphers for distribution | Abnormal EC2 Creation Alarm |
2.2.2 Políticas predefinidas para el análisis de riesgo en entornos de AZURE (un total de 66 políticas):
Config – SQLDB data transaction encryption should be enabled | Security Configurations for virtual machines should be enabled |
Config – SQLDB TDP detect all type threat | Endpoint protection recommendations for virtual machines should be enabled |
Config – SQLDB audit retention days | Disk encryption recommendations for virtual machines should be enabled |
Config – SQLDB traffic should be restricted | Network security groups recommendations for virtual machines should be enabled |
Network Security Groups should block public traffic through SSH port (22) | Storage Encryption should be enabled |
Network Security Groups should block public traffic through RDP port (3389) | JIT Network Access for virtual machines should be enabled |
Network Security Groups should block public traffic through Telnet port (23) | The adaptive application controls should be enabled |
Network Security Groups should block public traffic through VNC port (5500) | Security contact email address should not be empty |
Network Security Groups should block public traffic through VNC port (5900) | Security alerts emailing to security contact should be enabled |
Network Security Groups should block public traffic through SMB port (445) | Security alerts emailing to owners should be enabled |
Network Security Groups should block public traffic through RPC port (135) | Config – SQLDB TDP should be enabled |
Network Security Groups should block public traffic through DNS port (53) | Config – SQLDB Auditing should be enabled |
Network Security Groups should block public traffic through FTP port (20) | Azure virtual machines should block public traffic through RDP port (3389) |
Network Security Groups should block public traffic through FTP port (21) | Azure virtual machines should block public traffic through SSH port (22) |
Network Security Groups should block public traffic through MySQL port (4333) | Azure virtual machines should not allow global permission to access RPC port (135) |
Network Security Groups should block public traffic through CIFS UDP port (445) | Azure virtual machines should not allow global permission to access SMB port (445) |
Network Security Groups should block public traffic through MySQL port (3306) | Azure virtual machines should not allow global permission to access MySQL port (3306) |
Network Security Groups should block public traffic through NetBIOS UDP port (137) | Azure virtual machines should not allow global permission to access MySQL port (4333) |
Network Security Groups should block public traffic through NetBIOS UDP port (138) | Azure virtual machines should not allow global permission to access PostgreSQL port (5432) |
Network Security Groups should block public traffic through PostgreSQL port (5432) | Azure virtual machines should not allow global permission to access SQL Server port (1433) |
Network Security Groups should block public traffic through SQL Server port (1433) | Azure virtual machines should not allow global permission to access SQL Server port (1434) |
Network Security Groups should block public traffic through SMTP port (25) | Azure virtual machines should not allow global permission to access VNC port (5500) |
Network Security Groups should enable the flow logs | Azure virtual machines should not allow global permission to access VNC port (5900) |
The flow logs retention day | Azure virtual machines should not allow global permission to access NetBIOS port (137) |
Network Security Groups should not allow global permission to access SQL Server port (1434) | Azure virtual machines should not allow global permission to access NetBIOS port (138) |
Network watchers should be enabled | Azure virtual machines should not allow global permission to access CIFS port (445) |
VM disk should be encrypted | Azure virtual machines should not allow global permission to access FTP port (21) |
Storage account transit encryption should be enabled | Azure virtual machines should not allow global permission to access FTP-Data port (20) |
Storage account should be encrypted | Azure virtual machines should not allow global permission to access SMTP port (25) |
Storage accounts containers should be private | Azure virtual machines should not allow global permission to access ICMP |
Redis connect access should via SSL | Azure virtual machines should not allow global permission to access DNS port (53) |
Automatic provisioning of monitoring agent should be enabled | Azure virtual machines should not allow all internet traffic without restriction (Only apply to inbound traffic) |
System updates recommendations for virtual machines should be enabled | Azure virtual machines should not allow Non-Web Ports to be publicly accessible |
2.2.3 Políticas predefinidas para el análisis de riesgo en entornos de GOOGLE CLOUD (un total de 52 políticas):
Cloud KMS key rotation should be enabled | Cloud SQL DB Instance backup configuration should be enabled |
App Engine SSL Certificates should be updated before it expires | Cloud SQL DB instance should have Label |
Compute Engine Load balancer should not have internet-facing scheme or contains ingress issues | Compute Engine VM Instances should have Custom metadata information |
Firewall rules should block public traffic through RDP port (3389) | Compute Engine VM Instances should have Label information |
Firewall rules should not allow all internet traffic without restriction | Compute engine instance should block public traffic through RDP port (3389) |
Firewall rules should block public traffic through SSH port (22) | Compute engine instance should block public traffic through SSH port (22) |
Cloud Storage buckets should not be publicly available | Compute engine instance should block public traffic through Telnet port (23) |
Only trusted Google Cloud accounts should have access to Storage Nearline | Compute engine instance should block public traffic through RPC port (135) |
Firewall rules should restrict ZFS internet traffic | Compute engine instance should block public traffic through SMB port (445) |
Authorized networks of Cloud SQL DB instances should restrict traffic | Compute engine instance should block public traffic through MySQL port (3306) |
Authorized networks of Cloud SQL DB instances should not have zero subnet | Compute engine instance should block public traffic through MySQL port (4333) |
Authorized networks of Cloud SQL DB instances should not have large subnet | Compute engine instance should block public traffic through PostgreSQL port (5432) |
Firewall rules should not have any rules (except http and https) | Compute engine instance should block public traffic through SQL Server port (1433) |
Firewall rules should not allow global permission to access DNS port (53) | Compute engine instance should block public traffic through SQL Server port (1434) |
Firewall rules should not allow global permission to access FTP port (21) | Compute engine instance should block public traffic through VNC port (5500) |
Firewall rules should not allow global permission to access HTTP port (80) | Compute engine instance should block public traffic through VNC port (5900) |
Firewall rules should not allow global permission to access SMB port (445) | Compute engine instance should block public traffic through NetBIOS port (137) |
Firewall rules should not allow global permission to access MongoDB port (27017) | Compute engine instance should block public traffic through NetBIOS port (138) |
Firewall rules should not allow global permission to access MySQL port (3306) | Compute engine instance should block public traffic through CIFS port (445) |
Firewall rules should not allow global permission to access NetBIOS port (139) | Compute engine instance should block public traffic through FTP port (21) |
Firewall rules should not allow global permission to access Oracle DB port (1521) | Compute engine instance should block public traffic through FTP-Data port (20) |
Firewall rules should not allow global permission to access POP3 port (110) | Compute engine instance should block public traffic through SMTP port (25) |
Firewall rules should not allow global permission to access PostgreSQL port (5432) | Compute engine instance should block public traffic through ICMP |
Firewall rules should not allow global permission to access SMTP port (25) | Compute engine instance should block public traffic through DNS port (53) |
Firewall rules should not allow global permission to access Telnet port (23) | Compute engine instance should not allow all internet traffic without restriction (Only apply to inbound traffic) |
Cloud SQL DB Instance backup Binary logs configuration should be enabled | Compute engine instance should not allow Non-Web Ports to be publicly accessible |
2.2.4 Políticas customizadas para el análisis de riesgo
Existe también la posibilidad de definir políticas de análisis de riesgo customizadas, que consisten en la definición de un patrón de código al que se le determina un determinada severidad.
2.2.5 Políticas de seguridad de red
Están también disponibles para todas las Nubes Públicas (de manera predefinida) las siguientes políticas de seguridad de red:

2.3 Detección y Respuesta frente amenazas en los datos alojados en la Nube Pública
2.3.1 Ransomware y Malware
FortiCWP mitiga los riesgos asociados al Ransomware y al malware potencialmente almacenado en la Nube Pública. El servicio automáticamente incluye las firmas de antivirus de FortiGuard para escanear los datos almacenados en la Nube Pública, y permite la integración con FortiSandBox-Cloud para mejorar la protección de los datos de amenazas ‘zero-day’.




2.3.2 Análisis de los Flujos de Tráfico
La solución también realiza un análisis de los flujos de tráfico tanto internos a una misma Nube Pública como de los flujos externos. Se integra también con los Indicadores de Compromiso (IOC) y bases de datos anti-botnet de FortiGuard para detectar instancias comprometidas.

2.4 DLP (Data Leak Prevention)
2.4.1 Políticas predefinidas para DLP
FortiCWP dispone de políticas predefinidas de DLP para ayudar a las organizaciones a mitigar el riesgo de exponer a terceros información sensible no autorizada:


2.4.2 Políticas customizadas de DLP
Existe también la posibilidad de definir políticas de DLP customizadas, que consisten en:
Figura 35 FortiCWP Workload Protection: Definición de un ‘Data Pattern’ para definir políticas customizadas de DLP
2.4.2.2 Definición de una política customizada de DLP
Existe también la posibilidad de definir políticas de DLP customizadas, que consisten en:
2.4.2.1 La definición de un patrón de Datos

2.4.2.2 Definición de una política customizada de DLP
Seleccionando un patrón de Datos definido como el del apartado anterior, y definiendo el nivel de serveridad:

2.5 Compliance de Best Practices de Seguridad en la Nube Pública
La solución incluye las siguientes de políticas de compliance alineadas con los principales estándares (SOX-COBIT, PCI-DSS, HIPAA, GDPR, NIST SP 800-53 rev4, NIST SP 800-171 y ISO 27001).
2.5.1 Políticas de Compliance SOX-COBIT:

2.5.2 Políticas de Compliance PCI-DSS:

2.5.3 Políticas de Compliance HIPAA:

2.5.4 Políticas de Compliance GDPR:

2.5.5 Políticas de Compliance NIST SP 800-53 rev4 :



2.5.6 Políticas de Compliance NIST SP 800-171:


2.5.7 Políticas de Compliance ISO 27001:

2.6 Reporting
2.6.1 C-Level
Este informe ofrece una vista de alto nivel de la situación de las diferentes Nubes Públicas integradas dentro de la plataforma en periodos mensuales, trimestrales o anuales. El formato es muy visual buscando no tanto el detalle sino la visión general del estado de la organización.






2.6.2 Compliance
Los informes de Compliance permiten evaluar el nivel de cumplimiento que el uso de cada una de las aplicaciones está ofreciendo.
Para ello se permite definir la normativa aplicable, la aplicación a analizar y el periodo del análisis obteniendo como resultado completos informes que incluyen tanto un fichero PDF con el resumen de los diferentes hallazgos como ficheros .csv con un detalle de cada uno de estos hallazgos:

2.6.3 Alertas y Actividad
Tanto el informe de alertas como el de actividad permiten llevar a cabo una exportación con las diferentes alertas y toda la actividad generada mensualmente en las distintas Nubes Públicas, recibiendo una exportación basada en un fichero .csv.
2.7 Licenciamiento (módulo Workload Protection):
El módulo Workload Protection se licencia teniendo en cuenta los siguientes dos factores:
2.7.1 Número de hosts/instancias:
Se trata de una modalidad por subscripción, y admite dos tipos de SKUs:
- Subscripción FortiCWP Workload Guardian para 20 hosts: ‘FC-10-FCWPW-315-02-DD’
- Subscripción FortiCWP Workload Guardian para 100 hosts: ‘FC2-10-FCWPW-315-02-DD’
2.7.2 Volumen de datos a securizar:
También es una modalidad por subscripción con dos niveles de servicio:
2.7.2.1 Basic:
- Subscripción FortiCWP Cloud Storage Protection, Basic, para 100GB data: ‘FC-10-FCWPS-316-02-DD’
- Subscripción FortiCWP Cloud Storage Protection, Basic, para 1TB data: ‘FC1-10-FCWPS-316-02-DD’
2.7.2.2 Advanced
Este nivel de servicio añade sobre el ‘Basic’ las capacidades de DLP. Los SKUs son:
- Subscripción FortiCWP Cloud Storage Protection, Advanced, para 100GB data: ‘FC-10-FCWPS-317-02-DD’
- Subscripción FortiCWP Cloud Storage Protection, Advanced, para 1TB data: ‘FC1-10-FCWPS-317-02-DD’
3 FortiCWP: Cloud Container Protection
3.1 Visibilidad Centralizada sobre los entornos de Contenedores de las Nubes Públicas
3.1.1 Cloud Container Protection Dashboard
El módulo de ‘Container Protection’ dispone de un ‘Dashboard’ que muestra la siguiente información:

…donde:
- Muestra un listado de los registros que presentan alguna vulnerabilidad
- Muestra un listado del número de políticas de compliance incumplidas para cada clúster de Kubernetes definido
- Presenta una clasificación de todas las imágenes detectadas en los repositorios según:
- Los tipos de riesgo (‘Critical/High/Medium/Low/Info’)
- El tipo de plataforma de registro donde se encuentran
- El tipo de sistema operativo
- Muestra un listado de los ‘TOP 10’ CVEs detectados en las imágenes de los repositorios
- Presenta un ‘overview’ del estado de las políticas de compliance de los ‘TOP 10’ clúster de Kubernetes que no cumplen en alguna de dichas políticas
3.1.2 Container Visibility
En este menú se muestran los distintos clústeres de Kubernetes analizados por FortiCWP Container Protection, donde para clúster se detalla:
- El número de nodos que forman el cluster
- El estado del Kubernetes Agent
- El número de imágenes registradas y indicadores de su riesgo
- El número de policies del CIS Benchmark que se cumplen

Si se accede al menú ‘View Container Visibility’ de cada clúster, se representan gráficamente los distintos componentes que forman el clúster y sus flujos de tráfico

Es posible ‘clickar’ sobre cualquier pod para obtener información detallada del recurso como:
- Los valores de ‘Replica’
- El tiempo que lleva operativo
- Las etiquetas (‘Labels’) asignadas
- La imagen que está utilizando
- El detalle de los flujos de tráfico tanto entrantes como salientes de pod en cuestión



Y en este caso se muestra claramente la integración de FortiCWP Container Protection con Fortiguard, pues aparecen conexiones externas contra IPs públicas que han sido catalogadas como sospechosas por Fortiguard:


3.2 Análisis del Riesgo y Vulnerabilidades en los Registros/Repositorios de Contenedores
Sobre los registros/repositorios dados de alta en FortiCWP Container Protection, se realizan escaneos periódicos en búsqueda de vulnerabilidades (por defecto cada 12h, aunque el intérvalo es configurable), de manera que en todo momento es posible visualizar el número y tipo de vulnerabilidades detectadas por repositorio. Además, FortiCWP utiliza esta información para determinar cada repositorio con un valor de riesgo estimado:

Es posible determinar las distintas vulnerabilidades detectadas en cada imagen, incluso con su CVE asociado:

…y también es posible listar todas las vulnerabilidades detectadas por FortiCWP Container Protection y ver qué imágenes se han detectado:

3.3 Automatización de la Seguridad e Integración con herramientas de CI/CD (Jenkins)
La solución permite integrarse con Jenkins y definir una política donde las compilaciones de código se bloqueen automáticamente en base a la configuración que se aplique en la política con respecto al número de vulnerabilidades encontradas:

3.4 Simplificación del Compliance de Best Practices de Seguridad en Entornos de Contenedores de la Nube Pública
La solución dispone de una serie de políticas predefinidas de compliance basadas en:
- CIS Kubernetes Benchmark
- CIS Benchmark for EKS
- CIS Benchmark for GKE
Cada una de las distintas políticas permite habilitarse/deshabilitarse individualmente.
Des de el menú ‘FortiView->Compliance’ es posible ver el resultado del ‘CIS Benchmark’ de cada clúster de Kubernetes:

Incluyendo el detalle del resultado por cada clúster de Kubernetes:

3.5 Compatibilidad: Amplia Integración con las Principales Plataformas de Microservicios
FortiCWP Container Guardian tiene soporte con los siguientes entornos:
- Contenedores operando sobre Linux
- Plataformas de orquestración tipo:
- Amazon Elastic Kubernetes Services (EKS)
- Google Kubernetes Engine (GKE)
- Azure Kubernetes Service (AKS)
- Servicios de registro de repositorios tipo:
- Amazon Elastic Container Service (ECS)
- Google Cloud Registry (GCR)
- Azure Container Service (ACR)
- Harbor
- Red Hat Openshift
- Docker Hub
- Entorno de desarrollo CI/CD:
- Jenkins
3.6 Licenciamiento (módulo Container Protection):
El módulo Container Protection se licencia teniendo en cuenta los siguientes dos factores:
3.6.1 Número de container hosts/work nodes:
Se trata de una modalidad por subscripción, y admite el siguiente SKUs:
- Subscripción FortiCWP Container Guardian para 4 hosts: ‘FC-10-FCWPC-327-02-DD’
3.6.2 Volumen de datos a securizar:
Se trata del mismo licenciamiento que para el módulo ‘Workload Protection’. Así pues, es una modalidad por subscripción con dos niveles de servicio:
3.6.2.1 Basic:
- Subscripción FortiCWP Cloud Storage Protection, Basic, para 100GB data: ‘FC-10-FCWPS-316-02-DD’
- Subscripción FortiCWP Cloud Storage Protection, Basic, para 1TB data: ‘FC1-10-FCWPS-316-02-DD’
3.6.2.2 Advanced
Este nivel de servicio añade sobre el ‘Basic’ las capacidades de DLP. Los SKUs son:
- Subscripción FortiCWP Cloud Storage Protection, Advanced, para 100GB data: ‘FC-10-FCWPS-317-02-DD’
- Subscripción FortiCWP Cloud Storage Protection, Advanced, para 1TB data: ‘FC1-10-FCWPS-317-02-DD’