> 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/immutable-s3-backups.md).

# Copias de seguridad S3 inmutables

Puede usar S3 Object Lock para

1. **Almacenar objetos mediante un modelo WORM** (Write-Once-Read-Many). El bloqueo de objetos puede ayudar a evitar que los objetos se eliminen o se sobrescriban durante un período de tiempo especificado o de forma indefinida.
2. **Cumplir con los requisitos normativos** que exigen almacenamiento WORM, o para añadir una capa adicional de protección contra cambios y eliminación de copias de seguridad.

Permisos de AWS necesarios para realizar la operación:

* `s3:PutObjectLockConfiguration`
* `s3:PutBucketVersioning`

### Habilitar la característica Object Lock

* Object Lock solo se puede habilitar para buckets de S3 nuevos. Para habilitar Object Lock en un bucket existente, debe ponerse en contacto con AWS Support para obtener un presupuesto.
* Cuando crea un bucket con Object Lock habilitado, Amazon S3 habilita automáticamente el versionado para el bucket.
* Si crea un bucket con Object Lock habilitado, no puede deshabilitar Object Lock ni suspender el versionado del bucket.

{% stepper %}
{% step %}

### El bucket de S3 no existe

Cuando esté en el [bucket de S3](https://s3.console.aws.amazon.com/s3/bucket/create) centro de administración, haga clic en Configuración avanzada y, a continuación, seleccione Habilitar:

![](/files/373be73274ed1d379d52457b5880639c66be0775)

Después, configure el resto de su bucket. Luego tendrá dos opciones para configurar Object Lock:

1. **modo de gobernanza**: Los objetos del bucket no se pueden eliminar sin privilegios elevados y el permiso de AWS s3:BypassGovernanceRetention.
2. **Modo de cumplimiento**: Este modo proporciona el nivel más alto de inmutabilidad disponible. Es imposible eliminar buckets configurados en este modo, incluso con privilegios de la cuenta raíz de AWS.

Le recomendamos que configure sus copias de seguridad esenciales usando **Modo de cumplimiento**.

![](/files/7d9bf810a00f6323397af5b788213b6a8ccd1590)

Por último, elija el período de retención de sus objetos configurándolo según su política de copias de seguridad.

Fuentes:

* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html>
* <https://aws.amazon.com/fr/blogs/storage/how-to-manage-retention-periods-in-bulk-using-amazon-s3-batch-operations/>
  {% endstep %}

{% step %}

### El bucket de S3 existe

Ha contactado con AWS Support y copiar objetos desde su bucket existente al bucket con Object Lock habilitado es demasiado costoso.

Le recomendamos que configure sus futuras copias de seguridad usando el paso 1 de esta guía y aplique las siguientes medidas de seguridad a sus copias de seguridad anteriores:

Una vez que haya habilitado la eliminación con MFA, solo el ***usuario raíz*** puede eliminar permanentemente objetos de S3 o cambiar la configuración de versionado en su bucket de S3. El usuario raíz debe autenticarse mediante un dispositivo MFA para realizar esta acción.

**Para habilitar la eliminación con MFA para su bucket, siga estos pasos:**

* [Genere una clave de acceso y una clave secreta](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user_manage_add-key.html) para el usuario raíz.
* [Configure un dispositivo MFA para el usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-root) (si aún no lo ha hecho).
* Configure la AWS Command Line Interface (AWS CLI) con las credenciales del usuario raíz.
* Use la *PutBucketVersioning* API para habilitar la función de eliminación con MFA:

```bash
aws s3api put-bucket-versioning --bucket mybucketname --versioning-configuration MFADelete=Enabled,Status=Enabled --mfa "arn:aws:iam::(accountnumber):mfa/root-account-mfa-device (pass)"
```

* Luego verifique que la configuración se haya realizado correctamente:
* Compruebe la consola de Amazon S3 para asegurarse de que el versionado esté habilitado para el bucket.
* Verifique que la eliminación con MFA esté habilitada, usando la *GetBucketVersioning* API:

```bash
aws s3api get-bucket-versioning --bucket mybucketname
{
  "Status": "Enabled",
  "MFADelete": "Enabled"
}
```

**Si el resultado del objeto JSON MFADelete es Enabled, la configuración se ha completado correctamente.**
{% endstep %}
{% endstepper %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.stoik.io/cyber-best-practices/es/refuerza-tu-entorno/readme/immutable-s3-backups.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
