Γιατί και πώς να ασφαλίσετε το τελικό σημείο API;

Πώς προστατεύετε το API σας;

Είναι η εποχή της έκρηξης της ψηφιακής οικονομίας και ο τεράστιος όγκος δεδομένων διοχετεύεται μέσω των API. Επιχειρήσεις, παιχνίδια, εκπαίδευση, καιρός, επιστήμη, τέχνες. . . ονόμασε το; όλα λειτουργούν σε API. Για έναν κόσμο που βασίζεται τόσο θεμελιωδώς στα API, υπάρχει εκπληκτικά μικρή εστίαση στην ασφάλεια.

Για τους προγραμματιστές, οι προεπιλογές των πλαισίων τους είναι αρκετές. ή ακόμα χειρότερα, όταν δεν χρησιμοποιούνται πλαίσια, νομίζουν ότι ακολουθούν πρακτικές ασφαλείας. Για τους διαχειριστές συστήματος, η προεπιλεγμένη ασφάλεια που προσφέρεται από την υποδομή ή τον πάροχο υπηρεσιών είναι αυτό που βασίζονται.

Δεν είναι καθόλου όμορφο θέαμα, αν με ρωτάτε.

Πηγή: developer.ibm.com

Περιττό να πούμε ότι διακυβεύονται πολλά, τα οποία συνειδητοποιούμε μόνο όταν κάτι πραγματικά τρομερό συμβαίνει.

Πρώτα όμως πρώτα. 🙂

Γιατί να ασφαλιστούν τα τελικά σημεία API;

Αυτό πρέπει να είναι άστοχο, σωστά;

Πρέπει να εξασφαλίσουμε τελικά σημεία γιατί, λοιπόν, από αυτό εξαρτάται η επιχείρηση.

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

Απώλεια επιχείρησης 📉

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

Φανταστείτε ένα ανταλλακτήριο συναλλάγματος να είναι εκτός λειτουργίας για λίγα λεπτά!

Θέματα συμμόρφωσης

Η μη σωστή ασφάλεια των API σας μπορεί να σας φέρει σε σοβαρό πρόβλημα, ανάλογα με τις γεωγραφίες ή τις βιομηχανίες με τις οποίες αντιμετωπίζετε. Για παράδειγμα, εάν εξυπηρετείτε τον τραπεζικό κλάδο (κυρίως στην ΕΕ), το κόστος της ανακάλυψης της υπηρεσίας με μη ασφαλή API θα οδηγήσει σε τεράστια νομικά προβλήματα και προβλήματα συμμόρφωσης. Τόσο πολύ που μπορεί να σημαίνει και το τέλος της επιχείρησής σας.

Απώλεια φήμης

Η εισβολή είναι αρκετά επώδυνη από μόνη της, αλλά αν δημοσιοποιηθούν νέα, θα υπάρξει ανεπανόρθωτη απώλεια στην εικόνα της επωνυμίας σας. Για παράδειγμα, η Sony έχει χακαριστεί μερικές φορές πολύ άσχημα μέχρι τώρα, και στους κύκλους ασφαλείας, η εταιρεία είναι μια περίγελος του είδους.

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

Φουσκωμένοι λογαριασμοί υποδομών 💰

Όταν το API σας εκτελείται σε υποδομή, καταναλώνει πόρους (εύρος ζώνης, CPU και μνήμη, κυρίως). Για παράδειγμα, όταν το API δεν είναι σωστά ασφαλισμένο και οι κακόβουλοι ξένοι μπορούν να αλληλεπιδράσουν μαζί του, είναι πιθανό να αναγκάσουν το API να συνεχίσει να κάνει πολλή άσκοπη δουλειά (εκτελώντας βαριά ερωτήματα βάσης δεδομένων, για παράδειγμα), που μπορεί να πυροβολήσει αυξήστε τους λογαριασμούς σας για λόγους.

