mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/aws-security/aws-services/aws-kms-enum
This commit is contained in:
@@ -2,19 +2,19 @@
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
## KMS - Υπηρεσία Διαχείρισης Κλειδιών
|
||||
## KMS - Key Management Service
|
||||
|
||||
Η Υπηρεσία Διαχείρισης Κλειδιών AWS (AWS KMS) παρουσιάζεται ως μια διαχειριζόμενη υπηρεσία, απλοποιώντας τη διαδικασία για τους χρήστες να **δημιουργούν και να διαχειρίζονται τα κλειδιά κύριας εξουσίας πελάτη** (CMKs). Αυτά τα CMKs είναι αναπόσπαστα στην κρυπτογράφηση των δεδομένων των χρηστών. Ένα αξιοσημείωτο χαρακτηριστικό του AWS KMS είναι ότι τα CMKs είναι κυρίως **ασφαλισμένα από υλικές μονάδες ασφαλείας** (HSMs), ενισχύοντας την προστασία των κλειδιών κρυπτογράφησης.
|
||||
Η Υπηρεσία Διαχείρισης Κλειδιών AWS (AWS KMS) παρουσιάζεται ως μια διαχειριζόμενη υπηρεσία, απλοποιώντας τη διαδικασία για τους χρήστες να **δημιουργούν και να διαχειρίζονται κύρια κλειδιά πελατών** (CMKs). Αυτά τα CMKs είναι αναπόσπαστα στην κρυπτογράφηση των δεδομένων των χρηστών. Μια αξιοσημείωτη δυνατότητα του AWS KMS είναι ότι τα CMKs είναι κυρίως **ασφαλισμένα από υλικές μονάδες ασφαλείας** (HSMs), ενισχύοντας την προστασία των κλειδιών κρυπτογράφησης.
|
||||
|
||||
Το KMS χρησιμοποιεί **συμμετρική κρυπτογραφία**. Αυτό χρησιμοποιείται για να **κρυπτογραφεί πληροφορίες σε κατάσταση ανάπαυσης** (για παράδειγμα, μέσα σε ένα S3). Εάν χρειάζεστε να **κρυπτογραφήσετε πληροφορίες σε μεταφορά**, πρέπει να χρησιμοποιήσετε κάτι όπως το **TLS**.
|
||||
Το KMS χρησιμοποιεί **συμμετρική κρυπτογραφία**. Αυτό χρησιμοποιείται για να **κρυπτογραφεί πληροφορίες σε κατάσταση αδράνειας** (για παράδειγμα, μέσα σε ένα S3). Εάν χρειάζεστε να **κρυπτογραφήσετε πληροφορίες κατά τη μεταφορά**, πρέπει να χρησιμοποιήσετε κάτι όπως το **TLS**.
|
||||
|
||||
Το KMS είναι μια **υπηρεσία συγκεκριμένης περιοχής**.
|
||||
|
||||
**Οι διαχειριστές της Amazon δεν έχουν πρόσβαση στα κλειδιά σας**. Δεν μπορούν να ανακτήσουν τα κλειδιά σας και δεν σας βοηθούν με την κρυπτογράφηση των κλειδιών σας. Το AWS απλώς διαχειρίζεται το λειτουργικό σύστημα και την υποκείμενη εφαρμογή, είναι δική μας ευθύνη να διαχειριζόμαστε τα κλειδιά κρυπτογράφησης και να διαχειριζόμαστε πώς χρησιμοποιούνται αυτά τα κλειδιά.
|
||||
**Οι διαχειριστές στην Amazon δεν έχουν πρόσβαση στα κλειδιά σας**. Δεν μπορούν να ανακτήσουν τα κλειδιά σας και δεν σας βοηθούν με την κρυπτογράφηση των κλειδιών σας. Το AWS απλώς διαχειρίζεται το λειτουργικό σύστημα και την υποκείμενη εφαρμογή, είναι δική μας ευθύνη να διαχειριζόμαστε τα κλειδιά κρυπτογράφησης και να διαχειριζόμαστε πώς χρησιμοποιούνται αυτά τα κλειδιά.
|
||||
|
||||
**Κλειδιά Κύριας Εξουσίας Πελάτη** (CMK): Μπορούν να κρυπτογραφήσουν δεδομένα έως 4KB σε μέγεθος. Χρησιμοποιούνται συνήθως για τη δημιουργία, κρυπτογράφηση και αποκρυπτογράφηση των DEKs (Κλειδιά Κρυπτογράφησης Δεδομένων). Στη συνέχεια, τα DEKs χρησιμοποιούνται για την κρυπτογράφηση των δεδομένων.
|
||||
**Κύρια Κλειδιά Πελατών** (CMK): Μπορούν να κρυπτογραφήσουν δεδομένα έως 4KB σε μέγεθος. Χρησιμοποιούνται συνήθως για τη δημιουργία, κρυπτογράφηση και αποκρυπτογράφηση των DEKs (Κλειδιά Κρυπτογράφησης Δεδομένων). Στη συνέχεια, τα DEKs χρησιμοποιούνται για την κρυπτογράφηση των δεδομένων.
|
||||
|
||||
Ένα κλειδί κύριας εξουσίας πελάτη (CMK) είναι μια λογική αναπαράσταση ενός κύριου κλειδιού στο AWS KMS. Εκτός από τους αναγνωριστικούς αριθμούς του κύριου κλειδιού και άλλα μεταδεδομένα, συμπεριλαμβανομένης της ημερομηνίας δημιουργίας του, της περιγραφής και της κατάστασης του κλειδιού, ένα **CMK περιέχει το υλικό κλειδιού που χρησιμοποιείται για την κρυπτογράφηση και αποκρυπτογράφηση των δεδομένων**. Όταν δημιουργείτε ένα CMK, από προεπιλογή, το AWS KMS δημιουργεί το υλικό κλειδιού για αυτό το CMK. Ωστόσο, μπορείτε να επιλέξετε να δημιουργήσετε ένα CMK χωρίς υλικό κλειδιού και στη συνέχεια να εισάγετε το δικό σας υλικό κλειδιού σε αυτό το CMK.
|
||||
Ένα κύριο κλειδί πελάτη (CMK) είναι μια λογική αναπαράσταση ενός κύριου κλειδιού στο AWS KMS. Εκτός από τους αναγνωριστικούς αριθμούς του κύριου κλειδιού και άλλα μεταδεδομένα, συμπεριλαμβανομένης της ημερομηνίας δημιουργίας του, της περιγραφής και της κατάστασης του κλειδιού, ένα **CMK περιέχει το υλικό κλειδιού που χρησιμοποιείται για την κρυπτογράφηση και αποκρυπτογράφηση των δεδομένων**. Όταν δημιουργείτε ένα CMK, από προεπιλογή, το AWS KMS δημιουργεί το υλικό κλειδιού για αυτό το CMK. Ωστόσο, μπορείτε να επιλέξετε να δημιουργήσετε ένα CMK χωρίς υλικό κλειδιού και στη συνέχεια να εισάγετε το δικό σας υλικό κλειδιού σε αυτό το CMK.
|
||||
|
||||
Υπάρχουν 2 τύποι κύριων κλειδιών:
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
|
||||
Αυτές καθορίζουν **ποιος μπορεί να χρησιμοποιήσει και να έχει πρόσβαση σε ένα κλειδί στο KMS**.
|
||||
|
||||
Από **προεπιλογή:**
|
||||
Κατά **προεπιλογή:**
|
||||
|
||||
- Δίνει στο **IAM του** **AWS λογαριασμού που κατέχει το κλειδί KMS πρόσβαση** για να διαχειρίζεται την πρόσβαση στο κλειδί KMS μέσω IAM.
|
||||
- Δίνει στο **IAM του** **λογαριασμού AWS που κατέχει το κλειδί KMS πρόσβαση** για να διαχειρίζεται την πρόσβαση στο κλειδί KMS μέσω IAM.
|
||||
|
||||
Σε αντίθεση με άλλες πολιτικές πόρων AWS, μια πολιτική **κλειδιού KMS δεν δίνει αυτόματα άδεια σε κανένα από τα πρόσωπα του λογαριασμού**. Για να δώσετε άδεια στους διαχειριστές του λογαριασμού, η **πολιτική κλειδιού πρέπει να περιλαμβάνει μια ρητή δήλωση** που παρέχει αυτή την άδεια, όπως αυτή.
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
- Έγγραφο βασισμένο σε JSON
|
||||
- Πόρος --> Επηρεαζόμενοι πόροι (μπορεί να είναι "\*")
|
||||
- Δράση --> kms:Encrypt, kms:Decrypt, kms:CreateGrant ... (δικαιώματα)
|
||||
- Ενέργεια --> kms:Encrypt, kms:Decrypt, kms:CreateGrant ... (δικαιώματα)
|
||||
- Επίδραση --> Επιτρέπεται/Αρνείται
|
||||
- Principal --> arn που επηρεάζεται
|
||||
- Συνθήκες (προαιρετικό) --> Συνθήκη για να δοθούν τα δικαιώματα
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
**Πρόσβαση**:
|
||||
|
||||
- Μέσω **πολιτικής κλειδιού** -- Αν αυτό υπάρχει, αυτό έχει **προτεραιότητα** πάνω από την πολιτική IAM
|
||||
- Μέσω **πολιτικής κλειδιού** -- Αν αυτό υπάρχει, έχει **προτεραιότητα** πάνω από την πολιτική IAM
|
||||
- Μέσω **πολιτικής IAM**
|
||||
- Μέσω **παραχωρήσεων**
|
||||
|
||||
@@ -93,10 +93,10 @@
|
||||
### Περιστροφή CMKs
|
||||
|
||||
- Όσο περισσότερο παραμένει το ίδιο κλειδί στη θέση του, τόσο περισσότερα δεδομένα κρυπτογραφούνται με αυτό το κλειδί, και αν αυτό το κλειδί παραβιαστεί, τότε η περιοχή έκρηξης των δεδομένων είναι σε κίνδυνο. Επιπλέον, όσο περισσότερο είναι ενεργό το κλειδί, αυξάνεται η πιθανότητα να παραβιαστεί.
|
||||
- **Το KMS περιστρέφει τα κλειδιά πελατών κάθε 365 ημέρες** (ή μπορείτε να εκτελέσετε τη διαδικασία χειροκίνητα όποτε θέλετε) και **τα κλειδιά που διαχειρίζεται το AWS κάθε 3 χρόνια** και αυτή τη φορά δεν μπορεί να αλλάξει.
|
||||
- **Το KMS περιστρέφει τα κλειδιά πελατών κάθε 365 ημέρες** (ή μπορείτε να εκτελέσετε τη διαδικασία χειροκίνητα όποτε θέλετε) και **τα κλειδιά που διαχειρίζεται η AWS κάθε 3 χρόνια** και αυτή τη φορά δεν μπορεί να αλλάξει.
|
||||
- **Τα παλαιότερα κλειδιά διατηρούνται** για να αποκρυπτογραφούν δεδομένα που κρυπτογραφήθηκαν πριν από την περιστροφή
|
||||
- Σε περίπτωση παραβίασης, η περιστροφή του κλειδιού δεν θα αφαιρέσει την απειλή καθώς θα είναι δυνατή η αποκρυπτογράφηση όλων των δεδομένων που κρυπτογραφήθηκαν με το παραβιασμένο κλειδί. Ωστόσο, τα **νέα δεδομένα θα κρυπτογραφηθούν με το νέο κλειδί**.
|
||||
- Αν το **CMK** είναι σε κατάσταση **απενεργοποιημένο** ή **σε εκκρεμότητα** **διαγραφής**, το KMS **δεν θα εκτελέσει περιστροφή κλειδιού** μέχρι να επανενεργοποιηθεί το CMK ή να ακυρωθεί η διαγραφή.
|
||||
- Αν το **CMK** είναι σε κατάσταση **απενεργοποιημένο** ή **σε αναμονή** **διαγραφής**, το KMS **δεν θα εκτελέσει περιστροφή κλειδιού** μέχρι να επανενεργοποιηθεί το CMK ή να ακυρωθεί η διαγραφή.
|
||||
|
||||
#### Χειροκίνητη περιστροφή
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
Με την πολιτική KMS μπορείτε να κάνετε τα εξής:
|
||||
|
||||
- Περιορίστε ποιος μπορεί να δημιουργήσει κλειδιά δεδομένων και ποιες υπηρεσίες έχουν πρόσβαση για να χρησιμοποιήσουν αυτά τα κλειδιά
|
||||
- Περιορίστε την πρόσβαση των συστημάτων μόνο για κρυπτογράφηση, μόνο για αποκρυπτογράφηση ή και τα δύο
|
||||
- Περιορίστε την πρόσβαση των συστημάτων να κρυπτογραφούν μόνο, να αποκρυπτογραφούν μόνο ή και τα δύο
|
||||
- Ορίστε να επιτρέπεται στα συστήματα να έχουν πρόσβαση σε κλειδιά σε διάφορες περιοχές (αν και δεν συνιστάται καθώς μια αποτυχία στην περιοχή που φιλοξενεί το KMS θα επηρεάσει τη διαθεσιμότητα των συστημάτων σε άλλες περιοχές).
|
||||
|
||||
Δεν μπορείτε να συγχρονίσετε ή να μετακινήσετε/αντιγράψετε κλειδιά σε διάφορες περιοχές; μπορείτε μόνο να ορίσετε κανόνες για να επιτρέψετε την πρόσβαση σε διάφορες περιοχές.
|
||||
@@ -128,6 +128,11 @@ aws kms list-grants --key-id <id>
|
||||
aws kms describe-key --key-id <id>
|
||||
aws kms get-key-policy --key-id <id> --policy-name <name> # Default policy name is "default"
|
||||
aws kms describe-custom-key-stores
|
||||
|
||||
# This script enumerates AWS KMS keys across all available regions.
|
||||
for region in $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); do
|
||||
echo -e "\n### Region: $region ###"; aws kms list-keys --region $region --query "Keys[].KeyId" --output text | tr '\t' '\n';
|
||||
done
|
||||
```
|
||||
### Privesc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user