Ασφάλεια Πλατφόρμας
Η πλατφόρμα Appofa εφαρμόζει ένα πολυεπίπεδο μοντέλο ασφάλειας. Παρακάτω παρουσιάζεται μια δημόσια επισκόπηση των βασικών μηχανισμών που χρησιμοποιούνται για την προστασία των χρηστών και των δεδομένων.
🔒 Πυλώνες Ασφάλειας
🔐 Αυθεντικοποίηση
- ✓JWT αποθηκευμένο σε HttpOnly cookie — απρόσιτο από JavaScript (XSS protection)
- ✓Κωδικοί κρυπτογραφημένοι με bcrypt (10 rounds)
- ✓Λήξη token: 24 ώρες
- ✓Υποστήριξη OAuth: GitHub & Google
🛡️ Εξουσιοδότηση & Έλεγχος Πρόσβασης
- ✓Role-Based Access Control (RBAC): viewer, editor, moderator, admin
- ✓Κάθε endpoint προστατεύεται από αντίστοιχο middleware
- ✓Η προστασία διαδρομών ελέγχεται frontend (ProtectedRoute) ΚΑΙ backend (checkRole)
- ✓Moderator εξουσία ανά τοποθεσία μέσω UserLocationRole
⚡ Rate Limiting & Anti-Abuse
- ✓Σύνδεση/Εγγραφή: 5 αιτήματα / 15 λεπτά
- ✓Δημιουργία περιεχομένου: 20 αιτήματα / 15 λεπτά
- ✓Γενικά API: 100 αιτήματα / 15 λεπτά
- ✓Ψηφοφορία (ανώνυμοι): 10 ψήφοι / ώρα
- ✓Ψηφοφορία (συνδεδεμένοι): 50 ψήφοι / ώρα
- ✓Αυτόματο blacklisting IPs που σαρώνουν για ευπάθειες
🌐 Γεωγραφικός Έλεγχος & Παρακολούθηση
- ✓Ανίχνευση χώρας επισκέπτη μέσω Cloudflare headers
- ✓Δυνατότητα αποκλεισμού χωρών ή ανακατεύθυνσης
- ✓Telemetry επισκεψιμότητας ανά διαδρομή (GeoTracker) — ανεξάρτητο από ρυθμίσεις GDPR
- ✓IP whitelist/blacklist με διαχείριση από admins
🔏 CSRF & Κεφαλίδες Ασφάλειας
- ✓CSRF double-submit tokens σε όλα τα POST/PUT/DELETE
- ✓HTTP security headers μέσω Helmet.js (CSP, X-Frame-Options κ.α.)
- ✓CORS περιορισμένο στο εγκεκριμένο frontend origin
- ✓Σφάλματα επιστρέφουν μόνο γενικό μήνυμα — χωρίς stack traces σε production
🧹 Επικύρωση Εισόδου & Βάση Δεδομένων
Επικύρωση δεδομένων
- ✓Server-side validation σε όλα τα endpoints
- ✓Έλεγχος μορφής email, μήκους πεδίων, τύπων δεδομένων
- ✓Μέγιστο μέγεθος αρχείων στα uploads (10 MB)
Βάση δεδομένων
- ✓SQL Injection προστασία μέσω Sequelize ORM (parameterized queries)
- ✓Credentials αποθηκευμένα αποκλειστικά σε environment variables
- ✓JWT_SECRET υποχρεωτικό σε production environment
📦 Ασφάλεια Εξαρτήσεων
Εκτελείται τακτικός έλεγχος npm audit και το CI pipeline μπλοκάρει σε οποιαδήποτε εξάρτηση με βαθμολογία ευπάθειας high ή παραπάνω. Εντοπισμένες ευπάθειες αντιμετωπίζονται εντός της ίδιας commit/PR. Τρέχουσα κατάσταση: 0 γνωστές ευπάθειες σε production dependencies.
🚨 Αντίδραση σε Περιστατικά
- 1Άμεση ανανέωση του JWT_SECRET (αναγκαστική αποσύνδεση όλων των χρηστών)
- 2Επανεξέταση access logs για ύποπτη δραστηριότητα
- 3Ενημέρωση επηρεαζόμενων dependencies
- 4Ενημέρωση χρηστών σε περίπτωση διαρροής δεδομένων
- 5Post-mortem ανάλυση και ενίσχυση ελέγχων
🔗 Σχετικές Σελίδες
Σημείωση συντήρησης: Αυτή η σελίδα αποτελεί δημόσια επισκόπηση της ασφάλειας. Η λεπτομερής τεκμηρίωση βρίσκεται στο doc/SECURITY.md του repository. Όταν αλλάζουν security controls, rate limits, auth flows ή geo-access κανόνες, και αυτή η σελίδα και το doc/SECURITY.md πρέπει να ενημερωθούν.