Σε πλατφόρμες όπου είναι ενεργοποιημένη η αυτόματη κλιμάκωση των πόρων (όπως το AWS), τα αποτελέσματα μπορεί να είναι σοκαριστικά (εκτός θέματος, αλλά αν ποτέ πιαστείτε σε μια σούπα όπως αυτή στο AWS, καταλαβαίνουν καλά την κατάσταση και παραιτούνται αμέσως ο φουσκωμένος λογαριασμός — τουλάχιστον ως τώρα!).

  Πώς να διορθώσετε τη διαφθορά σωρού λειτουργίας πυρήνα – αρχείο

Το ηθικό της ομάδας

Έτσι, μπορεί να σκεφτείτε ότι η ομάδα που άφησε αυτούς τους συμβιβασμούς να συμβούν θα χάσει το ηθικό τους. Λοιπόν, όχι ακριβώς. Είναι πιθανό ότι οι συμβιβασμοί οφείλονταν σε αδύναμη ασφάλεια υποδομής, η οποία θα απογοητεύσει τους προγραμματιστές ή το αντίστροφο.

Εάν συμβεί αυτό αρκετό χρόνο, θα έχετε μια κουλτούρα στα χέρια σας που θα μετανιώσετε που θα αφήσετε να αναπτυχθεί.

Τα κέρδη του ανταγωνιστή

Ας πούμε λοιπόν ότι υπήρξε παραβίαση, αλλά δεν υπήρξε πραγματική απώλεια. Ωστόσο, οι ανταγωνιστές σας θα χρησιμοποιήσουν το περιστατικό για να δημιουργήσουν το δικό τους API και να επιβεβαιώσουν πόσο πιο ασφαλές είναι το δικό τους (ακόμα και αν δεν είναι!). Για άλλη μια φορά, καλή τύχη προσπαθώντας να πείσεις την αγορά. 🙂

Συνολικά, υπάρχουν συνέπειες στις παραβιάσεις της ασφάλειας που ξεπερνούν την απώλεια χρημάτων.

Βέλτιστες πρακτικές για την εξασφάλιση τελικών σημείων API

Ευτυχώς, υπάρχουν ορισμένες εύκολες στην εφαρμογή και κατανοητές πρακτικές που μπορείτε να εφαρμόσετε στα τελικά σημεία του API για την ασφάλειά τους. Δείτε τι προτείνουν οι περισσότεροι ειδικοί σε θέματα ασφάλειας.

HTTPS πάντα 🔒

Εάν τα τελικά σημεία του API επιτρέπουν στους καταναλωτές API να μιλούν μέσω http ή άλλων μη ασφαλών πρωτοκόλλων, τους βάζετε σε μεγάλο κίνδυνο. Οι κωδικοί πρόσβασης, τα μυστικά κλειδιά και οι πληροφορίες πιστωτικών καρτών μπορούν εύκολα να κλαπούν όπως όλα επίθεση άνθρωπος στη μέσηή το εργαλείο sniffer πακέτων μπορεί να τα διαβάσει ως απλό κείμενο.

Επομένως, να κάνετε πάντα το https τη μόνη διαθέσιμη επιλογή. Ανεξάρτητα από το πόσο ασήμαντο μπορεί να φαίνεται ένα τελικό σημείο, η σύνδεση μέσω http δεν θα πρέπει καν να αποτελεί επιλογή. Το πιστοποιητικό TLS δεν κοστίζει πολύ. μπορείτε να αγοράσετε για μόλις $20 από το Κατάστημα SSL.

Κατακερματισμός κωδικού πρόσβασης μονής κατεύθυνσης

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

Η μόνη προτεινόμενη επιλογή είναι οι ασύμμετροι (ή “μονόδρομοι”) αλγόριθμοι κρυπτογράφησης για την αποθήκευση κωδικών πρόσβασης. Με αυτόν τον τρόπο, ούτε ένας εισβολέας ούτε κάποιος προγραμματιστής ή διαχειριστής συστήματος εντός της εταιρείας θα μπορεί να διαβάσει τους κωδικούς πρόσβασης πελατών.

Ισχυρή πιστοποίηση 💪

