Ασφάλεια Πλατφόρμας

Η πλατφόρμα 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.

✅ 0 critical✅ 0 high✅ 0 moderatenpm audit --omit=dev

🚨 Αντίδραση σε Περιστατικά

  1. 1Άμεση ανανέωση του JWT_SECRET (αναγκαστική αποσύνδεση όλων των χρηστών)
  2. 2Επανεξέταση access logs για ύποπτη δραστηριότητα
  3. 3Ενημέρωση επηρεαζόμενων dependencies
  4. 4Ενημέρωση χρηστών σε περίπτωση διαρροής δεδομένων
  5. 5Post-mortem ανάλυση και ενίσχυση ελέγχων

🔗 Σχετικές Σελίδες

Σημείωση συντήρησης: Αυτή η σελίδα αποτελεί δημόσια επισκόπηση της ασφάλειας. Η λεπτομερής τεκμηρίωση βρίσκεται στο doc/SECURITY.md του repository. Όταν αλλάζουν security controls, rate limits, auth flows ή geo-access κανόνες, και αυτή η σελίδα και το doc/SECURITY.md πρέπει να ενημερωθούν.