AWS - Relational Database (RDS) Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Η Υπηρεσία Σχεσιακής Βάσης Δεδομένων (RDS) που προσφέρεται από την AWS έχει σχεδιαστεί για να απλοποιεί την ανάπτυξη, τη λειτουργία και την κλιμάκωση μιας σχεσιακής βάσης δεδομένων στο cloud. Αυτή η υπηρεσία προσφέρει τα πλεονεκτήματα της οικονομικής αποδοτικότητας και της κλιμάκωσης, ενώ αυτοματοποιεί χρονοβόρες εργασίες όπως η προμήθεια υλικού, η διαμόρφωση βάσης δεδομένων, οι ενημερώσεις και τα αντίγραφα ασφαλείας.
Η AWS RDS υποστηρίζει διάφορους ευρέως χρησιμοποιούμενους κινητήρες σχεσιακών βάσεων δεδομένων, συμπεριλαμβανομένων των MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server και Amazon Aurora, με συμβατότητα και για MySQL και PostgreSQL.
Τα κύρια χαρακτηριστικά του RDS περιλαμβάνουν:
Η διαχείριση των στιγμιότυπων βάσεων δεδομένων είναι απλοποιημένη.
Δημιουργία αντίγραφων ανάγνωσης για τη βελτίωση της απόδοσης ανάγνωσης.
Διαμόρφωση αναπτύξεων πολλαπλών Ζωνών Διαθεσιμότητας (AZ) για να διασφαλιστεί η υψηλή διαθεσιμότητα και οι μηχανισμοί εναλλαγής.
Ενσωμάτωση με άλλες υπηρεσίες AWS, όπως:
AWS Identity and Access Management (IAM) για ισχυρό έλεγχο πρόσβασης.
AWS CloudWatch για ολοκληρωμένη παρακολούθηση και μετρήσεις.
AWS Key Management Service (KMS) για τη διασφάλιση της κρυπτογράφησης σε κατάσταση ηρεμίας.
Κατά τη δημιουργία του DB cluster, το κύριο όνομα χρήστη μπορεί να διαμορφωθεί (admin
από προεπιλογή). Για να δημιουργήσετε τον κωδικό πρόσβασης αυτού του χρήστη μπορείτε να:
Υποδείξετε έναν κωδικό πρόσβασης εσείς
Πείτε στην RDS να δημιουργήσει αυτόματα τον κωδικό
Πείτε στην RDS να τον διαχειριστεί στο AWS Secret Manager κρυπτογραφημένο με ένα κλειδί KMS
Υπάρχουν 3 τύποι επιλογών αυθεντικοποίησης, αλλά η χρήση του κύριου κωδικού πρόσβασης επιτρέπεται πάντα:
Από προεπιλογή δεν παρέχεται δημόσια πρόσβαση στις βάσεις δεδομένων, ωστόσο μπορεί να παραχωρηθεί. Επομένως, από προεπιλογή μόνο οι μηχανές από την ίδια VPC θα μπορούν να έχουν πρόσβαση εάν η επιλεγμένη ομάδα ασφαλείας (που αποθηκεύεται στο EC2 SG) το επιτρέπει.
Αντί να εκθέσετε μια DB instance, είναι δυνατό να δημιουργήσετε ένα RDS Proxy που βελτιώνει την κλιμάκωση & διαθεσιμότητα του DB cluster.
Επιπλέον, η θύρα της βάσης δεδομένων μπορεί να τροποποιηθεί επίσης.
Η κρυπτογράφηση είναι ενεργοποιημένη από προεπιλογή χρησιμοποιώντας ένα διαχειριζόμενο κλειδί AWS (ένα CMK μπορεί να επιλεγεί αντί αυτού).
Με την ενεργοποίηση της κρυπτογράφησής σας, ενεργοποιείτε την κρυπτογράφηση σε κατάσταση ηρεμίας για την αποθήκευσή σας, τα στιγμιότυπα, τα αντίγραφα ανάγνωσης και τα αντίγραφα ασφαλείας σας. Κλειδιά για τη διαχείριση αυτής της κρυπτογράφησης μπορούν να εκδοθούν χρησιμοποιώντας KMS. Δεν είναι δυνατό να προστεθεί αυτό το επίπεδο κρυπτογράφησης αφού έχει δημιουργηθεί η βάση δεδομένων σας. Πρέπει να γίνει κατά τη διάρκεια της δημιουργίας της.
Ωστόσο, υπάρχει μια λύση που σας επιτρέπει να κρυπτογραφήσετε μια μη κρυπτογραφημένη βάση δεδομένων ως εξής. Μπορείτε να δημιουργήσετε ένα στιγμιότυπο της μη κρυπτογραφημένης βάσης δεδομένων σας, να δημιουργήσετε μια κρυπτογραφημένη αντίγραφο αυτού του στιγμιότυπου, να χρησιμοποιήσετε αυτό το κρυπτογραφημένο στιγμιότυπο για να δημιουργήσετε μια νέα βάση δεδομένων και, τελικά, η βάση δεδομένων σας θα είναι κρυπτογραφημένη.
Μαζί με τις δυνατότητες κρυπτογράφησης που είναι εγγενείς στο RDS σε επίπεδο εφαρμογής, το RDS υποστηρίζει επίσης επιπλέον μηχανισμούς κρυπτογράφησης σε επίπεδο πλατφόρμας για την προστασία των δεδομένων σε κατάσταση ηρεμίας. Αυτό περιλαμβάνει Transparent Data Encryption (TDE) για Oracle και SQL Server. Ωστόσο, είναι κρίσιμο να σημειωθεί ότι ενώ το TDE ενισχύει την ασφάλεια κρυπτογραφώντας τα δεδομένα σε κατάσταση ηρεμίας, μπορεί επίσης να επηρεάσει την απόδοση της βάσης δεδομένων. Αυτή η επίδραση στην απόδοση είναι ιδιαίτερα αισθητή όταν χρησιμοποιείται σε συνδυασμό με τις κρυπτογραφικές λειτουργίες MySQL ή τις κρυπτογραφικές λειτουργίες Microsoft Transact-SQL.
Για να χρησιμοποιήσετε το TDE, απαιτούνται ορισμένα προκαταρκτικά βήματα:
Συσχέτιση Ομάδας Επιλογών:
Η βάση δεδομένων πρέπει να συσχετιστεί με μια ομάδα επιλογών. Οι ομάδες επιλογών λειτουργούν ως δοχεία για ρυθμίσεις και δυνατότητες, διευκολύνοντας τη διαχείριση της βάσης δεδομένων, συμπεριλαμβανομένων των βελτιώσεων ασφαλείας.
Ωστόσο, είναι σημαντικό να σημειωθεί ότι οι ομάδες επιλογών είναι διαθέσιμες μόνο για συγκεκριμένους κινητήρες βάσεων δεδομένων και εκδόσεις.
Συμπερίληψη του TDE στην Ομάδα Επιλογών:
Αφού συσχετιστεί με μια ομάδα επιλογών, η επιλογή Oracle Transparent Data Encryption πρέπει να συμπεριληφθεί σε αυτήν την ομάδα.
Είναι ουσιώδες να αναγνωρίσετε ότι μόλις προστεθεί η επιλογή TDE σε μια ομάδα επιλογών, γίνεται μόνιμο χαρακτηριστικό και δεν μπορεί να αφαιρεθεί.
Λειτουργίες Κρυπτογράφησης TDE:
Το TDE προσφέρει δύο διακριτές λειτουργίες κρυπτογράφησης:
Κρυπτογράφηση Χώρου Τραπεζιού TDE: Αυτή η λειτουργία κρυπτογραφεί ολόκληρους πίνακες, παρέχοντας ευρύτερη προστασία δεδομένων.
Κρυπτογράφηση Στήλης TDE: Αυτή η λειτουργία επικεντρώνεται στην κρυπτογράφηση συγκεκριμένων, μεμονωμένων στοιχείων μέσα στη βάση δεδομένων, επιτρέποντας πιο λεπτομερή έλεγχο σχετικά με τα δεδομένα που κρυπτογραφούνται.
Η κατανόηση αυτών των προϋποθέσεων και των λειτουργικών λεπτομερειών του TDE είναι κρίσιμη για την αποτελεσματική εφαρμογή και διαχείριση της κρυπτογράφησης εντός του RDS, διασφαλίζοντας τόσο την ασφάλεια των δεδομένων όσο και τη συμμόρφωση με τις απαραίτητες προδιαγραφές.
Υπάρχουν τρόποι πρόσβασης στα δεδομένα του DynamoDB με SQL σύνταξη, επομένως, τυπικές SQL injections είναι επίσης δυνατές.
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)