Πώς να ασφαλίσετε εφαρμογές Web με AWS WAF;



Αυτό το άρθρο θα σας πει πώς μπορείτε να Ασφαλίσετε Εφαρμογές Ιστού με AWS WAF και να το παρακολουθήσετε με μια πρακτική επίδειξη.

Αυτό το άρθρο θα σας πει πώς μπορείτε να ασφαλίσετε εφαρμογές Web WAF και συνεχίστε με μια πρακτική επίδειξη. Οι ακόλουθοι δείκτες θα καλυφθούν σε αυτό το άρθρο,

Ας ξεκινήσουμε λοιπόν,





Συνεχίζοντας αυτό το άρθρο σχετικά με το «Πώς να ασφαλίσετε την εφαρμογή Ιστού με AWS WAF;»

Ξεκινώντας με ορισμένες βασικές αρχές

Η AWS παρέχει υπηρεσίες όπως EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) για τη δημιουργία χρήσιμων και φανταχτερών εφαρμογών γρήγορα και με λιγότερα CAPEX (CAPital EXPenditure). Κατά τη δημιουργία αυτών των εφαρμογών, είναι εξίσου σημαντικό να προστατεύετε την εφαρμογή και να προστατεύετε τα δεδομένα. Εάν δεν είναι σωστά ασφαλισμένα, τα δεδομένα της εφαρμογής ενδέχεται να πέσουν σε λάθος χέρια όπως στην περίπτωση του πρόσφατου Capital One περιστατικό .



Το Capital One φιλοξένησε μια Εφαρμογή Ιστού στο EC2 και δεν ήταν ασφαλής. Ένας πρώην υπάλληλος AWS κατάφερε να εκμεταλλευτεί αυτήν την ευπάθεια και να κατεβάσει δέσμες δεδομένων πελατών από το S3. Αργότερα διαπιστώθηκε ότι τα δεδομένα από 30 άλλους οργανισμούς λήφθηκαν επίσης από το AWS. Επομένως, για να το τονίσω και πάλι, δεν αρκεί να σχεδιάσουμε και να σχεδιάσουμε μια εφαρμογή, αλλά είναι εξίσου σημαντικό να εξασφαλίσεις μια εφαρμογή.

Χρησιμοποιείται το Capital One AWS WAF (Τείχος προστασίας εφαρμογών Ιστού) για την προστασία της Εφαρμογής Ιστού, αλλά δεν είχε διαμορφωθεί σωστά λόγω του οποίου ο εισβολέας μπόρεσε να αποκτήσει πρόσβαση στα δεδομένα στο S3 και να τα κατεβάσει. Σε αυτό το άρθρο θα διερευνήσουμε πώς να χρησιμοποιούμε και να ρυθμίζουμε το AWS WAF για προστασία από συνηθισμένες επιθέσεις στο Διαδίκτυο, όπως SQL Injection, XSS (Cross Site Scripting) κ.λπ. Ισορροπία φόρτωσης εφαρμογής , CloudFront ή API Gateway. Σε αυτό το σενάριο, θα χρησιμοποιήσουμε το Application Load Balancer. Οποιοδήποτε αίτημα από τον πελάτη μέσω του προγράμματος περιήγησης θα περάσει μέσω του AWS WAF και στη συνέχεια στο Application Load Balancer και τέλος στην εφαρμογή Web στο EC2. Το AWS WAF μπορεί να χρησιμοποιηθεί αποκλείστε το κακόβουλο αίτημα από τους χάκερ χρησιμοποιώντας ένα σύνολο κανόνων και προϋποθέσεων.

Image - Ασφαλείς εφαρμογές Ιστού με AWS WAF - Edureka

Συνεχίζοντας αυτό το άρθρο σχετικά με το «Πώς να ασφαλίσετε την εφαρμογή Ιστού με AWS WAF;»



Ακολουθία βημάτων για να ξεκινήσετε με το AWS WAF

Βήμα 1: Δημιουργία μιας ευάλωτης εφαρμογής ιστού,

