mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-01-16 23:01:43 -08:00
Translated ['src/README.md', 'src/banners/hacktricks-training.md', 'src/
This commit is contained in:
@@ -4,46 +4,45 @@
|
||||
|
||||
## Amazon Redshift
|
||||
|
||||
Redshift is a fully managed service that can scale up to over a petabyte in size, which is used as a **data warehouse for big data solutions**. Using Redshift clusters, you are able to run analytics against your datasets using fast, SQL-based query tools and business intelligence applications to gather greater understanding of vision for your business.
|
||||
Redshift est un service entièrement géré qui peut évoluer jusqu'à plus d'un pétaoctet de taille, utilisé comme un **entrepôt de données pour des solutions de big data**. En utilisant des clusters Redshift, vous pouvez exécuter des analyses sur vos ensembles de données à l'aide d'outils de requête rapides basés sur SQL et d'applications d'intelligence d'affaires pour mieux comprendre la vision de votre entreprise.
|
||||
|
||||
**Redshift offers encryption at rest using a four-tired hierarchy of encryption keys using either KMS or CloudHSM to manage the top tier of keys**. **When encryption is enabled for your cluster, it can't be disable and vice versa**. When you have an unencrypted cluster, it can't be encrypted.
|
||||
**Redshift offre un chiffrement au repos utilisant une hiérarchie de clés de chiffrement à quatre niveaux en utilisant soit KMS soit CloudHSM pour gérer le niveau supérieur des clés**. **Lorsque le chiffrement est activé pour votre cluster, il ne peut pas être désactivé et vice versa**. Lorsque vous avez un cluster non chiffré, il ne peut pas être chiffré.
|
||||
|
||||
Encryption for your cluster can only happen during its creation, and once encrypted, the data, metadata, and any snapshots are also encrypted. The tiering level of encryption keys are as follows, **tier one is the master key, tier two is the cluster encryption key, the CEK, tier three, the database encryption key, the DEK, and finally tier four, the data encryption keys themselves**.
|
||||
Le chiffrement pour votre cluster ne peut se faire qu'au moment de sa création, et une fois chiffré, les données, les métadonnées et toutes les instantanés sont également chiffrés. Les niveaux de hiérarchie des clés de chiffrement sont les suivants : **le niveau un est la clé maître, le niveau deux est la clé de chiffrement du cluster, la CEK, le niveau trois, la clé de chiffrement de la base de données, la DEK, et enfin le niveau quatre, les clés de chiffrement des données elles-mêmes**.
|
||||
|
||||
### KMS
|
||||
|
||||
During the creation of your cluster, you can either select the **default KMS key** for Redshift or select your **own CMK**, which gives you more flexibility over the control of the key, specifically from an auditable perspective.
|
||||
Lors de la création de votre cluster, vous pouvez soit sélectionner la **clé KMS par défaut** pour Redshift soit sélectionner votre **propre CMK**, ce qui vous donne plus de flexibilité sur le contrôle de la clé, spécifiquement d'un point de vue auditable.
|
||||
|
||||
The default KMS key for Redshift is automatically created by Redshift the first time the key option is selected and used, and it is fully managed by AWS.
|
||||
La clé KMS par défaut pour Redshift est automatiquement créée par Redshift la première fois que l'option de clé est sélectionnée et utilisée, et elle est entièrement gérée par AWS.
|
||||
|
||||
This KMS key is then encrypted with the CMK master key, tier one. This encrypted KMS data key is then used as the cluster encryption key, the CEK, tier two. This CEK is then sent by KMS to Redshift where it is stored separately from the cluster. Redshift then sends this encrypted CEK to the cluster over a secure channel where it is stored in memory.
|
||||
Cette clé KMS est ensuite chiffrée avec la clé maître CMK, niveau un. Cette clé de données KMS chiffrée est ensuite utilisée comme clé de chiffrement du cluster, la CEK, niveau deux. Cette CEK est ensuite envoyée par KMS à Redshift où elle est stockée séparément du cluster. Redshift envoie ensuite cette CEK chiffrée au cluster via un canal sécurisé où elle est stockée en mémoire.
|
||||
|
||||
Redshift then requests KMS to decrypt the CEK, tier two. This decrypted CEK is then also stored in memory. Redshift then creates a random database encryption key, the DEK, tier three, and loads that into the memory of the cluster. The decrypted CEK in memory then encrypts the DEK, which is also stored in memory.
|
||||
Redshift demande ensuite à KMS de déchiffrer la CEK, niveau deux. Cette CEK déchiffrée est ensuite également stockée en mémoire. Redshift crée ensuite une clé de chiffrement de base de données aléatoire, la DEK, niveau trois, et la charge dans la mémoire du cluster. La CEK déchiffrée en mémoire chiffre ensuite la DEK, qui est également stockée en mémoire.
|
||||
|
||||
This encrypted DEK is then sent over a secure channel and stored in Redshift separately from the cluster. Both the CEK and the DEK are now stored in memory of the cluster both in an encrypted and decrypted form. The decrypted DEK is then used to encrypt data keys, tier four, that are randomly generated by Redshift for each data block in the database.
|
||||
Cette DEK chiffrée est ensuite envoyée via un canal sécurisé et stockée dans Redshift séparément du cluster. La CEK et la DEK sont maintenant stockées en mémoire du cluster à la fois sous forme chiffrée et déchiffrée. La DEK déchiffrée est ensuite utilisée pour chiffrer les clés de données, niveau quatre, qui sont générées aléatoirement par Redshift pour chaque bloc de données dans la base de données.
|
||||
|
||||
You can use AWS Trusted Advisor to monitor the configuration of your Amazon S3 buckets and ensure that bucket logging is enabled, which can be useful for performing security audits and tracking usage patterns in S3.
|
||||
Vous pouvez utiliser AWS Trusted Advisor pour surveiller la configuration de vos buckets Amazon S3 et vous assurer que la journalisation des buckets est activée, ce qui peut être utile pour effectuer des audits de sécurité et suivre les modèles d'utilisation dans S3.
|
||||
|
||||
### CloudHSM
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Using Redshift with CloudHSM</summary>
|
||||
<summary>Utiliser Redshift avec CloudHSM</summary>
|
||||
|
||||
When working with CloudHSM to perform your encryption, firstly you must set up a trusted connection between your HSM client and Redshift while using client and server certificates.
|
||||
Lorsque vous travaillez avec CloudHSM pour effectuer votre chiffrement, vous devez d'abord établir une connexion de confiance entre votre client HSM et Redshift tout en utilisant des certificats client et serveur.
|
||||
|
||||
This connection is required to provide secure communications, allowing encryption keys to be sent between your HSM client and your Redshift clusters. Using a randomly generated private and public key pair, Redshift creates a public client certificate, which is encrypted and stored by Redshift. This must be downloaded and registered to your HSM client, and assigned to the correct HSM partition.
|
||||
Cette connexion est nécessaire pour fournir des communications sécurisées, permettant aux clés de chiffrement d'être envoyées entre votre client HSM et vos clusters Redshift. En utilisant une paire de clés privées et publiques générées aléatoirement, Redshift crée un certificat client public, qui est chiffré et stocké par Redshift. Cela doit être téléchargé et enregistré sur votre client HSM, et attribué à la bonne partition HSM.
|
||||
|
||||
You must then configure Redshift with the following details of your HSM client: the HSM IP address, the HSM partition name, the HSM partition password, and the public HSM server certificate, which is encrypted by CloudHSM using an internal master key. Once this information has been provided, Redshift will confirm and verify that it can connect and access development partition.
|
||||
Vous devez ensuite configurer Redshift avec les détails suivants de votre client HSM : l'adresse IP HSM, le nom de la partition HSM, le mot de passe de la partition HSM, et le certificat de serveur HSM public, qui est chiffré par CloudHSM en utilisant une clé maître interne. Une fois ces informations fournies, Redshift confirmera et vérifiera qu'il peut se connecter et accéder à la partition de développement.
|
||||
|
||||
If your internal security policies or governance controls dictate that you must apply key rotation, then this is possible with Redshift enabling you to rotate encryption keys for encrypted clusters, however, you do need to be aware that during the key rotation process, it will make a cluster unavailable for a very short period of time, and so it's best to only rotate keys as and when you need to, or if you feel they may have been compromised.
|
||||
Si vos politiques de sécurité internes ou vos contrôles de gouvernance dictent que vous devez appliquer une rotation des clés, cela est possible avec Redshift vous permettant de faire pivoter les clés de chiffrement pour les clusters chiffrés, cependant, vous devez être conscient que pendant le processus de rotation des clés, cela rendra un cluster indisponible pendant une très courte période de temps, il est donc préférable de ne faire pivoter les clés que lorsque vous en avez besoin, ou si vous pensez qu'elles ont pu être compromises.
|
||||
|
||||
During the rotation, Redshift will rotate the CEK for your cluster and for any backups of that cluster. It will rotate a DEK for the cluster but it's not possible to rotate a DEK for the snapshots stored in S3 that have been encrypted using the DEK. It will put the cluster into a state of 'rotating keys' until the process is completed when the status will return to 'available'.
|
||||
Pendant la rotation, Redshift fera pivoter la CEK pour votre cluster et pour toutes les sauvegardes de ce cluster. Il fera pivoter une DEK pour le cluster mais il n'est pas possible de faire pivoter une DEK pour les instantanés stockés dans S3 qui ont été chiffrés en utilisant la DEK. Il mettra le cluster dans un état de 'rotation des clés' jusqu'à ce que le processus soit terminé lorsque le statut reviendra à 'disponible'.
|
||||
|
||||
</details>
|
||||
|
||||
### Enumeration
|
||||
|
||||
```bash
|
||||
# Get clusters
|
||||
aws redshift describe-clusters
|
||||
@@ -82,7 +81,6 @@ aws redshift describe-scheduled-actions
|
||||
# The redshift instance must be publicly available (not by default), the sg need to allow inbounds connections to the port and you need creds
|
||||
psql -h redshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com -U admin -d dev -p 5439
|
||||
```
|
||||
|
||||
## Privesc
|
||||
|
||||
{{#ref}}
|
||||
@@ -91,13 +89,9 @@ psql -h redshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com -U adm
|
||||
|
||||
## Persistence
|
||||
|
||||
The following actions allow to grant access to other AWS accounts to the cluster:
|
||||
Les actions suivantes permettent d'accorder l'accès à d'autres comptes AWS au cluster :
|
||||
|
||||
- [authorize-endpoint-access](https://docs.aws.amazon.com/cli/latest/reference/redshift/authorize-endpoint-access.html)
|
||||
- [authorize-snapshot-access](https://docs.aws.amazon.com/cli/latest/reference/redshift/authorize-snapshot-access.html)
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user