Μετάβαση στο περιεχόμενο

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

Η πλατφόρμα 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 μέσω `MEDIA_MAX_FILE_BYTES` (προεπιλογή 8 MB) + συνολικό quota χρήστη (`MEDIA_USER_QUOTA_BYTES`)

Βάση δεδομένων

  • ✓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 πρέπει να ενημερωθούν.