Το πρώτο βήμα είναι να δημιουργήσετε μια εφαρμογή ιστού που είναι ευάλωτη σε επιθέσεις SSRF (Server Side Request Forgery) όπως αναφέρεται σε αυτό Ιστολόγιο για το πώς συνέβη η επίθεση Capital One. Αυτό το ιστολόγιο έχει την ακολουθία των βημάτων για:

  1. Δημιουργήστε ένα EC2
  2. Εγκαταστήστε το απαιτούμενο λογισμικό για να δημιουργήσετε την εφαρμογή ιστού με ευπάθεια SSRF
  3. Δημιουργία και ρόλος IAM με δικαιώματα S3 μόνο για ανάγνωση
  4. Συνδέστε το ρόλο IAM στο EC2
  5. Τέλος, εκμεταλλευτείτε την ευπάθεια SSRF για να αποκτήσετε τα διαπιστευτήρια ασφαλείας που σχετίζονται με το ρόλο IAM.

Μόλις ολοκληρωθεί η ακολουθία των βημάτων στο αναφερόμενο ιστολόγιο, αντικαταστήστε το 5.6.7.8 με τη δημόσια διεύθυνση IP του EC2 στην παρακάτω διεύθυνση URL και ανοίξτε το στο πρόγραμμα περιήγησης. Τα διαπιστευτήρια ασφαλείας που σχετίζονται με τον ρόλο IAM θα ​​πρέπει να εμφανίζονται στο πρόγραμμα περιήγησης όπως φαίνεται παρακάτω. Έτσι βασικά εισπράχθηκε το Capital One. Με τα διαπιστευτήρια ασφαλείας στο χέρι, ο χάκερ μπόρεσε να αποκτήσει πρόσβαση σε άλλες υπηρεσίες AWS όπως το S3 για να κατεβάσει τα δεδομένα.

http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Βήμα 2: Δημιουργία εξισορροπητή φόρτωσης εφαρμογής

Το AWS WAF δεν μπορεί να συσχετιστεί άμεσα με μια εφαρμογή Ιστού. Όμως, μπορεί να συσχετιστεί μόνο με το Application Load Balancer, το CloudFront και το API Gateway. Σε αυτό το σεμινάριο, θα δημιουργούσαμε το Ισορροπία φόρτωσης εφαρμογής και συσχέτιση του AWS WAF με το ίδιο.

Βήμα 2α: Μια ομάδα στόχου είναι μια συλλογή από παρουσίες EC2 και πρέπει να δημιουργηθεί πριν από τη δημιουργία του εξισορροπητή φόρτωσης εφαρμογών. Στην Κονσόλα διαχείρισης EC2, κάντε κλικ στο Ομάδα στόχου στο αριστερό παράθυρο και κάντε κλικ στο 'Δημιουργία ομάδας στόχου'.

Βήμα 2β: Εισαγάγετε το όνομα της ομάδας στόχου και κάντε κλικ στο 'Δημιουργία'. Η ομάδα-στόχος θα δημιουργηθεί με επιτυχία.

Βήμα 2γ: Βεβαιωθείτε ότι είναι επιλεγμένη η Ομάδα στόχου και κάντε κλικ στην καρτέλα Στόχοι και κάντε κλικ στην επεξεργασία για να καταχωρήσετε παρουσίες EC2 στην Ομάδα Στόχου.

Βήμα 2δ: Επιλέξτε την παρουσία EC2 και κάντε κλικ στο 'Προσθήκη σε καταχωρημένο' και κάντε κλικ στο 'Αποθήκευση'.

Οι παρουσίες πρέπει να καταχωρηθούν όπως φαίνεται παρακάτω για την Ομάδα Στόχου.

Βήμα 2ε: Ώρα να δημιουργήσετε τον Ισορροπητή Φόρτωσης Εφαρμογών. Κάντε κλικ στο Load Balancer στο αριστερό τμήμα του EC2 Management Console και κάντε κλικ στο 'Create Load Balancer'.

Κάντε κλικ στο 'Δημιουργία' για το 'Application Load Balancer'.

Συνεχίζοντας αυτό το άρθρο σχετικά με το «Πώς να ασφαλίσετε την εφαρμογή Ιστού με AWS WAF;»

Βήμα 2στ: Εισαγάγετε το όνομα του Application Load Balancer. Και βεβαιωθείτε ότι έχετε επιλέξει όλες τις ζώνες διαθεσιμότητας και κάντε κλικ στο Επόμενο.

Βήμα 2ζ: Στο 'Configure Security Settings' κάντε κλικ στο Next.

Στο 'Configure Security Groups' δημιουργήστε μια νέα ομάδα ασφαλείας ή επιλέξτε μία από τις υπάρχουσες ομάδες ασφαλείας. Βεβαιωθείτε ότι η θύρα 80 είναι ανοιχτή για πρόσβαση στην ιστοσελίδα στο EC2. Κάντε κλικ στο Επόμενο.