Τώρα, σχεδόν κάθε API έχει μια μορφή ελέγχου ταυτότητας, αλλά κατά τη γνώμη μου, το σύστημα OAuth2 λειτουργεί καλύτερα. Σε αντίθεση με άλλες μεθόδους ελέγχου ταυτότητας, διαιρεί τον λογαριασμό σας σε πόρους και επιτρέπει μόνο περιορισμένη πρόσβαση στον φορέα ελέγχου ταυτότητας.

Ταυτόχρονα, μια άλλη πολύ καλή πρακτική να ορίζεις τα token να λήγουν κάθε, ας πούμε, 24 ώρες, ώστε να χρειάζονται ανανέωση. Με αυτόν τον τρόπο, ακόμη και αν το διακριτικό σας διαρρεύσει, υπάρχει πιθανότητα η προθεσμία των 24 ωρών να μειώσει τον αντίκτυπο της παραβίασης.

Εφαρμογή περιορισμού ποσοστού

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

Αυτό γίνεται κυρίως για να αποθαρρύνουν τα ρομπότ, τα οποία μπορούν να συνεχίσουν να στέλνουν εκατοντάδες ταυτόχρονες αιτήσεις κάθε δευτερόλεπτο και να κάνουν το API σας να καταναλώνει τους πόρους του συστήματος χωρίς καλό λόγο. Όλα τα πλαίσια ανάπτυξης ιστού συνοδεύονται από ένα ενδιάμεσο λογισμικό που περιορίζει το ρυθμό (και αν όχι, είναι αρκετά εύκολο να το προσθέσετε μέσω βιβλιοθήκης) που χρειάζεται μόλις ένα λεπτό για να ρυθμιστεί.

  7 Καλύτερα Εργαλεία Παρακολούθησης Διακόπτη Δικτύου

Επικύρωση εισαγωγής

Αυτό ακούγεται σαν απρόοπτο, αλλά θα εκπλαγείτε πόσα API πέφτουν για αυτό. Η επικύρωση εισόδου δεν σημαίνει απλώς ότι ελέγχετε ότι τα εισερχόμενα δεδομένα είναι στη σωστή μορφή, αλλά και ότι δεν υπάρχουν εκπλήξεις. Ένα απλό παράδειγμα είναι η ένεση SQL, η οποία μπορεί να εξαλείψει τις βάσεις δεδομένων σας εάν αφήσετε τις συμβολοσειρές ερωτημάτων να περάσουν με ελάχιστο ή καθόλου έλεγχο.

Ένα άλλο παράδειγμα είναι να επικυρώσετε το μέγεθος του αιτήματος POST και να επιστρέψετε έναν σωστό κωδικό σφάλματος και μήνυμα στον πελάτη. Η προσπάθεια αποδοχής και ανάλυσης γελοίων μεγάλων εισόδων θα χρησιμεύσει μόνο για την ανατίναξη του API.

Επιβολή φιλτραρίσματος διευθύνσεων IP, εάν υπάρχει

Εάν ασχολείστε με τις υπηρεσίες B2B και τα API σας χρησιμοποιούνται από επιχειρήσεις από καθορισμένες τοποθεσίες, σκεφτείτε να προσθέσετε ένα επιπλέον επίπεδο ασφάλειας που περιορίζει τις διευθύνσεις IP που μπορούν να έχουν πρόσβαση στο API σας. Για κάθε νέα τοποθεσία και νέο πελάτη, η διεύθυνση IP θα πρέπει να ελεγχθεί σε σχέση με το εισερχόμενο αίτημα.

Ναι, προσθέτει ενόχληση στην ενσωμάτωση, αλλά το τελικό αποτέλεσμα είναι πολύ πιο αυστηρή ασφάλεια από ό,τι μπορεί να επιτευχθεί διαφορετικά.

Εργαλεία για την αύξηση της προστασίας API

Υπάρχουν εργαλεία που μπορούν να μας βοηθήσουν να ανιχνεύσουμε ευπάθειες ή ακόμα καλύτερα, να προσφέρουν την πρώτη γραμμή άμυνας όσον αφορά την ασφάλεια των API;

