Translated ['', 'src/pentesting-cloud/aws-security/aws-services/aws-s3-a

This commit is contained in:
Translator
2026-02-23 23:59:21 +00:00
parent d793753d9a
commit 4338cf5106
2 changed files with 160 additions and 170 deletions
@@ -1,195 +1,185 @@
# AWS - VPC & Networking Basic Information
# AWS - VPC & Βασικές Πληροφορίες Δικτύωσης
{{#include ../../../../banners/hacktricks-training.md}}
## AWS Networking in a Nutshell
## AWS Δικτύωση με λίγα λόγια
Ένα **VPC** περιέχει ένα **network CIDR** όπως 10.0.0.0/16 (με τον **routing table** και το **network ACL** του).
Μια **VPC** περιέχει ένα **network CIDR** όπως 10.0.0.0/16 (με τον **routing table** και το **network ACL** της).
Αυτό το δίκτυο VPC είναι χωρισμένο σε **subnetworks**, έτσι μια **subnetwork** σχετίζεται άμεσα με το **VPC**, τον **routing** **table** και το **network ACL**.
Αυτό το δίκτυο VPC διαιρείται σε **subnetworks**, οπότε ένα **subnetwork** σχετίζεται άμεσα με την **VPC**, τον **routing table** και το **network ACL**.
Στη συνέχεια, οι **Network Interface**s που είναι συνδεδεμένες σε υπηρεσίες (όπως οι EC2 instances) είναι **συνδεδεμένες** με τις **subnetworks** με **security group(s)**.
Στη συνέχεια, **Network Interface** που είναι συνδεδεμένα σε υπηρεσίες (π.χ. EC2 instances) **συνδέονται** με τα **subnetworks** με **security group(s)**.
Επομένως, μια **security group** θα περιορίσει τις εκτεθειμένες θύρες των δικτυακών **interfaces που τη χρησιμοποιούν**, **ανεξάρτητα από τη subnetwork**. Και ένα **network ACL** θα **περιορίσει** τις εκτεθειμένες θύρες σε ολόκληρο το **δίκτυο**.
Επομένως, ένα **security group** θα περιορίσει τις εκτεθειμένες πόρτες των network **interfaces που το χρησιμοποιούν**, **ανεξάρτητα από το subnetwork**. Και ένα **network ACL** θα **περιορίσει** τις εκτεθειμένες πόρτες για ολόκληρο το δίκτυο.
Επιπλέον, για να **έχετε πρόσβαση στο Διαδίκτυο**, υπάρχουν κάποιες ενδιαφέρουσες ρυθμίσεις που πρέπει να ελέγξετε:
Επιπλέον, για να έχετε **πρόσβαση στο Internet**, υπάρχουν μερικές σημαντικές ρυθμίσεις που πρέπει να ελέγξετε:
- Μια **subnetwork** μπορεί να **αυτόματα αναθέτει δημόσιες διευθύνσεις IPv4**
- Μια **instance** που δημιουργείται στο δίκτυο που **αυτόματα αναθέτει διευθύνσεις IPv4 μπορεί να αποκτήσει μία**
- Ένα **Internet gateway** πρέπει να είναι **συνδεδεμένο** με το **VPC**
- Ένα **subnetwork** μπορεί να **αναθέτει αυτόματα public IPv4 addresses**
- Μια **instance** που δημιουργείται σε δίκτυο με αυτόματη ανάθεση IPv4 μπορεί να λάβει μία
- Ένα **Internet gateway** πρέπει να είναι **attached** στην **VPC**
- Μπορείτε επίσης να χρησιμοποιήσετε **Egress-only internet gateways**
- Μπορείτε επίσης να έχετε ένα **NAT gateway** σε μια **ιδιωτική subnetwork** ώστε να είναι δυνατή η **σύνδεση με εξωτερικές υπηρεσίες** από αυτή την ιδιωτική subnetwork, αλλά **δεν είναι δυνατή η πρόσβαση σε αυτές από το εξωτερικό**.
- Το NAT gateway μπορεί να είναι **δημόσιο** (πρόσβαση στο διαδίκτυο) ή **ιδιωτικό** (πρόσβαση σε άλλα VPCs)
- Μπορείτε επίσης να έχετε ένα **NAT gateway** σε ένα **private subnet** ώστε να είναι δυνατή η **σύνδεση με εξωτερικές υπηρεσίες** από αυτό το private subnet, αλλά **δεν είναι δυνατό να προσεγγιστεί από το εξωτερικό**.
- Το NAT gateway μπορεί να είναι **public** (πρόσβαση στο internet) ή **private** (πρόσβαση σε άλλες VPCs)
![](<../../../../images/image (274).png>)
## VPC
Το Amazon **Virtual Private Cloud** (Amazon VPC) σας επιτρέπει να **εκκινείτε πόρους AWS σε ένα εικονικό δίκτυο** που έχετε ορίσει. Αυτό το εικονικό δίκτυο θα έχει αρκετές υποδίκτυα, Internet Gateways για πρόσβαση στο Διαδίκτυο, ACLs, ομάδες ασφαλείας, IPs...
Η Amazon **Virtual Private Cloud** (Amazon VPC) σας επιτρέπει να ** εκκινήσετε πόρους AWS σε ένα εικονικό δίκτυο** που έχετε ορίσει. Αυτό το εικονικό δίκτυο θα έχει διάφορα subnets, Internet Gateways για πρόσβαση στο Internet, ACLs, Security groups, IPs...
### Subnets
Οι υποδίκτυα βοηθούν στην επιβολή ενός μεγαλύτερου επιπέδου ασφάλειας. Η **λογική ομαδοποίηση παρόμοιων πόρων** σας βοηθά επίσης να διατηρείτε μια **ευκολία διαχείρισης** σε όλη την υποδομή σας.
Τα subnets βοηθούν στην επιβολή μεγαλύτερου επιπέδου ασφάλειας. Η **λογική ομαδοποίηση παρόμοιων πόρων** βοηθά επίσης στη διατήρηση της **ευκολίας διαχείρισης** σε όλη την υποδομή σας.
- Έγκυρα CIDR είναι από /16 netmask έως /28 netmask.
- Ένα υποδίκτυο δεν μπορεί να βρίσκεται σε διαφορετικές ζώνες διαθεσιμότητας ταυτόχρονα.
- **Η AWS διατηρεί τις πρώτες τρεις διευθύνσεις IP host** κάθε υποδικτύου **για** **εσωτερική χρήση AWS**: η πρώτη διεύθυνση host που χρησιμοποιείται είναι για τον δρομολογητή VPC. Η δεύτερη διεύθυνση είναι κρατημένη για το AWS DNS και η τρίτη διεύθυνση είναι κρατημένη για μελλοντική χρήση.
- Ονομάζονται **δημόσια υποδίκτυα** αυτά που έχουν **άμεση πρόσβαση στο Διαδίκτυο, ενώ τα ιδιωτικά υποδίκτυα δεν έχουν.**
<figure><img src="https://lh5.googleusercontent.com/N_WTrTrDAHwN61FMKJvLSHVua2EM0IazHH1fSTg8JQfTChm-dLN9mn7wkjz2MlpD-uOUqtWdMZpqKOp4VxaHy5-5X66GD1K8y1UGc27r-GbHdFty9ImpXdcjEsC7u4vjxKme_B_HwDOUnG6camxENYECTw=s2048" alt=""><figcaption></figcaption></figure>
<figure><img src="https://lh3.googleusercontent.com/MmjfVzGmV4jM7tO8lVoTKONoeqbq6E40DGeKUoo4kN-lmMDKnEiGNB-gGVx3EvjK9UV844im225CA8aAjomHf1Modt3MramHrHZdEGbeSZncWhVuT9R8f7tQZ2pXjdSJxeNfErmJ-0mmcUaV6dcU0TAd2A=s2048" alt=""><figcaption></figcaption></figure>
- Ένα subnet δεν μπορεί να βρίσκεται σε διαφορετικές availability zones ταυτόχρονα.
- **Η AWS κρατάει τις πρώτες τρεις host IP διευθύνσεις** κάθε subnet **για** **εσωτερική χρήση από την AWS**: η πρώτη host διεύθυνση χρησιμοποιείται για τον VPC router. Η δεύτερη είναι δεσμευμένη για το AWS DNS και η τρίτη είναι δεσμευμένη για μελλοντική χρήση.
- Τα subnets που έχουν **άμεση πρόσβαση στο Internet** ονομάζονται **public subnets**, ενώ τα υπόλοιπα είναι **private subnets**.
### Route Tables
Οι πίνακες δρομολόγησης καθορίζουν τη δρομολόγηση της κυκλοφορίας για ένα υποδίκτυο εντός ενός VPC. Καθορίζουν ποια δικτυακή κυκλοφορία προωθείται στο διαδίκτυο ή σε μια σύνδεση VPN. Συνήθως θα βρείτε πρόσβαση στο:
Οι route tables καθορίζουν τη δρομολόγηση της κυκλοφορίας για ένα subnet μέσα σε μια VPC. Καθορίζουν ποια δικτυακή κίνηση προωθείται στο internet ή σε μια VPN σύνδεση. Συνήθως θα βρείτε πρόσβαση σε:
- Τοπικό VPC
- Το local VPC
- NAT
- Internet Gateways / Egress-only Internet gateways (απαραίτητο για να δώσετε στο VPC πρόσβαση στο Διαδίκτυο).
- Για να κάνετε ένα υποδίκτυο δημόσιο, πρέπει να **δημιουργήσετε** και να **συνδέσετε** ένα **Internet gateway** στο VPC σας.
- VPC endpoints (για πρόσβαση στο S3 από ιδιωτικά δίκτυα)
Στις παρακάτω εικόνες μπορείτε να ελέγξετε τις διαφορές σε ένα προεπιλεγμένο δημόσιο δίκτυο και σε ένα ιδιωτικό:
<figure><img src="https://lh3.googleusercontent.com/q4ASpcLAYqijdNMLhMLl8EoowDtTMU5I_7YCVfk7-5hxDyeQOik9ImHnD2SYy32XUA2qXjEbXTAxA1lP--znJASdhYOdBveDcrD42f9XBKZ3EmjJCazN3YPLC6oS0xtRMmfORuwCszmMt-KrAkH07_izwg=s2048" alt=""><figcaption></figcaption></figure>
<figure><img src="https://lh5.googleusercontent.com/30psylXAI0gRN6_LK-reP00aGIlMma64E1qafCVPunn6nS-y5jAO6Y2JiempKcf6-LFi7ScicYcOh7BbHEya2VWtksnFX_8SPXQf97tKkg2tNZzrArWbiDCCn2m2LP1QUq6MZ_KayH3yir7t8zpO7CEQOw=s2048" alt=""><figcaption></figcaption></figure>
- Internet Gateways / Egress-only Internet gateways (ανάγκαιο για να δώσετε σε μια VPC πρόσβαση στο Internet).
- Για να κάνετε ένα subnet public πρέπει να **δημιουργήσετε** και να **συνδέσετε** ένα **Internet gateway** στην VPC σας.
- VPC endpoints (για πρόσβαση σε S3 από ιδιωτικά δίκτυα)
### ACLs
**Network Access Control Lists (ACLs)**: Οι Network ACLs είναι κανόνες τείχους προστασίας που ελέγχουν την εισερχόμενη και εξερχόμενη δικτυακή κυκλοφορία σε ένα υποδίκτυο. Μπορούν να χρησιμοποιηθούν για να επιτρέπουν ή να αρνούνται την κυκλοφορία σε συγκεκριμένες διευθύνσεις IP ή περιοχές.
**Network Access Control Lists (ACLs)**: Τα Network ACLs είναι κανόνες firewall που ελέγχουν την εισερχόμενη και εξερχόμενη δικτυακή κίνηση σε ένα subnet. Μπορούν να χρησιμοποιηθούν για να επιτρέψουν ή να απορρίψουν κίνηση σε συγκεκριμένες IP διευθύνσεις ή εύρη.
- Είναι πιο συχνό να επιτρέπεται/αρνείται η πρόσβαση χρησιμοποιώντας ομάδες ασφαλείας, αλλά αυτός είναι ο μόνος τρόπος για να κοπεί εντελώς η εγκαθιδρυμένη αντίστροφη σύνδεση. Ένας τροποποιημένος κανόνας σε μια ομάδα ασφαλείας δεν σταματά τις ήδη εγκαθιδρυμένες συνδέσεις.
- Ωστόσο, αυτό ισχύει για ολόκληρη τη subnetwork, να είστε προσεκτικοί όταν απαγορεύετε πράγματα γιατί η απαραίτητη λειτουργικότητα μπορεί να διαταραχθεί.
- Συχνότερα επιτρέπεται/απορρίπτεται η πρόσβαση χρησιμοποιώντας security groups, αλλά αυτός είναι ο μόνος τρόπος για να κόψετε πλήρως ήδη εγκατεστημένα reverse shells. Μια τροποποιημένη ρύθμιση σε ένα security group δεν σταματά ήδη εγκατεστημένες συνδέσεις.
- Ωστόσο, αυτό εφαρμόζεται σε ολόκληρο το subnetwork — προσοχή όταν απαγορεύετε πράγματα γιατί μπορεί να διαταραχθεί λειτουργικότητα που είναι απαραίτητη.
### Security Groups
Οι ομάδες ασφαλείας είναι ένα εικονικό **τείχος προστασίας** που ελέγχει την εισερχόμενη και εξερχόμενη δικτυακή **κυκλοφορία σε instances** σε ένα VPC. Σχέση 1 SG προς M instances (συνήθως 1 προς 1).\
Συνήθως αυτό χρησιμοποιείται για να ανοίξει επικίνδυνες θύρες σε instances, όπως η θύρα 22 για παράδειγμα:
Τα security groups είναι ένα εικονικό **firewall** που ελέγχει την εισερχόμενη και εξερχόμενη δικτυακή **κίνηση προς instances** σε μια VPC. Σχέση 1 SG προς M instances (συνήθως 1 προς 1).\
Συνήθως αυτό χρησιμοποιείται για να ανοίξουν επικίνδυνες πόρτες σε instances, όπως η πόρτα 22 για παράδειγμα:
<figure><img src="https://lh5.googleusercontent.com/LliB7eb3cYfkEyOpyw1-eYgWsn2kq1yF6uRn5VYndvOuTvDlURimYx9UvuK8F2impTLmx50mid4MdTXE-Ljt2i_rxaIfnKUdji_hFjCdU9tdoW-axng9-W4tSL71gbbjrPQ7IYY5lAdH_G3UoMRMGGGOxQ=s2048" alt=""><figcaption></figcaption></figure>
### Elastic IP Addresses
Μια _Elastic IP address_ είναι μια **στατική διεύθυνση IPv4** σχεδιασμένη για δυναμικό cloud computing. Μια Elastic IP address εκχωρείται στον λογαριασμό σας AWS και είναι δική σας μέχρι να την απελευθερώσετε. Χρησιμοποιώντας μια Elastic IP address, μπορείτε να καλύψετε την αποτυχία μιας instance ή λογισμικού ανακατευθύνοντας γρήγορα τη διεύθυνση σε μια άλλη instance στον λογαριασμό σας.
Μια _Elastic IP address_ είναι μια **στατική IPv4 διεύθυνση** σχεδιασμένη για δυναμικό cloud computing. Μια Elastic IP διεύθυνση εκχωρείται στον AWS λογαριασμό σας και είναι δική σας μέχρι να την απελευθερώσετε. Χρησιμοποιώντας μια Elastic IP μπορείτε να καλύψετε την αποτυχία ενός instance ή λογισμικού επαναχαρακτηρίζοντας γρήγορα τη διεύθυνση σε άλλο instance στον λογαριασμό σας.
### Connection between subnets
### Σύνδεση μεταξύ subnets
Από προεπιλογή, όλα τα υποδίκτυα έχουν την **αυτόματη ανάθεση δημόσιων διευθύνσεων IP απενεργοποιημένη** αλλά μπορεί να ενεργοποιηθεί.
Εξ ορισμού, όλα τα subnets έχουν **απενεργοποιημένη την αυτόματη ανάθεση public IP addresses**, αλλά μπορεί να ενεργοποιηθεί.
**Μια τοπική διαδρομή εντός ενός πίνακα δρομολόγησης επιτρέπει την επικοινωνία μεταξύ των υποδικτύων VPC.**
**Μια τοπική διαδρομή μέσα σε ένα route table επιτρέπει επικοινωνία μεταξύ των subnets της VPC.**
Εάν **συνδέετε ένα υποδίκτυο με ένα διαφορετικό υποδίκτυο, δεν μπορείτε να έχετε πρόσβαση στα υποδίκτυα που είναι συνδεδεμένα** με το άλλο υποδίκτυο, πρέπει να δημιουργήσετε σύνδεση με αυτά απευθείας. **Αυτό ισχύει επίσης για τα internet gateways**. Δεν μπορείτε να περάσετε μέσω μιας σύνδεσης υποδικτύου για να αποκτήσετε πρόσβαση στο διαδίκτυο, πρέπει να αναθέσετε το internet gateway στο υποδίκτυό σας.
Εάν **συνδέετε ένα subnet με ένα διαφορετικό subnet** δεν μπορείτε να έχετε πρόσβαση στα subnets που είναι συνδεδεμένα με το άλλο subnet — πρέπει να δημιουργήσετε σύνδεση απευθείας με αυτά. **Αυτό ισχύει επίσης για τα internet gateways**. Δεν μπορείτε να περάσετε μέσω μιας σύνδεσης subnet για να αποκτήσετε πρόσβαση στο internet· χρειάζεται να αναθέσετε το internet gateway στο subnet σας.
### VPC Peering
Η σύνδεση VPC σας επιτρέπει να **συνδέσετε δύο ή περισσότερα VPCs μεταξύ τους**, χρησιμοποιώντας IPV4 ή IPV6, σαν να ήταν μέρος του ίδιου δικτύου.
Η VPC peering σας επιτρέπει να **συνδέσετε δύο ή περισσότερες VPCs μεταξύ τους**, χρησιμοποιώντας IPv4 ή IPv6, σαν να ήταν μέρος του ίδιου δικτύου.
Μόλις η σύνδεση peer καθοριστεί, **οι πόροι σε ένα VPC μπορούν να έχουν πρόσβαση σε πόρους στο άλλο**. Η συνδεσιμότητα μεταξύ των VPCs υλοποιείται μέσω της υπάρχουσας υποδομής δικτύου AWS, και έτσι είναι εξαιρετικά διαθέσιμη χωρίς περιορισμούς εύρους ζώνης. Καθώς **οι συνδέσεις peer λειτουργούν σαν να ήταν μέρος του ίδιου δικτύου**, υπάρχουν περιορισμοί όσον αφορά τις περιοχές CIDR που μπορούν να χρησιμοποιηθούν.\
Εάν έχετε **επικαλυπτόμενες ή διπλές περιοχές CIDR** για το VPC σας, τότε **δεν θα μπορείτε να συνδέσετε τα VPCs** μεταξύ τους.\
Κάθε AWS VPC θα **επικοινωνεί μόνο με το peer του**. Ως παράδειγμα, εάν έχετε μια σύνδεση peering μεταξύ του VPC 1 και του VPC 2, και μια άλλη σύνδεση μεταξύ του VPC 2 και του VPC 3 όπως φαίνεται, τότε το VPC 1 και το 2 θα μπορούσαν να επικοινωνούν απευθείας, όπως και το VPC 2 και το VPC 3, ωστόσο, το VPC 1 και το VPC 3 δεν θα μπορούσαν. **Δεν μπορείτε να δρομολογήσετε μέσω ενός VPC για να φτάσετε σε άλλο.**
Μόλις εγκαθιδρυθεί η σύνδεση peering, **πόροι σε μία VPC μπορούν να έχουν πρόσβαση σε πόρους της άλλης**. Η συνδεσιμότητα μεταξύ των VPCs υλοποιείται μέσω της υπάρχουσας υποδομής δικτύου της AWS, και επομένως είναι υψηλά διαθέσιμη χωρίς σημεία συμφόρησης στο bandwidth. Εφόσον **οι peered συνδέσεις λειτουργούν σαν να είναι μέρος του ίδιου δικτύου**, υπάρχουν περιορισμοί στα CIDR block ranges που μπορείτε να χρησιμοποιήσετε.\
Εάν έχετε **επικαλυπτόμενα ή διπλότυπα CIDR** ranges για τις VPC σας, τότε **δεν θα μπορείτε να κάνετε peering μεταξύ τους**.\
Κάθε AWS VPC θα **επικοινωνεί μόνο με τον peer της**. Για παράδειγμα, αν έχετε peering μεταξύ VPC 1 και VPC 2, και άλλη σύνδεση μεταξύ VPC 2 και VPC 3 όπως φαίνεται, τότε η VPC 1 και 2 μπορούν να επικοινωνούν άμεσα μεταξύ τους, όπως και οι VPC 2 και 3, ωστόσο η VPC 1 και 3 δεν μπορούν. **Δεν μπορείτε να δρομολογήσετε μέσω μιας VPC για να φτάσετε σε άλλη.**
### **VPC Flow Logs**
Μέσα στο VPC σας, θα μπορούσατε ενδεχομένως να έχετε εκατοντάδες ή ακόμα και χιλιάδες πόρους που επικοινωνούν μεταξύ διαφορετικών υποδικτύων τόσο δημόσιων όσο και ιδιωτικών και επίσης μεταξύ διαφορετικών VPCs μέσω συνδέσεων peering VPC. **Τα VPC Flow Logs σας επιτρέπουν να καταγράφετε πληροφορίες κυκλοφορίας IP που ρέουν μεταξύ των δικτυακών διεπαφών των πόρων σας εντός του VPC σας**.
Μέσα στην VPC σας, ενδέχεται να έχετε εκατοντάδες ή και χιλιάδες πόρους που επικοινωνούν μεταξύ διαφορετικών subnets, τόσο public όσο και private, και επίσης μεταξύ διαφορετικών VPCs μέσω VPC peering συνδέσεων. **Τα VPC Flow Logs σας επιτρέπουν να καταγράψετε πληροφορίες IP κυκλοφορίας που ρέει μεταξύ των network interfaces των πόρων σας μέσα στην VPC**.
Σε αντίθεση με τα logs πρόσβασης S3 και τα logs πρόσβασης CloudFront, τα **δεδομένα log που παράγονται από τα VPC Flow Logs δεν αποθηκεύονται στο S3. Αντίθετα, τα δεδομένα log που καταγράφονται αποστέλλονται στα logs CloudWatch**.
Σε αντίθεση με τα S3 access logs και τα CloudFront access logs, τα **log δεδομένα που παράγονται από τα VPC Flow Logs δεν αποθηκεύονται σε S3. Αντίθετα, τα δεδομένα αποστέλλονται στα CloudWatch logs**.
Περιορισμοί:
- Εάν εκτελείτε μια σύνδεση peering VPC, τότε θα μπορείτε να δείτε μόνο τα flow logs των peered VPCs που είναι εντός του ίδιου λογαριασμού.
- Εάν εξακολουθείτε να εκτελείτε πόρους στο περιβάλλον EC2-Classic, τότε δυστυχώς δεν μπορείτε να ανακτήσετε πληροφορίες από τις διεπαφές τους.
- Μόλις δημιουργηθεί ένα VPC Flow Log, δεν μπορεί να αλλάξει. Για να αλλάξετε τη ρύθμιση του VPC Flow Log, πρέπει να το διαγράψετε και στη συνέχεια να δημιουργήσετε ένα νέο.
- Η παρακάτω κυκλοφορία δεν παρακολουθείται και δεν καταγράφεται από τα logs. Κυκλοφορία DHCP εντός του VPC, κυκλοφορία από instances που προορίζονται για τον διακομιστή DNS της Amazon.
- Οποιαδήποτε κυκλοφορία προορίζεται για τη διεύθυνση IP του προεπιλεγμένου δρομολογητή VPC και κυκλοφορία προς και από τις παρακάτω διευθύνσεις, 169.254.169.254 που χρησιμοποιείται για τη συλλογή μεταδεδομένων instance, και 169.254.169.123 που χρησιμοποιείται για την Υπηρεσία Συγχρονισμού Χρόνου της Amazon.
- Κυκλοφορία που σχετίζεται με μια άδεια ενεργοποίησης Windows από μια Windows instance.
- Κυκλοφορία μεταξύ μιας διεπαφής φορτωτή δικτύου και μιας διεπαφής δικτύου τελικού σημείου.
- Εάν εκτελείτε μια VPC peered σύνδεση, τότε θα μπορείτε να δείτε flow logs των peered VPCs μόνο εάν είναι στον ίδιο λογαριασμό.
- Εάν εξακολουθείτε να εκτελείτε πόρους στο EC2-Classic περιβάλλον, δεν μπορείτε να ανακτήσετε πληροφορίες από τα interfaces τους.
- Μόλις δημιουργηθεί ένα VPC Flow Log, δεν μπορεί να αλλάξει. Για να τροποποιήσετε τη διαμόρφωση, πρέπει να το διαγράψετε και να δημιουργήσετε νέο.
- Η ακόλουθη κίνηση δεν παρακολουθείται και δεν καταγράφεται από τα logs: DHCP κίνηση εντός της VPC, κίνηση από instances προοριζόμενη για τον Amazon DNS Server.
- Οποιαδήποτε κίνηση προορίζεται για την IP διεύθυνση του default router της VPC και κίνηση προς και από τις διευθύνσεις 169.254.169.254 (χρησιμοποιείται για συλλογή instance metadata) και 169.254.169.123 (χρησιμοποιείται για το Amazon Time Sync Service) δεν καταγράφεται.
- Κίνηση που σχετίζεται με άδεια ενεργοποίησης Amazon Windows από ένα Windows instance.
- Κίνηση μεταξύ ενός network load balancer interface και ενός endpoint network interface.
Για κάθε διεπαφή δικτύου που δημοσιεύει δεδομένα στην ομάδα log CloudWatch, θα χρησιμοποιεί μια διαφορετική ροή log. Και μέσα σε κάθε μία από αυτές τις ροές, θα υπάρχουν τα δεδομένα γεγονότων flow log που δείχνουν το περιεχόμενο των καταχωρήσεων log. Κάθε ένα από αυτά τα **logs καταγράφει δεδομένα κατά τη διάρκεια ενός παραθύρου περίπου 10 έως 15 λεπτών**.
Για κάθε network interface που δημοσιεύει δεδομένα στο CloudWatch log group, θα χρησιμοποιηθεί διαφορετικό log stream. Και μέσα σε κάθε ένα από αυτά τα streams θα υπάρχουν τα flow log event δεδομένα που δείχνουν το περιεχόμενο των εγγραφών. Κάθε ένα από αυτά τα **logs καταγράφει δεδομένα σε ένα παράθυρο περίπου 10 έως 15 λεπτών**.
## VPN
### Basic AWS VPN Components
### Βασικά Στοιχεία AWS VPN
1. **Customer Gateway**:
- Ένα Customer Gateway είναι ένας πόρος που δημιουργείτε στο AWS για να αντιπροσωπεύσετε την πλευρά σας μιας σύνδεσης VPN.
- Είναι ουσιαστικά μια φυσική συσκευή ή εφαρμογή λογισμικού στην πλευρά σας της σύνδεσης Site-to-Site VPN.
- Παρέχετε πληροφορίες δρομολόγησης και τη δημόσια διεύθυνση IP της συσκευής δικτύου σας (όπως ένας δρομολογητής ή ένα τείχος προστασίας) στο AWS για να δημιουργήσετε ένα Customer Gateway.
- Λειτουργεί ως σημείο αναφοράς για τη ρύθμιση της σύνδεσης VPN και δεν επιβαρύνει με επιπλέον χρεώσεις.
- Ένα Customer Gateway είναι ένας πόρος που δημιουργείτε στην AWS για να αντιπροσωπεύει την πλευρά σας μιας VPN σύνδεσης.
- Είναι ουσιαστικά μια φυσική συσκευή ή εφαρμογή λογισμικού στην πλευρά σας της Site-to-Site VPN σύνδεσης.
- Παρέχετε πληροφορίες δρομολόγησης και τη δημόσια IP διεύθυνση της δικτυακής σας συσκευής (όπως router ή firewall) στην AWS για να δημιουργήσετε ένα Customer Gateway.
- Λειτουργεί ως σημείο αναφοράς για τη ρύθμιση της VPN σύνδεσης και δεν επιφέρει επιπλέον χρεώσεις.
2. **Virtual Private Gateway**:
- Ένα Virtual Private Gateway (VPG) είναι ο συγκεντρωτής VPN στην πλευρά της Amazon της σύνδεσης Site-to-Site VPN.
- Είναι συνδεδεμένο με το VPC σας και λειτουργεί ως στόχος για τη σύνδεση VPN σας.
- Το VPG είναι το σημείο τερματισμού της AWS για τη σύνδεση VPN.
- Διαχειρίζεται την ασφαλή επικοινωνία μεταξύ του VPC σας και του τοπικού δικτύου σας.
- Ένα Virtual Private Gateway (VPG) είναι ο VPN concentrator στην πλευρά της Amazon της Site-to-Site VPN σύνδεσης.
- Είναι προσαρτημένο στην VPC σας και λειτουργεί ως ο στόχος για τη VPN σύνδεση.
- Το VPG είναι το AWS-side endpoint για τη VPN σύνδεση.
- Χειρίζεται την ασφαλή επικοινωνία μεταξύ της VPC σας και του on-premises δικτύου σας.
3. **Site-to-Site VPN Connection**:
- Μια σύνδεση Site-to-Site VPN συνδέει το τοπικό σας δίκτυο με ένα VPC μέσω ενός ασφαλούς, IPsec VPN τούνελ.
- Μια Site-to-Site VPN σύνδεση συνδέει το on-premises δίκτυό σας με μια VPC μέσω ενός ασφαλούς IPsec VPN tunnel.
- Αυτός ο τύπος σύνδεσης απαιτεί ένα Customer Gateway και ένα Virtual Private Gateway.
- Χρησιμοποιείται για ασφαλή, σταθερή και συνεπή επικοινωνία μεταξύ του κέντρου δεδομένων ή του δικτύου σας και του περιβάλλοντος AWS.
- Συνήθως χρησιμοποιείται για κανονικές, μακροχρόνιες συνδέσεις και χρεώνεται με βάση την ποσότητα δεδομένων που μεταφέρονται μέσω της σύνδεσης.
- Χρησιμοποιείται για ασφαλή, σταθερή και συνεπή επικοινωνία μεταξύ του data center ή δικτύου σας και του AWS περιβάλλοντός σας.
- Συνήθως χρησιμοποιείται για τακτικές, μακροχρόνιες συνδέσεις και χρεώνεται βάσει της ποσότητας δεδομένων που μεταφέρονται.
4. **Client VPN Endpoint**:
- Ένα Client VPN endpoint είναι ένας πόρος που δημιουργείτε στο AWS για να επιτρέψετε και να διαχειριστείτε τις συνεδρίες VPN πελατών.
- Χρησιμοποιείται για να επιτρέπει σε μεμονωμένες συσκευές (όπως φορητούς υπολογιστές, smartphones κ.λπ.) να συνδέονται με ασφάλεια σε πόρους AWS ή στο τοπικό σας δίκτυο.
- Διαφέρει από το Site-to-Site VPN στο ότι είναι σχεδιασμένο για μεμονωμένους πελάτες αντί να συνδέει ολόκληρα δίκτυα.
- Με το Client VPN, κάθε συσκευή πελάτη χρησιμοποιεί ένα λογισμικό VPN client για να δημιουργήσει μια ασφαλή σύνδεση.
- Ένα Client VPN endpoint είναι ένας πόρος που δημιουργείτε στην AWS για να ενεργοποιήσετε και να διαχειριστείτε client VPN συνεδρίες.
- Χρησιμοποιείται για να επιτρέψει σε μεμονωμένες συσκευές (όπως laptops, smartphones κ.λπ.) να συνδεθούν με ασφάλεια σε AWS πόρους ή στο on-premises δίκτυό σας.
- Διαφέρει από το Site-to-Site VPN καθώς προορίζεται για μεμονωμένους clients και όχι για σύνδεση ολόκληρων δικτύων.
- Με το Client VPN, κάθε συσκευή client χρησιμοποιεί λογισμικό VPN client για να δημιουργήσει ασφαλή σύνδεση.
### Site-to-Site VPN
**Συνδέστε το τοπικό σας δίκτυο με το VPC σας.**
**Συνδέστε το on-premises δίκτυό σας με την VPC.**
- **VPN connection**: Μια ασφαλής σύνδεση μεταξύ του εξοπλισμού σας και των VPC σας.
- **VPN tunnel**: Ένας κρυπτογραφημένος σύνδεσμος όπου τα δεδομένα μπορούν να περάσουν από το δίκτυο του πελάτη προς ή από το AWS.
- **VPN connection**: Μια ασφαλής σύνδεση μεταξύ του on-premises εξοπλισμού σας και των VPCs σας.
- **VPN tunnel**: Ένας κρυπτογραφημένος σύνδεσμος όπου δεδομένα μπορούν να περάσουν από το customer network προς/από την AWS.
Κάθε σύνδεση VPN περιλαμβάνει δύο τούνελ VPN που μπορείτε να χρησιμοποιήσετε ταυτόχρονα για υψηλή διαθεσιμότητα.
Κάθε VPN σύνδεση περιλαμβάνει δύο VPN tunnels τα οποία μπορείτε να χρησιμοποιείτε ταυτόχρονα για υψηλή διαθεσιμότητα.
- **Customer gateway**: Ένας πόρος AWS που παρέχει πληροφορίες στο AWS σχετικά με τη συσκευή customer gateway σας.
- **Customer gateway device**: Μια φυσική συσκευή ή εφαρμογή λογισμικού στην πλευρά σας της σύνδεσης Site-to-Site VPN.
- **Virtual private gateway**: Ο συγκεντρωτής VPN στην πλευρά της Amazon της σύνδεσης Site-to-Site VPN. Χρησιμοποιείτε ένα virtual private gateway ή ένα transit gateway ως πύλη για την πλευρά της Amazon της σύνδεσης Site-to-Site VPN.
- **Transit gateway**: Ένας συγκεντρωτής που μπορεί να χρησιμοποιηθεί για τη διασύνδεση των VPCs σας και των τοπικών δικτύων. Χρησιμοποιείτε ένα transit gateway ή virtual private gateway ως πύλη για την πλευρά της Amazon της σύνδεσης Site-to-Site VPN.
- **Customer gateway**: Ένας πόρος AWS που παρέχει πληροφορίες στην AWS για τη συσκευή customer gateway.
- **Customer gateway device**: Μια φυσική συσκευή ή εφαρμογή λογισμικού στην πλευρά σας της Site-to-Site VPN σύνδεσης.
- **Virtual private gateway**: Ο VPN concentrator στην πλευρά της Amazon της Site-to-Site VPN σύνδεσης. Χρησιμοποιείτε virtual private gateway ή transit gateway ως την είσοδο για την Amazon πλευρά της Site-to-Site σύνδεσης.
- **Transit gateway**: Ένας transit hub που μπορεί να χρησιμοποιηθεί για να διασυνδέσει τις VPCs και τα on-premises δίκτυά σας. Χρησιμοποιείτε transit gateway ή virtual private gateway ως gateway για την Amazon πλευρά της Site-to-Site VPN σύνδεσης.
#### Limitations
#### Περιορισμοί
- Η κυκλοφορία IPv6 δεν υποστηρίζεται για συνδέσεις VPN σε ένα virtual private gateway.
- Μια σύνδεση AWS VPN δεν υποστηρίζει την ανακάλυψη Path MTU.
- Η κίνηση IPv6 δεν υποστηρίζεται για VPN συνδέσεις σε virtual private gateway.
- Μια AWS VPN σύνδεση δεν υποστηρίζει Path MTU Discovery.
Επιπλέον, λάβετε υπόψη τα εξής όταν χρησιμοποιείτε το Site-to-Site VPN.
Επιπλέον, λάβετε υπόψη τα ακόλουθα όταν χρησιμοποιείτε Site-to-Site VPN.
- Όταν συνδέετε τα VPC σας σε ένα κοινό τοπικό δίκτυο, προτείνουμε να χρησιμοποιείτε μη επικαλυπτόμενες περιοχές CIDR για τα δίκτυά σας.
- Όταν συνδέετε τις VPCs σας σε ένα κοινό on-premises δίκτυο, συνιστάται να χρησιμοποιείτε μη επικαλυπτόμενα CIDR blocks για τα δίκτυά σας.
### Client VPN <a href="#what-is-components" id="what-is-components"></a>
**Συνδέστε από τη μηχανή σας στο VPC σας**
**Συνδεθείτε από τον υπολογιστή σας στην VPC**
#### Concepts
#### Έννοιες
- **Client VPN endpoint:** Ο πόρος που δημιουργείτε και ρυθμίζετε για να επιτρέψετε και να διαχειριστείτε τις συνεδρίες VPN πελατών. Είναι ο πόρος όπου τερματίζονται όλες οι συνεδρίες VPN πελατών.
- **Target network:** Ένα target network είναι το δίκτυο που συνδέετε με ένα Client VPN endpoint. **Ένα υποδίκτυο από ένα VPC είναι ένα target network**. Η σύνδεση ενός υποδικτύου με ένα Client VPN endpoint σας επιτρέπει να δημιουργήσετε συνεδρίες VPN. Μπορείτε να συνδέσετε πολλά υποδίκτυα με ένα Client VPN endpoint για υψηλή διαθεσιμότητα. Όλα τα υποδίκτυα πρέπει να προέρχονται από το ίδιο VPC. Κάθε υποδίκτυο πρέπει να ανήκει σε διαφορετική Ζώνη Διαθεσιμότητας.
- **Route**: Κάθε Client VPN endpoint έχει έναν πίνακα δρομολόγησης που περιγράφει τις διαθέσιμες διαδρομές προορισμού δικτύου. Κάθε διαδρομή στον πίνακα δρομολόγησης καθορίζει την πορεία για την κυκλοφορία προς συγκεκριμένους πόρους ή δίκτυα.
- **Authorization rules:** Ένας κανόνας εξουσιοδότησης **περιορίζει τους χρήστες που μπορούν να έχουν πρόσβαση σε ένα δίκτυο**. Για ένα συγκεκριμένο δίκτυο, ρυθμίζετε την ομάδα Active Directory ή παρόχου ταυτότητας (IdP) που επιτρέπεται να έχει πρόσβαση. Μόνο οι χρήστες που ανήκουν σε αυτή την ομάδα μπορούν να έχουν πρόσβαση στο συγκεκριμένο δίκτυο. **Από προεπιλογή, δεν υπάρχουν κανόνες εξουσιοδότησης** και πρέπει να ρυθμίσετε κανόνες εξουσιοδότησης για να επιτρέψετε στους χρήστες να έχουν πρόσβαση σε πόρους και δίκτυα.
- **Client:** Ο τελικός χρήστης που συνδέεται με το Client VPN endpoint για να δημιουργήσει μια συνεδρία VPN. Οι τελικοί χρήστες χρειάζεται να κατεβάσουν έναν πελάτη OpenVPN και να χρησιμοποιήσουν το αρχείο ρύθμισης του Client VPN που δημιουργήσατε για να δημιουργήσουν μια συνεδρία VPN.
- **Client CIDR range:** Μια περιοχή διευθύνσεων IP από την οποία θα ανατεθούν διευθύνσεις IP πελατών. Κάθε σύνδεση με το Client VPN endpoint ανατίθεται μια μοναδική διεύθυνση IP από την περιοχή CIDR πελατών. Επιλέγετε την περιοχή CIDR πελατών, για παράδειγμα, `10.2.0.0/16`.
- **Client VPN ports:** Ο AWS Client VPN υποστηρίζει τις θύρες 443 και 1194 για TCP και UDP. Η προεπιλογή είναι η θύρα 443.
- **Client VPN network interfaces:** Όταν συνδέετε ένα υποδίκτυο με το Client VPN endpoint σας, δημιουργούμε διεπαφές δικτύου Client VPN σε αυτό το υποδίκτυο. **Η κυκλοφορία που αποστέλλεται στο VPC από το Client VPN endpoint αποστέλλεται μέσω μιας διεπαφής δικτύου Client VPN**. Στη συνέχεια εφαρμόζεται η μετάφραση διεύθυνσης προέλευσης δικτύου (SNAT), όπου η διεύθυνση IP προέλευσης από την περιοχή CIDR πελατών μεταφράζεται στη διεύθυνση IP της διεπαφής δικτύου Client VPN.
- **Connection logging:** Μπορείτε να ενεργοποιήσετε την καταγραφή συνδέσεων για το Client VPN endpoint σας για να καταγράφετε γεγονότα σύνδεσης. Μπορείτε να χρησιμοποιήσετε αυτές τις πληροφορίες για να εκτελέσετε εγκληματολογικές αναλύσεις, να αναλύσετε πώς χρησιμοποιείται το Client VPN endpoint σας ή να αποσφαλίσετε προβλήματα σύνδεσης.
- **Self-service portal:** Μπορείτε να ενεργοποιήσετε μια πύλη αυτοεξυπηρέτησης για το Client VPN endpoint σας. Οι πελάτες μπορούν να συνδεθούν στην διαδικτυακή πύλη χρησιμοποιώντας τα διαπιστευτήριά τους και να κατεβάσουν την τελευταία έκδοση του αρχείου ρύθμισης του Client VPN endpoint, ή την τελευταία έκδοση του πελάτη που παρέχεται από την AWS.
- **Client VPN endpoint:** Ο πόρος που δημιουργείτε και διαμορφώνετε για να επιτρέψετε και να διαχειριστείτε client VPN συνεδρίες. Είναι ο πόρος όπου τερματίζονται όλες οι client VPN συνεδρίες.
- **Target network:** Ένα target network είναι το δίκτυο που συσχετίζετε με ένα Client VPN endpoint. **Ένα subnet από μια VPC είναι target network**. Η συσχέτιση ενός subnet με ένα Client VPN endpoint σας επιτρέπει να δημιουργείτε VPN συνεδρίες. Μπορείτε να συσχετίσετε πολλαπλά subnets με ένα Client VPN endpoint για υψηλή διαθεσιμότητα. Όλα τα subnets πρέπει να ανήκουν στην ίδια VPC. Κάθε subnet πρέπει να ανήκει σε διαφορετικό Availability Zone.
- **Route**: Κάθε Client VPN endpoint έχει ένα route table που περιγράφει τις διαθέσιμες διαδρομές προορισμού δικτύου. Κάθε διαδρομή στον route table καθορίζει τη διαδρομή για την κίνηση προς συγκεκριμένους πόρους ή δίκτυα.
- **Authorization rules:** Ένας κανόνας εξουσιοδότησης **περιορίζει τους χρήστες που μπορούν να έχουν πρόσβαση σε ένα δίκτυο**. Για ένα συγκεκριμένο δίκτυο, ρυθμίζετε την Active Directory ή την ομάδα παρόχου ταυτότητας (IdP) που επιτρέπεται η πρόσβαση. Μόνο χρήστες που ανήκουν σε αυτήν την ομάδα μπορούν να έχουν πρόσβαση στο συγκεκριμένο δίκτυο. **Από προεπιλογή, δεν υπάρχουν κανόνες εξουσιοδότησης** και πρέπει να ρυθμίσετε κανόνες εξουσιοδότησης για να ενεργοποιήσετε την πρόσβαση των χρηστών σε πόρους και δίκτυα.
- **Client:** Ο τελικός χρήστης που συνδέεται στο Client VPN endpoint για να δημιουργήσει μια VPN συνεδρία. Οι τελικοί χρήστες πρέπει να κατεβάσουν έναν OpenVPN client και να χρησιμοποιήσουν το Client VPN configuration αρχείο που δημιουργήσατε για να δημιουργήσουν τη σύνδεση.
- **Client CIDR range:** Ένα εύρος IP διευθύνσεων από το οποίο εκχωρούνται διευθύνσεις IP στους clients. Κάθε σύνδεση στο Client VPN endpoint ανατίθεται μια μοναδική IP διεύθυνση από το client CIDR range. Επιλέγετε το client CIDR range, για παράδειγμα, `10.2.0.0/16`.
- **Client VPN ports:** Το AWS Client VPN υποστηρίζει τις θύρες 443 και 1194 για TCP και UDP. Η προεπιλογή είναι η θύρα 443.
- **Client VPN network interfaces:** Όταν συσχετίζετε ένα subnet με το Client VPN endpoint, δημιουργούμε Client VPN network interfaces σε αυτό το subnet. **Η κίνηση που αποστέλλεται στην VPC από το Client VPN endpoint προωθείται μέσω ενός Client VPN network interface**. Εφαρμόζεται then Source network address translation (SNAT), όπου η source IP διεύθυνση από το client CIDR range μεταφράζεται στην IP διεύθυνση του Client VPN network interface.
- **Connection logging:** Μπορείτε να ενεργοποιήσετε connection logging για το Client VPN endpoint σας για να καταγράφετε γεγονότα σύνδεσης. Μπορείτε να χρησιμοποιήσετε αυτές τις πληροφορίες για forensics, να αναλύσετε πώς χρησιμοποιείται το Client VPN endpoint ή να αποσφαλματώσετε προβλήματα σύνδεσης.
- **Self-service portal:** Μπορείτε να ενεργοποιήσετε ένα self-service portal για το Client VPN endpoint σας. Οι clients μπορούν να συνδεθούν στο web-based portal με τα διαπιστευτήριά τους και να κατεβάσουν την πιο πρόσφατη έκδοση του Client VPN endpoint configuration αρχείου, ή την πιο πρόσφατη έκδοση του AWS παρεχόμενου client.
#### Limitations
#### Περιορισμοί
- **Οι περιοχές CIDR πελατών δεν μπορούν να επικαλύπτονται με την τοπική CIDR** του VPC στο οποίο βρίσκεται το συνδεδεμένο υποδίκτυο, ή οποιεσδήποτε διαδρομές έχουν προστεθεί χειροκίνητα στον πίνακα δρομολόγησης του Client VPN endpoint.
- Οι περιοχές CIDR πελατών πρέπει να έχουν μέγεθος μπλοκ του **τουλάχιστον /22** και **να μην είναι μεγαλύτερες από /12.**
- Ένα **ποσοστό των διευθύνσεων** στην περιοχή CIDR πελατών χρησιμοποιείται για να **υποστηρίξει το μοντέλο διαθεσιμότητας** του Client VPN endpoint και δεν μπορεί να ανατεθεί σε πελάτες. Επομένως, προτείνουμε να **αναθέσετε ένα μπλοκ CIDR που περιέχει διπλάσιο αριθμό διευθύνσεων IP που απαιτούνται** για να επιτρέψετε τον μέγιστο αριθμό ταυτόχρονων συνδέσεων που σκοπεύετε να υποστηρίξετε στο Client VPN endpoint.
- Η **περιοχή CIDR πελατών δεν μπορεί να αλλάξει** μετά τη δημιουργία του Client VPN endpoint.
- Τα **υποδίκτυα** που συνδέονται με ένα Client VPN endpoint **πρέπει να βρίσκονται στο ίδιο VPC**.
- Δεν μπορείτε να **συνδέσετε πολλά υποδίκτυα από την ίδια Ζώνη Διαθεσιμότητας με ένα Client VPN endpoint**.
- Ένα Client VPN endpoint **δεν υποστηρίζει συνδέσεις υποδικτύου σε ένα VPC με αποκλειστική ενοικίαση**.
- Ο Client VPN υποστηρίζει **μόνο** κυκλοφορία IPv4.
- Ο Client VPN **δεν είναι** συμμορφωμένος με τα Ομοσπονδιακά Πρότυπα Επεξεργασίας Πληροφοριών (**FIPS**).
- Εάν η πολυπαραγοντική αυθεντικοποίηση (MFA) είναι απενεργοποιημένη για την Active Directory σας, ο κωδικός πρόσβασης ενός χρήστη δεν μπορεί να είναι στη μορφή.
- **Client CIDR ranges δεν μπορούν να επικαλύπτονται με το local CIDR** της VPC στην οποία βρίσκεται το σχετιζόμενο subnet, ή με οποιεσδήποτε διαδρομές που έχουν προστεθεί χειροκίνητα στον route table του Client VPN endpoint.
- Τα Client CIDR ranges πρέπει να έχουν μέγεθος μπλοκ τουλάχιστον **/22** και να **μην είναι μεγαλύτερα από /12**.
- Μια **πλευρά των διευθύνσεων** στο client CIDR range χρησιμοποιείται για να **υποστηρίξει το μοντέλο διαθεσιμότητας** του Client VPN endpoint και δεν μπορεί να ανατεθεί σε clients. Επομένως, συνιστούμε να **αναθέσετε ένα CIDR block που περιέχει διπλάσιο αριθμό IP διευθύνσεων από όσες απαιτούνται** για να υποστηρίξετε τον μέγιστο αριθμό ταυτόχρονων συνδέσεων που σκοπεύετε να υποστηρίξετε.
- Το **client CIDR range δεν μπορεί να αλλάξει** μετά τη δημιουργία του Client VPN endpoint.
- Τα **subnets** που σχετίζονται με ένα Client VPN endpoint **πρέπει να είναι στην ίδια VPC**.
- Δεν μπορείτε να συσχετίσετε πολλαπλά subnets από το ίδιο Availability Zone με ένα Client VPN endpoint.
- Ένα Client VPN endpoint **δεν υποστηρίζει subnet associations σε dedicated tenancy VPC**.
- Το Client VPN υποστηρίζει μόνο **IPv4** κίνηση.
- Το Client VPN **δεν είναι** compliant με Federal Information Processing Standards (**FIPS**).
- Εάν το multi-factor authentication (MFA) είναι απενεργοποιημένο για το Active Directory σας, ένας κωδικός χρήστη δεν μπορεί να έχει τη μορφή:
```
SCRV1:<base64_encoded_string>:<base64_encoded_string>
```
- Η πύλη αυτοεξυπηρέτησης **δεν είναι διαθέσιμη για πελάτες που αυθεντικοποιούνται χρησιμοποιώντας αμοιβαία αυθεντικοποίηση**.
- Το self-service portal **δεν είναι διαθέσιμο για clients που αυθεντικοποιούνται χρησιμοποιώντας mutual authentication**.
{{#include ../../../../banners/hacktricks-training.md}}
@@ -4,9 +4,9 @@
## S3
Amazon S3 είναι μια υπηρεσία που σας επιτρέπει να **αποθηκεύετε μεγάλα ποσά δεδομένων**.
Amazon S3 is a service that allows you **αποθηκεύετε μεγάλα ποσά δεδομένων**.
Amazon S3 παρέχει πολλαπλές επιλογές για να επιτύχετε την **προστασία** των δεδομένων σε REST. Οι επιλογές περιλαμβάνουν **Permission** (Policy), **Encryption** (Client and Server Side), **Bucket Versioning** και **MFA** **based delete**. Ο **χρήστης μπορεί να ενεργοποιήσει** οποιαδήποτε από αυτές τις επιλογές για να επιτύχει την προστασία των δεδομένων. Η **Data replication** είναι μια εσωτερική λειτουργία από την AWS όπου **S3 αντιγράφει αυτόματα κάθε αντικείμενο σε όλες τις Availability Zones** και ο οργανισμός δεν χρειάζεται να την ενεργοποιήσει σε αυτή την περίπτωση.
Amazon S3 provides multiple options to achieve the **προστασία** of data at REST. The options include **Δικαιώματα** (Policy), **Κρυπτογράφηση** (Client-side και Server-side), **Bucket Versioning** and **MFA** **based delete**. The **user can enable** any of these options to achieve data protection. **Αντιγραφή δεδομένων** is an internal facility by AWS where **S3 automatically replicates each object across all the Availability Zones** and the organization need not enable it in this case.
With resource-based permissions, you can define permissions for sub-directories of your bucket separately.
@@ -18,20 +18,20 @@ Moreover, MFA based delete will prevent versions of file in the S3 bucket from b
### S3 Access logs
It's possible to **enable S3 access login** (which by default is disabled) to some bucket and save the logs in a different bucket to know who is accessing the bucket (both buckets must be in the same region).
It's possible to **ενεργοποιήσετε το S3 access login** (which by default is disabled) to some bucket and save the logs in a different bucket to know who is accessing the bucket (both buckets must be in the same region).
### S3 Presigned URLs
It's possible to generate a presigned URL that can usually be used to **access the specified file** in the bucket. A **presigned URL looks like this**:
It's possible to generate a presigned URL that can usually be used to **να αποκτήσετε πρόσβαση στο συγκεκριμένο αρχείο** in the bucket. A **presigned URL looks like this**:
```
https://<bucket-name>.s3.us-east-1.amazonaws.com/asd.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUUE8GZC4S5L3TY3P%2F20230227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230227T142551Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjELf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIBhQpdETJO3HKKDk2hjNIrPWwBE8gZaQccZFV3kCpPCWAiEAid3ueDtFFU%2FOQfUpvxYTGO%2BHoS4SWDMUrQAE0pIaB40qggMIYBAAGgwzMTgxNDIxMzg1NTMiDJLI5t7gr2EGxG1Y5CrfAioW0foHIQ074y4gvk0c%2B%2Fmqc7cNWb1njQslQkeePHkseJ3owzc%2FCwkgE0EuZTd4mw0aJciA2XIbJRCLPWTb%2FCBKPnIMJ5aBzIiA2ltsiUNQTTUxYmEgXZoJ6rFYgcodnmWW0Et4Xw59UlHnCDB2bLImxPprriyCzDDCD6nLyp3J8pFF1S8h3ZTJE7XguA8joMs4%2B2B1%2FeOZfuxXKyXPYSKQOOSbQiHUQc%2BFnOfwxleRL16prWk1t7TamvHR%2Bt3UgMn5QWzB3p8FgWwpJ6GjHLkYMJZ379tkimL1tJ7o%2BIod%2FMYrS7LDCifP9d%2FuYOhKWGhaakPuJKJh9fl%2B0vGl7kmApXigROxEWon6ms75laXebltsWwKcKuYca%2BUWu4jVJx%2BWUfI4ofoaGiCSaKALTqwu4QNBRT%2BMoK6h%2BQa7gN7JFGg322lkxRY53x27WMbUE4unn5EmI54T4dWt1%2Bg8ljDS%2BvKfBjqmAWRwuqyfwXa5YC3xxttOr3YVvR6%2BaXpzWtvNJQNnb6v0uI3%2BTtTexZkJpLQYqFcgZLQSxsXWSnf988qvASCIUhAzp2UnS1uqy7QjtD5T73zksYN2aesll7rvB80qIuujG6NOdHnRJ2M5%2FKXXNo1Yd15MtzPuSjRoSB9RSMon5jFu31OrQnA9eCUoawxbB0nHqwK8a43CKBZHhA8RoUAJW%2B48EuFsp3U%3D&X-Amz-Signature=3436e4139e84dbcf5e2e6086c0ebc92f4e1e9332b6fda24697bc339acbf2cdfa
```
Ένα presigned URL μπορεί να **δημιουργηθεί από το cli χρησιμοποιώντας credentials ενός principal με πρόσβαση στο αντικείμενο** (εάν ο λογαριασμός που χρησιμοποιείτε δεν έχει πρόσβαση, θα δημιουργηθεί ένα πιο σύντομο presigned URL αλλά θα είναι άχρηστο)
Ένα presigned URL μπορεί να **δημιουργηθεί από το cli χρησιμοποιώντας credentials ενός principal με πρόσβαση στο object** (αν ο λογαριασμός που χρησιμοποιείτε δεν έχει πρόσβαση, θα δημιουργηθεί ένα presigned URL βραχύτερης διάρκειας αλλά θα είναι άχρηστο)
```bash
aws s3 presign --region <bucket-region> 's3://<bucket-name>/<file-name>'
```
> [!NOTE]
> Η μόνη απαιτούμενη άδεια για τη δημιουργία ενός presigned URL είναι η άδεια που δίνεται, οπότε στην προηγούμενη εντολή η μόνη άδεια που χρειάζεται ο principal είναι `s3:GetObject`
> Η μόνη απαραίτητη άδεια για να δημιουργηθεί ένα presigned URL είναι η άδεια που χορηγείται, οπότε για την προηγούμενη εντολή η μόνη άδεια που χρειάζεται ο principal είναι `s3:GetObject`
Είναι επίσης δυνατό να δημιουργηθούν presigned URLs με **άλλες άδειες**:
```python
@@ -42,99 +42,99 @@ Params={'Bucket': 'BUCKET_NAME', 'Key': 'OBJECT_KEY'},
ExpiresIn=3600
)
```
### Μηχανισμοί κρυπτογράφησης S3
### S3 Encryption Mechanisms
**DEK σημαίνει Κλειδί Κρυπτογράφησης Δεδομένων (Data Encryption Key)** και είναι το κλειδί που πάντα δημιουργείται και χρησιμοποιείται για την κρυπτογράφηση δεδομένων.
**DEK σημαίνει Data Encryption Key** και είναι το κλειδί που πάντα δημιουργείται και χρησιμοποιείται για την κρυπτογράφηση των δεδομένων.
<details>
<summary><strong>Server-side κρυπτογράφηση με διαχειριζόμενα κλειδιά S3, SSE-S3</strong></summary>
<summary><strong>Server-side encryption with S3 managed keys, SSE-S3</strong></summary>
Αυτή η επιλογή απαιτεί ελάχιστη ρύθμιση και όλη η διαχείριση των κλειδιών κρυπτογράφησης γίνεται από την AWS. Το μόνο που χρειάζεται να κάνετε είναι να **ανεβάσετε τα δεδομένα σας και το S3 θα χειριστεί όλα τα υπόλοιπα**. Σε κάθε bucket σε έναν λογαριασμό S3 ανατίθεται ένα bucket key.
Αυτή η επιλογή απαιτεί ελάχιστη διαμόρφωση και όλη η διαχείριση των κλειδιών κρυπτογράφησης γίνεται από την AWS. Το μόνο που χρειάζεται να κάνετε είναι να **ανεβάσετε τα δεδομένα σας και το S3 θα χειριστεί όλα τα υπόλοιπα**. Σε κάθε bucket σε έναν λογαριασμό S3 ανατίθεται ένα bucket key.
- Κρυπτογράφηση:
- Object Data + δημιουργημένο plaintext DEK --> Κρυπτογραφημένα δεδομένα (αποθηκεύονται μέσα στο S3)
- Created plaintext DEK + S3 Master Key --> Encrypted DEK (αποθηκεύεται μέσα στο S3) και το plain text διαγράφεται από τη μνήμη
- Αποκρυπτογράφηση:
- Encryption:
- Object Data + created plaintext DEK --> Encrypted data (αποθηκεύεται στο S3)
- Created plaintext DEK + S3 Master Key --> Encrypted DEK (αποθηκεύεται στο S3) και το plaintext διαγράφεται από τη μνήμη
- Decryption:
- Encrypted DEK + S3 Master Key --> Plaintext DEK
- Plaintext DEK + Encrypted data --> Object Data
Παρακαλώ σημειώστε ότι σε αυτή την περίπτωση **το κλειδί διαχειρίζεται από την AWS** (rotation μόνο κάθε 3 χρόνια). Εάν χρησιμοποιήσετε το δικό σας κλειδί θα μπορείτε να το περιστρέψετε, να το απενεργοποιήσετε και να εφαρμόσετε έλεγχο πρόσβασης.
Παρακαλώ σημειώστε ότι σε αυτή την περίπτωση **το κλειδί διαχειρίζεται από την AWS** (rotation μόνο κάθε 3 χρόνια). Εάν χρησιμοποιήσετε το δικό σας κλειδί θα μπορείτε να πραγματοποιείτε rotation, να το απενεργοποιείτε και να εφαρμόζετε έλεγχο πρόσβασης.
</details>
<details>
<summary><strong>Server-side κρυπτογράφηση με KMS διαχειριζόμενα κλειδιά, SSE-KMS</strong></summary>
<summary><strong>Server-side encryption with KMS managed keys, SSE-KMS</strong></summary>
Αυτή η μέθοδος επιτρέπει στο S3 να χρησιμοποιήσει το Key Management Service για να δημιουργήσει τα data encryption keys σας. Το KMS σας δίνει πολύ μεγαλύτερη ευελιξία στον τρόπο διαχείρισης των κλειδιών σας. Για παράδειγμα, μπορείτε να απενεργοποιήσετε, να περιστρέψετε και να εφαρμόσετε ελέγχους πρόσβασης στο CMK, καθώς και να καταγράψετε/ελέγξετε τη χρήση τους μέσω AWS CloudTrail.
Αυτή η μέθοδος επιτρέπει στο S3 να χρησιμοποιήσει το Key Management Service για να δημιουργήσει τα data encryption keys σας. Το KMS σας δίνει πολύ μεγαλύτερη ευελιξία στο πώς διαχειρίζεται τα κλειδιά σας. Για παράδειγμα, μπορείτε να απενεργοποιήσετε, να κάνετε rotation και να εφαρμόσετε ελέγχους πρόσβασης στο CMK, καθώς και να παρακολουθείτε τη χρήση τους μέσω του AWS Cloud Trail.
- Κρυπτογράφηση:
- Το S3 ζητά data keys από το KMS CMK
- Το KMS χρησιμοποιεί ένα CMK για να δημιουργήσει το ζευγάρι plaintext DEK και DEK encrypted και τα στέλνει στο S3
- Το S3 χρησιμοποιεί το plaintext key για να κρυπτογραφήσει τα δεδομένα, αποθηκεύει τα κρυπτογραφημένα δεδομένα και το κρυπτογραφημένο κλειδί και διαγράφει από τη μνήμη το plain text key
- Αποκρυπτογράφηση:
- Το S3 ζητά από το KMS να αποκρυπτογραφήσει το encrypted data key του αντικειμένου
- Το KMS αποκρυπτογραφεί το data key με το CMK και το επιστρέφει στο S3
- Το S3 αποκρυπτογραφεί τα δεδομένα του αντικειμένου
- Encryption:
- S3 ζητά από το KMS data keys από το CMK
- KMS χρησιμοποιεί ένα CMK για να δημιουργήσει το ζεύγος plaintext DEK και encrypted DEK και τα στέλνει στο S3
- S3 χρησιμοποιεί το plaintext key για να κρυπτογραφήσει τα δεδομένα, αποθηκεύει τα encrypted data και το encrypted key και διαγράφει από τη μνήμη το plaintext key
- Decryption:
- S3 ζητά από το KMS να αποκρυπτογραφήσει το encrypted data key του αντικειμένου
- KMS αποκρυπτογραφεί το data key με το CMK και το στέλνει πίσω στο S3
- S3 αποκρυπτογραφεί τα object data
</details>
<details>
<summary><strong>Server-side κρυπτογράφηση με πελάτη-παρεχόμενα κλειδιά, SSE-C</strong></summary>
<summary><strong>Server-side encryption with customer provided keys, SSE-C</strong></summary>
Αυτή η επιλογή σας δίνει τη δυνατότητα να παρέχετε το δικό σας master key που μπορεί ήδη να χρησιμοποιείτε εκτός AWS. Το customer-provided key σας θα αποστέλλεται μαζί με τα δεδομένα σας στο S3, όπου το S3 θα εκτελεί την κρυπτογράφηση για εσάς.
Αυτή η επιλογή σας δίνει τη δυνατότητα να παρέχετε το δικό σας master key που μπορεί ήδη να χρησιμοποιείτε εκτός AWS. Το customer-provided key θα αποστέλλεται μαζί με τα δεδομένα σας στο S3, όπου το S3 θα πραγματοποιεί την κρυπτογράφηση για εσάς.
- Κρυπτογράφηση:
- Ο χρήστης στέλνει τα object data + Customer key στο S3
- Το customer key χρησιμοποιείται για να κρυπτογραφήσει τα δεδομένα και τα κρυπτογραφημένα δεδομένα αποθηκεύονται
- Μια salted HMAC τιμή του customer key αποθηκεύεται επίσης για μελλοντική επικύρωση κλειδιού
- Encryption:
- Ο χρήστης στέλνει το object data + Customer key στο S3
- Το customer key χρησιμοποιείται για να κρυπτογραφήσει τα δεδομένα και τα encrypted data αποθηκεύονται
- Επίσης αποθηκεύεται μια salted HMAC τιμή του customer key για μελλοντική επαλήθευση κλειδιού
- Το customer key διαγράφεται από τη μνήμη
- Αποκρυπτογράφηση:
- Decryption:
- Ο χρήστης στέλνει το customer key
- Το κλειδί επικυρώνεται έναντι της αποθηκευμένης HMAC τιμής
- Το customer provided key χρησιμοποιείται στη συνέχεια για την αποκρυπτογράφηση των δεδομένων
- Το κλειδί επαληθεύεται έναντι της αποθηκευμένης HMAC τιμής
- Το customer provided key χρησιμοποιείται στη συνέχεια για να αποκρυπτογραφήσει τα δεδομένα
</details>
<details>
<summary><strong>Client-side κρυπτογράφηση με KMS, CSE-KMS</strong></summary>
<summary><strong>Client-side encryption with KMS, CSE-KMS</strong></summary>
Παρομοίως με το SSE-KMS, αυτή η μέθοδος χρησιμοποιεί επίσης το Key Management Service για να δημιουργήσει τα data encryption keys σας. Ωστόσο, αυτή τη φορά το KMS καλείται μέσω του client και όχι του S3. Η κρυπτογράφηση πραγματοποιείται client-side και τα κρυπτογραφημένα δεδομένα αποστέλλονται στο S3 για αποθήκευση.
Παρόμοια με το SSE-KMS, αυτό επίσης χρησιμοποιεί το Key Management Service για να δημιουργήσει τα data encryption keys σας. Ωστόσο, αυτή τη φορά το KMS καλείται από τον client και όχι από το S3. Η κρυπτογράφηση γίνεται στο client και τα κρυπτογραφημένα δεδομένα αποστέλλονται στο S3 για αποθήκευση.
- Κρυπτογράφηση:
- Ο client αιτείται data key από το KMS
- Encryption:
- Ο client ζητά ένα data key από το KMS
- Το KMS επιστρέφει το plaintext DEK και το encrypted DEK με το CMK
- Και τα δύο κλειδιά επιστρέφονται
- Ο client κρυπτογραφεί τα δεδομένα με το plaintext DEK και στέλνει στο S3 τα encrypted data + το encrypted DEK (το οποίο αποθηκεύεται ως metadata των κρυπτογραφημένων δεδομένων στο S3)
- Αποκρυπτογράφηση:
- Τα encrypted data με το encrypted DEK αποστέλλονται στον client
- Και τα δύο κλειδιά επιστρέφονται στον client
- Ο client κρυπτογραφεί τα δεδομένα με το plaintext DEK και στέλνει στο S3 τα encrypted data + το encrypted DEK (που αποθηκεύεται ως metadata των encrypted data μέσα στο S3)
- Decryption:
- Τα encrypted data μαζί με το encrypted DEK αποστέλλονται στον client
- Ο client ζητά από το KMS να αποκρυπτογραφήσει το encrypted key χρησιμοποιώντας το CMK και το KMS επιστρέφει το plaintext DEK
- Ο client μπορεί τώρα να αποκρυπτογραφήσει τα κρυπτογραφημένα δεδομένα
- Ο client μπορεί τώρα να αποκρυπτογραφήσει τα encrypted data
</details>
<details>
<summary><strong>Client-side κρυπτογράφηση με πελάτη-παρεχόμενα κλειδιά, CSE-C</strong></summary>
<summary><strong>Client-side encryption with customer provided keys, CSE-C</strong></summary>
Χρησιμοποιώντας αυτόν τον μηχανισμό, μπορείτε να χρησιμοποιήσετε τα δικά σας παρεχόμενα κλειδιά και έναν AWS-SDK client για να κρυπτογραφήσετε τα δεδομένα σας πριν τα στείλετε στο S3 για αποθήκευση.
- Κρυπτογράφηση:
- Encryption:
- Ο client δημιουργεί ένα DEK και κρυπτογραφεί τα plaintext δεδομένα
- Έπειτα, χρησιμοποιώντας το δικό του custom CMK, κρυπτογραφεί το DEK
- Έπειτα, χρησιμοποιώντας το δικό του custom CMK το κρυπτογραφεί το DEK
- Υποβάλλει τα encrypted data + encrypted DEK στο S3 όπου αποθηκεύονται
- Αποκρυπτογράφηση:
- Το S3 στέλνει τα encrypted data και το DEK
- Εφόσον ο client ήδη έχει το CMK που χρησιμοποιήθηκε για την κρυπτογράφηση του DEK, το αποκρυπτογραφεί και στη συνέχεια χρησιμοποιεί το plaintext DEK για να αποκρυπτογραφήσει τα δεδομένα
- Decryption:
- Το S3 στέλνει τα encrypted data και το encrypted DEK
- Εφόσον ο client έχει ήδη το CMK που χρησιμοποιήθηκε για την κρυπτογράφηση του DEK, αποκρυπτογραφεί το DEK και στη συνέχεια χρησιμοποιεί το plaintext DEK για να αποκρυπτογραφήσει τα δεδομένα
</details>
### **Enumeration**
Ένας από τους παραδοσιακούς κύριους τρόπους παραβίασης οργανισμών AWS ξεκινά με τον συμβιβασμό δημόσια προσβάσιμων buckets. **Μπορείτε να βρείτε** [**public buckets enumerators in this page**](../aws-unauthenticated-enum-access/index.html#s3-buckets)**.**
Ένας από τους παραδοσιακούς κύριους τρόπους συμβιβασμού οργανισμών AWS ξεκινά με τον συμβιβασμό publicly accessible buckets. **Μπορείτε να βρείτε [public buckets enumerators in this page](../aws-unauthenticated-enum-access/index.html#s3-buckets)**.
```bash
# Get buckets ACLs
aws s3api get-bucket-acl --bucket <bucket-name>
@@ -150,7 +150,7 @@ aws s3api list-buckets
# list content of bucket (no creds)
aws s3 ls s3://bucket-name --no-sign-request
aws s3 ls s3://bucket-name --recursive
aws s3 ls s3://bucket-name --recursive --no-sign-request
# list content of bucket (with creds)
aws s3 ls s3://bucket-name
@@ -229,16 +229,16 @@ aws s3api put-object-acl --bucket <bucket-name> --key flag --access-control-poli
```
### dual-stack <a href="#dual-stack-endpoints-description" id="dual-stack-endpoints-description"></a>
Μπορείτε να αποκτήσετε πρόσβαση σε ένα S3 bucket μέσω ενός dual-stack endpoint χρησιμοποιώντας ένα virtual hosted-style ή ένα path-style endpoint name. Αυτά είναι χρήσιμα για πρόσβαση στο S3 μέσω IPv6.
Μπορείτε να προσπελάσετε ένα S3 bucket μέσω ενός dual-stack endpoint χρησιμοποιώντας είτε ένα virtual hosted-style είτε ένα path-style όνομα endpoint. Αυτά είναι χρήσιμα για πρόσβαση στο S3 μέσω IPv6.
Dual-stack endpoints χρησιμοποιούν την εξής σύνταξη:
Dual-stack endpoints use the following syntax:
- `bucketname.s3.dualstack.aws-region.amazonaws.com`
- `s3.dualstack.aws-region.amazonaws.com/bucketname`
### Privesc
Στην ακόλουθη σελίδα μπορείτε να δείτε πώς να **abuse S3 permissions to escalate privileges**:
Στην παρακάτω σελίδα μπορείτε να δείτε πώς να **abuse S3 permissions to escalate privileges**:
{{#ref}}
../aws-privilege-escalation/aws-s3-privesc/README.md
@@ -262,23 +262,23 @@ Dual-stack endpoints χρησιμοποιούν την εξής σύνταξη:
../aws-persistence/aws-s3-persistence/README.md
{{#endref}}
## Άλλες ευπάθειες S3
## Other S3 vulns
### S3 HTTP Cache Poisoning Issue <a href="#heading-s3-http-desync-cache-poisoning-issue" id="heading-s3-http-desync-cache-poisoning-issue"></a>
[**Σύμφωνα με αυτή την έρευνα**](https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies#heading-s3-http-desync-cache-poisoning-issue) ήταν δυνατό να αποθηκευτεί στην cache η απάντηση ενός αυθαίρετου bucket σαν να ανήκε σε διαφορετικό. Αυτό θα μπορούσε να έχει χρησιμοποιηθεί για να τροποποιήσει, για παράδειγμα, τις απαντήσεις αρχείων JavaScript και να θέσει σε κίνδυνο αυθαίρετες σελίδες που χρησιμοποιούν το S3 για την αποθήκευση στατικού κώδικα.
[**According to this research**](https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies#heading-s3-http-desync-cache-poisoning-issue) ήταν δυνατό να αποθηκευτεί στην cache η απόκριση ενός τυχαίου bucket σαν να ανήκε σε διαφορετικό. Αυτό θα μπορούσε να χρησιμοποιηθεί για να αλλάξει, για παράδειγμα, τις απαντήσεις αρχείων javascript και να compromise arbitrary pages που χρησιμοποιούν το S3 για την αποθήκευση στατικού κώδικα.
## Amazon Athena
Amazon Athena είναι μια διαδραστική υπηρεσία ερωτημάτων που καθιστά εύκολο να **αναλύσετε δεδομένα** απευθείας στο Amazon Simple Storage Service (Amazon **S3**) **χρησιμοποιώντας** το πρότυπο **SQL**.
Το Amazon Athena είναι μια διαδραστική υπηρεσία ερωτημάτων που καθιστά εύκολη την **ανάλυση δεδομένων** απευθείας στο Amazon Simple Storage Service (Amazon **S3**) **χρησιμοποιώντας** standard **SQL**.
Πρέπει να **ετοιμάσετε έναν σχεσιακό πίνακα DB** με τη μορφή του περιεχομένου που πρόκειται να εμφανιστεί στα παρακολουθούμενα S3 buckets. Στη συνέχεια, το Amazon Athena θα μπορεί να γεμίσει τη βάση από τα logs, ώστε να μπορείτε να εκτελείτε ερωτήματα.
Πρέπει να **ετοιμάσετε έναν σχεσιακό πίνακα DB** με τη μορφή του περιεχομένου που θα εμφανίζεται στα παρακολουθούμενα S3 buckets. Στη συνέχεια, το Amazon Athena θα μπορεί να συμπληρώσει τη DB από τα logs, ώστε να μπορείτε να εκτελέσετε ερωτήματα.
Το Amazon Athena υποστηρίζει την **ικανότητα εκτέλεσης ερωτημάτων σε δεδομένα S3 που είναι ήδη κρυπτογραφημένα** και, αν έχει ρυθμιστεί έτσι, **το Athena μπορεί επίσης να κρυπτογραφήσει τα αποτελέσματα του ερωτήματος τα οποία στη συνέχεια μπορούν να αποθηκευτούν στο S3**.
Το Amazon Athena υποστηρίζει τη **δυνατότητα να κάνετε query σε δεδομένα S3 που είναι ήδη κρυπτογραφημένα** και, εάν ρυθμιστεί έτσι, **το Athena μπορεί επίσης να κρυπτογραφήσει τα αποτελέσματα του ερωτήματος τα οποία μπορούν στη συνέχεια να αποθηκευτούν στο S3**.
**Αυτή η κρυπτογράφηση των αποτελεσμάτων είναι ανεξάρτητη από τα υποκείμενα δεδομένα S3 που ερωτώνται**, πράγμα που σημαίνει ότι ακόμη και αν τα δεδομένα S3 δεν είναι κρυπτογραφημένα, τα αποτελέσματα των ερωτημάτων μπορούν να κρυπτογραφηθούν. Ένα ζήτημα που πρέπει να γνωρίζετε είναι ότι το Amazon Athena υποστηρίζει μόνο δεδομένα που έχουν **κρυπτογραφηθεί** με τις **εξής μεθόδους κρυπτογράφησης S3**, **SSE-S3, SSE-KMS, και CSE-KMS**.
**Αυτή η κρυπτογράφηση των αποτελεσμάτων είναι ανεξάρτητη από τα υποκείμενα δεδομένα S3 που ερωτώνται**, πράγμα που σημαίνει ότι ακόμα και αν τα δεδομένα S3 δεν είναι κρυπτογραφημένα, τα αποτελέσματα του ερωτήματος μπορούν να είναι κρυπτογραφημένα. Μερικά σημεία που πρέπει να έχετε υπόψη είναι ότι το Amazon Athena υποστηρίζει μόνο δεδομένα που έχουν **κρυπτογραφηθεί** με τις **εξής μεθόδους κρυπτογράφησης S3**, **SSE-S3, SSE-KMS, and CSE-KMS**.
Οι SSE-C και CSE-C δεν υποστηρίζονται. Επιπλέον, είναι σημαντικό να κατανοήσετε ότι το Amazon Athena θα εκτελεί ερωτήματα μόνο σε **κρυπτογραφημένα αντικείμενα που βρίσκονται στην ίδια region με το ίδιο το ερώτημα**. Εάν χρειάζεται να ερωτήσετε δεδομένα S3 που έχουν κρυπτογραφηθεί χρησιμοποιώντας KMS, απαιτούνται συγκεκριμένα permissions από τον χρήστη του Athena για να μπορέσει να εκτελέσει το ερώτημα.
SSE-C and CSE-C are not supported. Επιπλέον, είναι σημαντικό να κατανοήσετε ότι το Amazon Athena θα εκτελεί ερωτήματα μόνο σε **κρυπτογραφημένα αντικείμενα που βρίσκονται στην ίδια region με το ίδιο το ερώτημα**. Εάν χρειάζεται να εκτελέσετε query σε δεδομένα S3 που έχουν κρυπτογραφηθεί χρησιμοποιώντας KMS, τότε απαιτούνται συγκεκριμένα permissions από τον χρήστη του Athena για να του επιτραπεί η εκτέλεση του ερωτήματος.
### Enumeration
```bash