Βήμα 2h: Στο 'Configure Routing' επιλέξτε 'Existing target group' και επιλέξτε αυτό που έχει δημιουργηθεί στο προηγούμενο βήμα. Κάντε κλικ στο Επόμενο.

Βήμα 2i: Οι παρουσίες στόχου EC2 έχουν ήδη καταχωριστεί ως μέρος των ομάδων στόχων. Έτσι, στην καρτέλα 'Εγγραφή στόχου', χωρίς αλλαγές κάντε κλικ στο Επόμενο.

Βήμα 2ι: Τέλος, ελέγξτε όλες τις λεπτομέρειες του Application Load Balancer και κάντε κλικ στο Δημιουργία. Το Application Load Balancer θα δημιουργηθεί όπως φαίνεται παρακάτω.

Βήμα 2k: Αποκτήστε το όνομα τομέα της εφαρμογής Load Load Balancer και αντικαταστήστε το επισημασμένο κείμενο στην παρακάτω διεύθυνση URL και ανοίξτε το ίδιο στο πρόγραμμα περιήγησης. Σημειώστε ότι έχουμε πρόσβαση στην Εφαρμογή Ιστού μέσω του Application Load Balancer και τα διαπιστευτήρια ασφαλείας εμφανίζονται όπως φαίνεται παρακάτω. Η παρακάτω διεύθυνση URL μπορεί να αποκλειστεί χρησιμοποιώντας AWS WAF όπως φαίνεται στα επόμενα βήματα για να σταματήσει η διαρροή των διαπιστευτηρίων ασφαλείας.

MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Βήμα 3: Δημιουργία του AWS WAF (Τείχος προστασίας εφαρμογών Ιστού)

Βήμα 3α: Πηγαίνετε στο AWS WAF Management Console και κάντε κλικ στο 'Configure web ACL'. Εμφανίζεται η επισκόπηση AWS WAF. Εδώ είναι η ιεραρχία του AWS WAF. Το Web ACL έχει μια δέσμη κανόνων και οι κανόνες έχουν μια δέσμη προϋποθέσεων που θα δημιουργούσαμε στα επόμενα βήματα. Κάντε κλικ στο Επόμενο.

Βήμα 3β: Εισαγάγετε το όνομα Web ACL, την περιοχή ως Βόρεια Βιρτζίνια (ή όπου δημιουργήθηκε το EC2), τον τύπο πόρου ως 'Application Load Balancer' και τέλος επιλέξτε το Application Load Balancer που δημιουργήθηκε στο προηγούμενο βήμα. Κάντε κλικ στο Επόμενο.

Βήμα 3γ: Εδω ενα συνθήκη για τον αποκλεισμό ενός συγκεκριμένου αιτήματος εφαρμογής ιστού πρέπει να δημιουργηθεί. Κάντε κύλιση προς τα κάτω και κάντε κλικ στο 'Δημιουργία συνθήκης' για τις 'Συνθήκες αντιστοίχισης συμβολοσειράς και regex'.

Βήμα 3d: Εισαγάγετε το όνομα της συνθήκης, τον τύπο ως 'String match', το φίλτρο στο 'Όλες οι παράμετροι ερωτήματος' και οι υπόλοιπες παράμετροι ακριβώς όπως φαίνεται παρακάτω. Και κάντε κλικ στο 'Προσθήκη φίλτρου' και στη συνέχεια στο Δημιουργία. Εδώ προσπαθούμε να δημιουργήσουμε μια συνθήκη που ταιριάζει με τη διεύθυνση URL που περιέχει την τιμή της παραμέτρου ερωτήματος ως 169.254.169.254. Αυτή η διεύθυνση IP σχετίζεται με το Μεταδεδομένα EC2 .

Βήμα 3ε: Τώρα είναι η ώρα να δημιουργήσετε έναν κανόνα που είναι μια συλλογή συνθηκών. Κάντε κλικ στο «Δημιουργία κανόνα» και καθορίστε τις παραμέτρους όπως ακριβώς φαίνεται παρακάτω. Κάντε κλικ στο 'Προσθήκη συνθήκης', Δημιουργία και 'Έλεγχος και δημιουργία'.

Συνεχίζοντας αυτό το άρθρο σχετικά με το «Πώς να ασφαλίσετε την εφαρμογή Ιστού με AWS WAF;»