Ευτυχώς, ναι. Υπάρχουν πολλά εργαλεία που μπορείτε να χρησιμοποιήσετε, αλλά να είστε προσεκτικοί ότι στο τέλος της ημέρας, καμία στρατηγική ασφαλείας δεν είναι τέλεια. Τούτου λεχθέντος, αυτά τα εργαλεία μπορούν να αυξήσουν την ασφάλεια του API σας πολλαπλάσια, επομένως συνιστώνται.

Metasploit είναι ένα εξαιρετικά δημοφιλές πλαίσιο ανοιχτού κώδικα για τη δοκιμή διείσδυσης εφαρμογών ιστού και API. Μπορεί να σαρώσει το API σας σε πολλές διαφορετικές παραμέτρους και να πραγματοποιήσει έναν εξαντλητικό έλεγχο ασφαλείας για διαφορετικά επίπεδα τρωτών σημείων που υπάρχουν.

Για παράδειγμα, η σάρωση ασφαλείας που διεξάγεται από το Metasploit μπορεί να σας πει εάν οι υπογραφές API σας δίνουν τις υποκείμενες τεχνολογίες και το λειτουργικό σύστημα ή όχι. Η απόκρυψη αυτού είναι συχνά η μισή μάχη που κερδίζεται στην ασφάλεια API.

Ενώ το βασικό πλαίσιο ανοιχτού κώδικα είναι γενικά αρκετό, υπάρχουν εξαιρετικά προϊόντα επί πληρωμή που έχουν δημιουργηθεί πάνω από το Metasploit που αξίζει να δείτε. Το επαγγελματικό σχέδιο είναι εξαιρετικό εάν θέλετε υποστήριξη premium και θα χρησιμοποιείτε το πλαίσιο σε βάθος, αλλά γενικά δεν είναι απαραίτητο εάν η ομάδα σας είναι αρκετά έμπειρη.

AppTrana

Η αποκλειστική προστασία API της AppTrana Τα χαρακτηριστικά προσφέρουν μια ολοκληρωμένη λύση βάσει κινδύνου για προστασία από ένα ευρύ φάσμα απειλών API, συμπεριλαμβανομένων των κορυφαίων 10 OWASP API, επιθέσεων DDoS και bot που βασίζονται σε API, ενσωματωμένων απειλών, διαρροής δεδομένων κ.λπ. Με απεριόριστη αυτοματοποιημένη σάρωση API που υποστηρίζεται με μη αυτόματο στυλό- δοκιμές, παρακολουθεί συνεχώς τη βαθμολογία κινδύνου σας για να ενισχύσει τη στάση ασφαλείας.

Η προστασία API της AppTrana διασφαλίζει την πιο ολοκληρωμένη λύση με τον συνδυασμό ανίχνευσης κινδύνου, εντοπισμού απειλών API, πολιτικών θετικής ασφάλειας API, πολιτικών DDoS ειδικών για API, λειτουργικών μονάδων Bot ειδικά για API και λειτουργιών API Discovery.

  Πώς να αλλάξετε την ενεργή σας κατάσταση στο LinkedIn

Η ανακάλυψη API του εξασφαλίζει πλήρη ορατότητα σε κλήσεις API, συμπεριλαμβανομένων μη τεκμηριωμένων και σκιωδών API, για να κατανοήσετε την επιφάνεια επίθεσης API σας. Αυτή η αποκλειστική προστασία API συλλέγει πληροφορίες σχετικά με τα στοιχεία των χρηστών, τη συμπεριφορά χρήσης API, τη δραστηριότητα απειλών, τους χάρτες κλήσεων API και πολλά άλλα για να προβάλει την κατάσταση προστασίας με αναλυτικά στοιχεία σε πραγματικό χρόνο.

Χρησιμοποιώντας το Indusface AppTrana, μπορείτε να δημιουργήσετε προσαρμοσμένες πολιτικές ειδικά για το API για να αποκλείσετε την κατάχρηση που εστιάζεται στο API σε πραγματικό χρόνο.

Cloudflare

Όχι μόνο το CDN αλλά Cloudflare προσφέρει πολλές δυνατότητες ασφαλείας όπως WAF, περιορισμός ρυθμού, προστασία DDoS, που θα είναι απαραίτητες για την ασφάλεια του API σας από διαδικτυακές απειλές.

Invicti

