Ασφάλεια & Συμμόρφωση
Υπηρεσία εγγενώς βασισμένη στο cloud
Η SabeeApp έχει αναπτυχθεί για να είναι βασισμένη στο cloud, το οποίο έχει πολλές θετικές πτυχές. Το μόνο που χρειάζεστε είναι μια σύνδεση στο διαδίκτυο, ένα πρόγραμμα περιήγησης και έναν ενεργό SabeeApp λογαριασμό. Η SabeeApp δεν μπορεί να εγκατασταθεί σε υπολογιστή, επομένως ορισμένες λειτουργίες και υπηρεσίες λειτουργούν διαφορετικά από ένα παλιού τύπου λογισμικό που βρίσκεται σε συσκευή.
Το πρόγραμμα της SabeeApp δεν εκτελείται σε φυσικό διακομιστή, αλλά στην υποδομή cloud της AWS (Amazon Web Services), η οποία είναι μια πλατφόρμα SAAS (Software as a Service) που περιγράφεται λεπτομερώς παρακάτω.
Η SabeeApp χρησιμοποιεί μια λεγόμενη διαμοιρασμένη βάση δεδομένων και βάση κώδικα, ή με άλλα λόγια διευκολύνει μια υποδομή πολλαπλών μισθωτών του διακομιστή. Αυτό σημαίνει ότι περισσότεροι πελάτες συνδέονται σε μία βάση δεδομένων. Χρησιμοποιούμε μια κοινή βάση δεδομένων και μια βάση κώδικα και όλοι οι πελάτες μας χρησιμοποιούν αυτή τη βάση κώδικα ή αυτόν τον τύπο εγκατάστασης. Ένα από τα κύρια πλεονεκτήματα αυτού είναι ότι κάθε πελάτης χρησιμοποιεί την πιο ενημερωμένη έκδοση του λογισμικού. Φυσικά αυτό δεν σημαίνει ότι λόγω αυτής της δομής η ασφάλεια διακυβεύεται καθόλου. Χρησιμοποιούμε επίσης διαφορετικά δικαιώματα χρήστη στη SabeeApp και σε ένα κοινόχρηστο σύστημα πολλαπλών μισθωτών ένας πελάτης μπορεί να ταυτοποιηθεί σαν διαφορετικός λογαριασμός χρήστη.
Υποδομή
Το λογισμικό της SabeeApp υποστηρίζεται από το σύστημα cloud της AWS (Amazon Web Services) στο κέντρο δεδομένων της Amazon στην Ιρλανδία. Όλες οι υπηρεσίες που χρησιμοποιούνται από την AWS βασίζονται σε πολλαπλές ζώνες ώστε αν μία ζώνη δε λειτουργεί το υπόλοιπο σύστημα να μπορεί να αποκαταστήσει την υπόλοιπη λειτουργία.
- Route53
- WAF (Web Application Firewall)
- S3 (Simple Storage Service)
- ALB (Application Load Balancer)
- VPC (Virtual Private Network)
- RDS (Relational Database Service)
- ElastiCache
- Elasticsearch Service
- CloudWatch (monitoring, alarming)
- KMS (Key Management Service)
- Certificate Manager
- OpsWorks
- CodeCommit
Τρίτοι πάροχοι υπηρεσιών
- Beanstalk (svn, git) - Διαμοιρασμός πηγαίου κώδικα
- Github - Διαμοιρασμός πηγαίου κώδικα
- Google Analytics - για σκοπούς ανάλυσης
- Twillio - Πάροχος γραπτών μηνυμάτων
- Mandrillapp, Mailchimp - υπηρεσία email
- Technical stack (dev, test, prod)
Στη SabeeApp χρησιμοποιούμε τις ακόλουθες γλώσσες προγραμματισμού: PHP, Javascript, Bootstrap, και έχουμε τα ακόλουθα στάδια ανάπτυξης:
- Ανάπτυξη - στάδιο ανάπτυξης, μη διαθέσιμο εξωτερικά
- Έλεγχος - στάδιο ελέγχου, διαθέσιμο εξωτερικά μόνο για χρήση εντός της SabeeApp
- Παραγωγή - στάδιο ζωντανής χρήσης
Ασφάλεια βάσης δεδομένων, ασφάλεια δεδομένων, ανάκαμψη από καταστροφές
Καθώς πρόκειται για ένα σύστημα που βασίζεται στο cloud, η απώλεια δεδομένων μπορεί να συμβεί εάν το σφάλμα ή το πρόβλημα σχετίζεται με τη βάση δεδομένων ή το σύστημα αρχείων όπου αποθηκεύονται τα pdf ή άλλα έγγραφα.
Τα ακόλουθα πρωτόκολλα και λύσεις εφαρμόζονται προκειμένου να ελαχιστοποιηθεί ο κίνδυνος απώλειας δεδομένων:
- Τα πραγματικά δεδομένα αποθηκεύονται σε πολλαπλές βάσεις δεδομένων λόγω της συνεχούς αντιγραφής της βάσης δεδομένων
- Κάθε βράδυ δημιουργείται ένα αντίγραφο ασφαλείας, το οποίο μπορεί να αποκατασταθεί σε λίγα λεπτά, από το οποίο αποθηκεύουμε τα τελευταία 9 αντίγραφα.
- Μεταξύ των μηχανών RDS και EC2 η επικοινωνία γίνεται μέσω κρυπτογραφημένου καναλιού.
- Η βάση δεδομένων είναι προσβάσιμη μόνο από το εσωτερικό σύστημα ή μέσω του συστήματος SSH με σύνδεση στον κεντρικό διακομιστή.
- Τα ευαίσθητα δεδομένα στη βάση δεδομένων αποθηκεύονται με διαφορετική κρυπτογράφηση, για παράδειγμα οι πιστωτικές κάρτες με κρυπτογράφηση 2 κλειδιών και οι κωδικοί πρόσβασης με κρυπτογράφηση salted SHA-512
- Η βάση δεδομένων χωρίζεται σε 3 ζώνες και σε περίπτωση που μια ζώνη τεθεί εκτός λειτουργίας, μια άλλη ζώνη αναλαμβάνει - αυτόματα.
Διαδικασία διαχείρισης συμβάντων
Στη SabeeApp κάθε περιστατικό επιλύεται ακολουθώντας ένα αυστηρό πρωτόκολλο και στη συνέχεια τεκμηριώνεται. Αυτό το πρωτόκολλο είναι διαθέσιμο σε κάθε εργαζόμενο της SabeeApp για εσωτερική χρήση.
Χρησιμοποιούμε τις ακόλουθες διαδικασίες σε περίπτωση συμβάντος:
- Εντοπισμός του προβλήματος
- Κοινοποίηση του προβλήματος σε ολόκληρη την ομάδα της SabeeApp
- Καθορισμός του συντονιστή του συμβάντος, εάν είναι απαραίτητο
- Κοινοποίηση του προβλήματος στον πελάτη σε περίπτωση που το περιστατικό αφορά πελάτη
- Εξάλειψη του προβλήματος
- Αποφυγή επανεμφάνισης του προβλήματος (εάν είναι απαραίτητο έλεγχος και αλλαγή πρωτοκόλλου)
- Ανάκτηση δεδομένων και πηγαίου κώδικα, εάν χρειάζεται
- Δημιουργία σεναρίων και εκτέλεση αυτών σε περίπτωση που απαιτείται αντικατάσταση/τροποποίηση δεδομένων
- Ενημέρωση των τεχνικών εταίρων, εάν είναι απαραίτητο
- Ενημέρωση των πελατών για την επίλυση του περιστατικού
- Τεκμηρίωση του περιστατικού
- Ασφάλεια των υποδομών (μέτρα ασφαλείας amazon, pentest, tl, MFA)
Ασφάλεια υποδομών
Λόγω της διαχείρισης του συστήματος cloud της AWS, η ενημέρωση και τα θέματα ασφάλειας των διακομιστών αποτελούν ευθύνη των μηχανικών της Amazon. Το σημείο επίθεσης ελαχιστοποιείται όσο το δυνατόν περισσότερο λόγω της μεγάλης μηχανικής και της ομάδας ασφαλείας.
Τα διαπιστευτήρια σύνδεσης στην AWS δίνονται μόνο σε συναδέλφους για καλό λόγο και επιτρέπεται η χρήση τους μόνο με αυστηρά μέτρα ασφαλείας ( με τη χρήση αυστηρού κωδικού πρόσβασης και MFA)
Με τη βοήθεια τρίτου μέρους πραγματοποιούμε τακτικά δοκιμές διείσδυσης μαύρου και γκρίζου κουτιού προκειμένου να εντοπίσουμε τις ευπάθειες του συστήματος.
Αναλύουμε επίσης τακτικά την ασφάλεια και την ποιότητα του κώδικα με το εργαλείο SonarQube.
Όλη η κυκλοφορία δεδομένων κρυπτογραφείται με κρυπτογράφηση τουλάχιστον TLS 1.2 και κάθε δεδομένο που αποθηκεύουμε είναι κρυπτογραφημένο.
Όλοι οι κωδικοί πρόσβασης που αποθηκεύονται από το SabeeApp είναι κατακερματισμένοι, δεν αποθηκεύουμε ποτέ οποιονδήποτε κωδικό πρόσβασης ή μυστικά δεδομένα ως κείμενο.
Η καταγραφή των επιδόσεων του εσωτερικού συστήματος βασίζεται σε πολλαπλά επίπεδα.
Διαχείριση ασφάλειας προσωπικού
- Η σύμβαση εργασίας κάθε συναδέλφου περιέχει πληροφορίες σχετικά με τον χειρισμό των δεδομένων και τη συμφωνία για την υποχρέωση τήρησης του απορρήτου. Η εκπαίδευση κάθε νέου συναδέλφου περιλαμβάνει εκπαίδευση για την προστασία των δεδομένων και την ασφάλεια.
- Η συνδεσιμότητα στην AWS παρέχεται μόνο για σοβαρό λόγο και εφόσον είναι απαραίτητη για την εργασία.
- Οι μηχανικοί μας έχουν δικαιώματα ανάγνωσης μόνο στη ζωντανή βάση δεδομένων μας.
- Για εσωτερική χρήση και όπου είναι δυνατόν χρησιμοποιούμε μόνο κωδικούς πρόσβασης υψηλής ασφάλειας που διαχειρίζεται το 1 Password και χρησιμοποιούμε ταυτοποίηση MFA όπου είναι δυνατόν.
- Οι συνάδελφοί μας εκπαιδεύονται τακτικά σε θέματα ασφάλειας και ασφάλειας δεδομένων.
Πιστοποιήσεις
- PCI - DSS Level1 AOC
- Πιστοποίηση NTAK
- Πιστοποίηση VIZA