Βήμα 3στ: Τέλος, ελέγξτε όλες τις λεπτομέρειες και κάντε κλικ στο 'Επιβεβαίωση και δημιουργία'. Το Web ACL (Λίστα ελέγχου πρόσβασης) θα δημιουργηθεί και θα συσχετιστεί με το Application Load Balancer όπως φαίνεται παρακάτω.

είναι μια σχέση java

Βήμα 3γ: Τώρα προσπαθήστε να αποκτήσετε πρόσβαση στη διεύθυνση URL του Load Load Balancer μέσω του προγράμματος περιήγησης όπως εκτελείται στο Βήμα 2k . Αυτή τη φορά θα λάβουμε το '403 Forbidden' καθώς η διεύθυνση URL μας αντιστοιχεί στην κατάσταση ACL Web και την αποκλείουμε. Το αίτημα δεν φθάνει ποτέ στο Application Load Balancer ή στην εφαρμογή Web στο EC2. Εδώ παρατηρούμε ότι παρόλο που η εφαρμογή επιτρέπει την πρόσβαση στα διαπιστευτήρια ασφαλείας, το WAF αποκλείει το ίδιο.

Βήμα 4: Εκκαθάριση των πόρων AWS που δημιουργήθηκαν σε αυτό το σεμινάριο. Ο καθαρισμός πρέπει να γίνει με την ίδια ακριβώς σειρά όπως αναφέρεται παρακάτω. Αυτό γίνεται για να διασφαλιστεί ότι το AWS σταματά τη χρέωση για τους σχετικούς πόρους που δημιουργήθηκαν ως μέρος αυτού του σεμιναρίου.

  • Διαγραφή συνθήκης στον κανόνα
  • Διαγράψτε τον κανόνα στο WebACL
  • Αποσυνδέστε το ALB στο WebACL
  • Διαγραφή WebACL
  • Διαγράψτε τον κανόνα
  • Διαγράψτε το φίλτρο στη συνθήκη
  • Διαγράψτε τη συνθήκη
  • Διαγράψτε το ALB και την ομάδα στόχου
  • Τερματίστε το EC2
  • Διαγράψτε τον ρόλο IAM

συμπέρασμα

Όπως αναφέρθηκε προηγουμένως, η δημιουργία μιας εφαρμογής Ιστού χρησιμοποιώντας AWS είναι πολύ εύκολη και ενδιαφέρουσα. Αλλά πρέπει επίσης να διασφαλίσουμε ότι η εφαρμογή είναι ασφαλής και ότι τα δεδομένα δεν έχουν διαρρεύσει σε λάθος χέρια. Η ασφάλεια μπορεί να εφαρμοστεί σε πολλά επίπεδα. Σε αυτό το σεμινάριο έχουμε δει πώς χρησιμοποιείτε το AWS WAF (Τείχος προστασίας εφαρμογών Ιστού) για την προστασία της Εφαρμογής Ιστού από επιθέσεις όπως η αντιστοίχιση με τη διεύθυνση IP των Μεταδεδομένων EC2. Θα μπορούσαμε επίσης να χρησιμοποιήσουμε το WAF για προστασία από κοινές επιθέσεις όπως το SQL Injection και το XSS (Cross Site Scripting).

Η χρήση AWS WAF ή στην πραγματικότητα οποιουδήποτε άλλου προϊόντος ασφαλείας δεν καθιστά την εφαρμογή ασφαλή, αλλά το προϊόν πρέπει να διαμορφωθεί σωστά. Εάν δεν έχουν διαμορφωθεί σωστά, τα δεδομένα ενδέχεται να πέσουν σε λάθος χέρια όπως συνέβη με το Capital One και άλλους οργανισμούς. Επίσης, το άλλο σημαντικό πράγμα που πρέπει να λάβετε υπόψη είναι ότι η Ασφάλεια πρέπει να μελετηθεί από την πρώτη ημέρα και να μην συνδεθεί στην εφαρμογή σε μεταγενέστερο στάδιο.

Αυτό μας φέρνει στο τέλος αυτού του άρθρου σχετικά με τον τρόπο διασφάλισης των εφαρμογών Ιστού με AWS WAF. Έχουμε επίσης δημιουργήσει ένα πρόγραμμα σπουδών που καλύπτει ακριβώς αυτό που θα χρειαστείτε για να ολοκληρώσετε την εξέταση Solution Architect! Μπορείτε να ρίξετε μια ματιά στις λεπτομέρειες του μαθήματος για εκπαίδευση.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου Τι είναι AWS και θα επικοινωνήσουμε μαζί σας.