> For the complete documentation index, see [llms.txt](https://docs.stoik.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stoik.io/cyber-best-practices/es/refuerza-tu-entorno/readme/cloud-backup-solutions.md).

# Soluciones de copia de seguridad en la nube

Usa esta página para elegir un enfoque de copia de seguridad en la nube que siga funcionando después del ransomware.

Enfoque: recuperabilidad, retención y protección contra la eliminación de copias de seguridad.

## Google Drive y OneDrive

Los entornos de Google Drive y OneDrive no cuentan con funciones nativas que les permitan restaurar sus datos tras un ataque de ransomware que haya eliminado sus versiones anteriores. Por lo tanto, es necesario considerar ciertas soluciones para realizar copias de seguridad periódicas de sus datos y protegerlos.

Se pueden considerar varias soluciones para lograr este objetivo, cada una con sus ventajas y desventajas.

#### Solución n.º 1: Disco duro

Esta solución consiste en realizar manualmente copias de seguridad de los archivos del entorno de Google Drive o OneDrive en un disco duro externo. Idealmente, una copia de seguridad de un entorno de OneDrive o Google Drive debería realizarse en al menos dos discos duros externos para evitar la pérdida de datos en caso de que uno de los discos duros falle. Aunque esta solución es la más sencilla de implementar, también es la más restrictiva.

#### Solución n.º 2: NAS

Un NAS (Network Attached Storage) es un servidor físico de almacenamiento en red. Esta solución consiste en instalar una aplicación de sincronización en el NAS (es decir, Google Drive Desktop para un entorno de Google Workspace y OneDrive para un entorno de O365) con el fin de sincronizar periódicamente las unidades compartidas (Google Drive) y los sitios de SharePoint (OneDrive), y realizar copias de seguridad en los discos del NAS. También es posible utilizar ciertos tipos de RAID para mejorar la seguridad de los discos o la tolerancia a fallos en el NAS.

#### Solución n.º 3: Espacio de almacenamiento AWS/Azure

Azure (Microsoft) y AWS (Amazon) ofrecen espacios de almacenamiento en la nube asequibles para guardar copias de seguridad. La idea es transferir regularmente todos los datos de los entornos de Google Drive y OneDrive a uno de estos espacios de almacenamiento, ya sea manualmente o automáticamente mediante un script y un equipo suscrito a uno de estos entornos. Existen varias herramientas gratuitas desarrolladas y actualizadas con frecuencia para este fin, en concreto rclone y duplicity, que están diseñadas para permitir este tipo de transferencia.

#### Soluciones de terceros

Se pueden considerar ciertas soluciones de terceros si ninguna de las soluciones anteriores es adecuada. Estas soluciones hacen que las copias de seguridad sean muy fáciles de usar, pero conllevan un coste financiero importante. Este tipo de solución consiste en conceder a un servicio externo acceso a tu entorno de Google Drive y OneDrive para que pueda recuperar datos automáticamente de forma periódica. Estas soluciones también proporcionan funciones de restauración de datos. Algunos ejemplos son Afi, Backupify, Spanning y SpinBackup.

#### Tabla resumen

Analizando todos estos escenarios, es posible definir ciertos criterios y clasificar todas estas soluciones en consecuencia, como se ilustra en la siguiente tabla:

<figure><img src="https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/AFQB08o8mSXDN3Bpn1kA/Capture%20d%E2%80%99%C3%A9cran%202023%2007%2031%20%C3%A0%2017.12.43.png" alt=""><figcaption></figcaption></figure>

## Azure

### Copias de seguridad inmutables de Azure

Las copias de seguridad de Azure pueden ser de dos tipos, Backup Vault o Recovery Services, según tus modelos de datos:

Hay 2 métodos para garantizar la inmutabilidad de estas copias de seguridad:

![datasources$ (1)](https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/PEovkNecoDHCY6IsuCjY/datasources$%20\(1\).png)

{% stepper %}
{% step %}

### Verifica que la función Soft Delete esté habilitada.

De forma predeterminada, Soft Delete está habilitado en las bóvedas de Azure Recovery Services. Esta función protege las copias de seguridad contra la eliminación accidental o maliciosa durante un período de 14 días sin coste adicional. Si se eliminan las copias de seguridad y Soft Delete no está habilitado, ni tú ni Microsoft podréis recuperar los datos eliminados. Es necesario implementar la siguiente protección para evitar el siguiente escenario:

1. Compromiso del inquilino de Azure y de las bóvedas;
2. Desactivación de Soft Delete;
3. Eliminación de las copias de seguridad;
4. Restauración;
5. Eliminación permanente.
   {% endstep %}

{% step %}

### Usa la autorización de varios usuarios (MUA) en la función Soft Delete.

MUA para Azure Backup utiliza un nuevo recurso llamado Resource Guard para garantizar que las operaciones críticas, como deshabilitar Soft Delete, detener y eliminar copias de seguridad, o reducir la retención de las políticas de copia de seguridad, solo se realicen con la autorización adecuada. Para entender el proceso, es necesario comprender 2 roles que deben definirse dentro de la organización de Azure:

1. Administrador de copias de seguridad: propietario del Recovery Services Vault o del Backup Vault que realiza las operaciones de administración y gestión sobre ellos;
2. Administrador de seguridad: propietario de Resource Guard, que actúa como guardián de las operaciones críticas en la bóveda. Por lo tanto, el Administrador de seguridad controla los permisos que el Administrador de copias de seguridad necesita para realizar operaciones críticas en la bóveda.

Para configurar MUA, debes:

* Verifica que Resource Guard y Azure Recovery Services Vault estén en la misma región de Azure;
* Verifica que el Administrador de copias de seguridad no tenga derechos de colaborador en Resource Guard. Puedes tener Resource Guard en otra suscripción del mismo inquilino o en otro inquilino;
* Sigue el [procedimiento oficial de Azure](https://learn.microsoft.com/en-us/azure/backup/multi-user-authorization?pivots=vaults-recovery-services-vault\&tabs=azure-portal).
  {% endstep %}
  {% endstepper %}

### Protegiendo tus operaciones críticas de Azure

La configuración de bóvedas inmutables permite las siguientes protecciones:

* Recovery Services: protege los datos contra la eliminación; impide la modificación o eliminación de la política de copia de seguridad para reducir la duración de la retención de datos.
* Backup Vaults: protege los datos contra la eliminación

{% stepper %}
{% step %}

### Inicia sesión en tu portal de Azure y busca Recovery Services Vaults, Backup Vaults o la bóveda que deseas proteger:

<figure><img src="https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/MWFclK9kP2Q2lFMd9X1E/azure_backups.png" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Haz clic en la pestaña Properties para habilitar la bóveda inmutable y bloquear la bóveda durante la duración de la política de copia de seguridad

<figure><img src="https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/ZzHlMwCmtaLqnBQ7DzPL/properties.png" alt=""><figcaption></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/WWwVFlLK3PmK0E3CKwzM/lock.png" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Nota: este paso no se puede deshacer, úsalo con precaución para datos sensibles.
{% endhint %}
{% endstep %}

{% step %}

### Repite esta operación para las demás bóvedas necesarias para la continuidad del negocio.

{% endstep %}
{% endstepper %}

## AWS

### Solución degradada (sin derechos de SCP)

Nota: el primer paso debe repetirse para cada bucket de S3 que contenga datos sensibles o técnicos que puedan ser necesarios para producción.

{% stepper %}
{% step %}

### Crea una política de bucket de S3 que impida la eliminación de las versiones del bucket de S3.

1. En la [consola de Amazon S3](https://console.aws.amazon.com/s3/), abre el bucket y luego **Permisos**.

   <figure><img src="https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/zlasvnF6jetCEWMsM9HU/s3_bucket.png" alt=""><figcaption></figcaption></figure>
2. En **Política del bucket**, haz clic en **Editar**.
3. Reemplaza la política de bucket existente (si la hay) con el JSON siguiente.

```json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyVersionDeletion",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:DeleteObject*",
            "Resource": "arn:aws:s3:::my-bucket-name/*"
        }
    ]
}
```

{% hint style="info" %}
Reemplaza `my-bucket-name` con el nombre de tu bucket.
{% endhint %}
{% endstep %}

{% step %}

### Crea un mecanismo de alerta para detectar cualquier modificación o eliminación de este bucket.

1. Habilita [AWS CloudTrail](https://console.aws.amazon.com/cloudtrail/) si aún no está habilitado.
2. Abre la [consola de Amazon EventBridge](https://console.aws.amazon.com/events/) (CloudWatch Events) y luego ve a **Reglas**.

   <figure><img src="https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/hR7U3QBTJbuKd6BesVXp/eventwatch.png" alt=""><figcaption></figcaption></figure>
3. Haz clic en **Crear regla**. Selecciona **AWS API Call via CloudTrail** como tipo de evento.

   <figure><img src="https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/omj9E39h9kDkX8gX6nzU/event.png" alt=""><figcaption></figcaption></figure>
4. Elige **Operaciones específicas** y añade:
   1. PutBucketPolicy
   2. DeleteBucketPolicy
   3. DeleteBucketLifecycle
   4. DeleteBucketPublicAccessBlock
   5. PutBucketPublicAccessBlock
   6. DeleteBucket como las operaciones para las que queremos recibir alertas.
5. Usa el siguiente patrón de evento:

```json
{
  "source": ["aws.s3"],
  "detail-type": ["AWS API Call via CloudTrail"],
  "detail": {
    "eventSource": ["s3.amazonaws.com"],
    "eventName": ["DeleteBucket", "DeleteBucketLifecycle", "DeleteBucketPolicy", "PutBucketPolicy", "DeleteBucketPublicAccessBlock", "PutBucketPublicAccessBlock"],
    "requestParameters": {
      "bucketName": ["my-bucket-name"]
    }
  }
}
```

{% hint style="info" %}
Reemplaza `my-bucket-name` con el bucket que deseas proteger.
{% endhint %}
{% endstep %}
{% endstepper %}

6. Configura el destino de la alerta (por ejemplo, un tema SNS para notificaciones o una función Lambda).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.stoik.io/cyber-best-practices/es/refuerza-tu-entorno/readme/cloud-backup-solutions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