Invicti συνοδεύεται από ένα USP «σάρωσης βάσει δοκιμών». Με απλούστερους όρους, είναι συχνά πιθανό οι ακανόνιστες συνθήκες δικτύου ή κάποιες λιγότερο γνωστές συμπεριφορές API να ερμηνεύονται ως κενά ασφαλείας, τα οποία αργότερα διαπιστώνεται ότι είναι λανθασμένα.

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

Με εταιρείες όπως η Sony, η Religare, η Coca-Cola, η Huawei κ.λπ., στη λίστα πελατών τους, μπορείτε να είστε σίγουροι ότι αυτοί οι άνθρωποι κάνουν κάτι σωστά. 🙂

SoapUI Pro

Κατασκευάστηκε από την SmartBear, SoapUI Pro είναι ένας διαισθητικός και εύκολος τρόπος δημιουργίας δοκιμών API και λήψης ακριβών αναφορών που βασίζονται σε δεδομένα για αυτά. Επίσης, ενσωματώνεται άψογα με τη διοχέτευση CI/CD, διασφαλίζοντας ότι καμία νέα προσθήκη κώδικα δεν θέτει σε κίνδυνο την ασφάλεια του API σας.

Το SoapUI είναι σε θέση να συνεργαστεί με το Swagger, το OAS και άλλα δημοφιλή πρότυπα API, μειώνοντας σημαντικά τον χρόνο για να ξεκινήσετε. Με πελάτες όπως Microsoft, Cisco, MasterCard, Oracle κ.λπ., και προγράμματα που ξεκινούν από 659 $ ετησίως, αυτό είναι ένα αξιόλογο εργαλείο για πιο ασφαλή API.

Okta

Προσπαθήστε Okta για να επιτρέψετε στους προγραμματιστές σας να επικεντρωθούν στη βελτίωση της εμπειρίας χρήστη καθώς και στην αποτελεσματική προστασία των εταιρικών σας δεδομένων. Προσφέρει εξουσιοδότηση OAuth 2.0 και έχει σχεδιαστεί τόσο για κινητές συσκευές όσο και για εφαρμογές web. Είναι επίσης συμβατό με υπηρεσίες διαχείρισης API τρίτων.

Χρησιμοποιήστε το Okta για να δημιουργήσετε, να ελέγξετε και να διατηρήσετε όλες τις πολιτικές για την πρόσβαση στο API μέσω φιλικών προς τον χρήστη και ειδικά κατασκευασμένων κονσολών χωρίς να χρειάζεστε προσαρμοσμένους κωδικούς. Σας προσφέρει επιπλέον ευελιξία, ώστε να μην χρειάζεται να ασφαλίζετε τα API σας χρησιμοποιώντας επιπλέον παρουσίες πύλης.

Το Okta περιλαμβάνει πολιτική με γνώμονα την ταυτότητα για τον έλεγχο διαφορετικών τύπων χρηστών και υπηρεσιών κάτω από μια στέγη. Καθορίστε την πρόσβαση ανάλογα με τα προφίλ χρηστών, τα δίκτυα, τις ομάδες, τη συναίνεση και τους πελάτες. Επεκτείνετε τα διακριτικά χρησιμοποιώντας δυναμικά δεδομένα από τα εσωτερικά σας συστήματα για να απολαύσετε ταχύτερη ενοποίηση και απρόσκοπτη μετεγκατάσταση.

Διευκολύνει μια κεντρική διαχείριση για API και σας επιτρέπει να προστατεύσετε πόρους API. Το Okta εστιάζει στην ασφάλεια, επιτρέποντάς σας να προστατεύετε την πρόσβαση μεταξύ διαφορετικών μικροϋπηρεσιών.

συμπέρασμα

Υπάρχει καμία έλλειψη των εργαλείων ασφαλείας API που διατίθενται στην αγορά, είτε είναι ανοιχτού κώδικα, δωρεάν ή εμπορικά, είτε οποιοσδήποτε συνδυασμός αυτών.

Δοκιμάστε μερικά από αυτά από τη λίστα και δείτε τι λειτουργεί καλύτερα για τις ανάγκες σας.