Πληροφοριακό
Σύστημα - iTaξι
Εισαγωγή
11
Θεωρητικό
Υπόβαθρο
Ελένη Σακέρογλου,
Μάρτιος 2017
Σχεδιασμός
& Ανάπτυξη
Τεχνικές Ασφάλειας
Κρισιμότεροι τομείς, στους οποίους η εφαρμογή μπορεί να είναι ευάλωτη σε
επιθέσεις:
1. Επικύρωση δεδομένων εισόδου
2. Αυθεντικοποίηση
3. Εξουσιοδότηση
4. Διαχείριση ρυθμίσεων
5. Διαχείριση Συνόδου
6. Κρυπτογραφία
7. Έλεγχος και Καταγραφή
1. Φιλτράρισμα και επικύρωση των
τύπων των μεταβλητών =>
filter_input(), intval()
2. Χρήση προκατασκευασμένων
(prepared) εντολών PDO
3. Χρήση κανόνων επικύρωσης που
ορίζονται στις εισόδους των πεδίων
τη βοήθεια του HTML5 Constraint
Validation API και του Bootstrap
Validator
1. Απαιτείται από τους χρήστες η
εισαγωγή «δύσκολων» κωδικών
πρόσβασης
2. Κρυπτογράφηση κωδικών (hash)
3. Μη αποθήκευση κωδικών σε τοπικό
αρχείο
4. Απαιτείται σύνδεση και έλεγχος
δικαιωμάτων πρόσβασης σε όλες τις
σελίδες
1. Η πρόσβαση στην εφαρμογή γίνεται
μόνο από εγγεγραμμένους χρήστες
2. Τηρείται η αρχή των ελάχιστων
δικαιωμάτων
3. Για κάθε ενέργεια ελέγχεται η
ταυτότητα του χρήστη και τα
δικαιώματα πρόσβασης
1. η πρόσβαση στο πάνελ του
διαχειριστή επιτρέπεται μόνο στους
αρμόδιους χρήστες
2. η παροχή περιορισμών και μεταξύ
των χρηστών που έχουν πρόσβαση
στο πάνελ διαχείρισης.
1. πρόσβαση στις ιστοσελίδες του
ιστοχώρου μέσω κρυπτογράφησης
HTTPS.
2. ορίστηκε μέγιστος χρόνος ενεργούς
συνόδου στη μία ώρα.
Οι κωδικοί πρόσβασης (passwords) των
χρηστών αποθηκεύονται στη βάση
δεδομένων κρυπτογραφημένοι (safe
password hashing) .
Χρήση των συναρτήσεων της PHP :
password_hash() και password_verify()
1. εφαρμογή μας να μην εμφανίζει
κανένα προειδοποιητικό μήνυμα με
την ενεργοποίηση όλων των
warnings μέσω του αρχείου
check_err_warn.php
2. ελέγχθηκαν και διορθώθηκαν όλα τα
πιθανά λάθη (errors) και warnings
των ιστοσελίδων του συστήματός
μας με τη βοήθεια της κονσόλας του
Google Chrome