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

Δήλωση Ασφάλειας Ιστοτόπου

Τα τεχνικά μέτρα που προστατεύουν τον ιστότοπο rythmisis.gr, την αλληλογραφία μας και τα δεδομένα των επισκεπτών, και πώς αναφέρετε μια ευπάθεια.

Τελευταία ενημέρωση:

Η παρούσα δήλωση περιγράφει τα τεχνικά μέτρα ασφάλειας που εφαρμόζουμε στον ιστότοπο rythmisis.gr. Επικαιροποιήθηκε τελευταία την 2α Σεπτεμβρίου 2026.

1. Αρχιτεκτονική: ελαχιστοποίηση της επιφάνειας επίθεσης

Το σημαντικότερο μέτρο ασφάλειας του ιστότοπου είναι ο ίδιος ο σχεδιασμός του.

Ο rythmisis.gr είναι πλήρως στατικός ιστότοπος. Όλες οι σελίδες παράγονται εκ των προτέρων και παραδίδονται ως έτοιμα αρχεία HTML μέσω του δικτύου διανομής περιεχομένου της Cloudflare. Αυτό σημαίνει ότι:

  • Δεν εκτελείται κώδικας στον διακομιστή κατά την επίσκεψή σας.
  • Δεν υπάρχει βάση δεδομένων συνδεδεμένη με τον ιστότοπο, επομένως δεν υφίσταται κατηγορία επιθέσεων τύπου SQL injection.
  • Δεν υπάρχουν λογαριασμοί χρηστών, συνεδρίες ή cookies για τους επισκέπτες.
  • Ο πηγαίος κώδικας του ιστότοπου δεν περιέχει κανένα μυστικό κλειδί.

Η επεξεργασία των υποβολών των φορμών γίνεται από αυτόνομες, απομονωμένες υπηρεσίες (Cloudflare Workers), οι οποίες λειτουργούν χωριστά από τον ιστότοπο και είναι οι μόνες που κατέχουν τα σχετικά διαπιστευτήρια. Ο διαχωρισμός αυτός είναι σκόπιμος: τυχόν σφάλμα σε μία υπηρεσία φόρμας περιορίζεται στη συγκεκριμένη διαδρομή και δεν επηρεάζει ούτε τη διαθεσιμότητα ούτε την ασφάλεια του υπόλοιπου ιστότοπου.

2. Κρυπτογράφηση επικοινωνίας

  • Όλη η κίνηση εξυπηρετείται αποκλειστικά μέσω HTTPS με TLS 1.3.
  • Η κεφαλίδα HSTS με preload επιβάλλει HTTPS για ένα έτος σε ολόκληρο τον τομέα και τους υποτομείς του, ώστε καμία σύνδεση να μην μπορεί να υποβαθμιστεί σε HTTP.
  • Η οδηγία upgrade-insecure-requests αναβαθμίζει αυτόματα κάθε εσωτερικό αίτημα σε HTTPS.

3. Κεφαλίδες ασφάλειας HTTP

Κάθε απάντηση του ιστότοπου συνοδεύεται από το ακόλουθο σύνολο κεφαλίδων:

Κεφαλίδα Τιμή Τι αποτρέπει
Strict-Transport-Security max-age=31536000; includeSubDomains; preload Υποβάθμιση σε HTTP, επιθέσεις SSL stripping
Content-Security-Policy αυστηρή πολιτική (βλ. 3.1) Cross-Site Scripting (XSS), έγχυση εξωτερικών πόρων
X-Frame-Options DENY Clickjacking
X-Content-Type-Options nosniff Εσφαλμένη ερμηνεία τύπου αρχείου (MIME sniffing)
Referrer-Policy no-referrer Διαρροή της διεύθυνσης που επισκεφθήκατε σε τρίτους
Cross-Origin-Opener-Policy same-origin Επιθέσεις μέσω window.opener από άλλα παράθυρα
Cross-Origin-Resource-Policy same-origin Ενσωμάτωση των πόρων μας από ξένους ιστότοπους
Permissions-Policy άρνηση όλων των ευαίσθητων API Πρόσβαση σε κάμερα, μικρόφωνο, τοποθεσία, αισθητήρες

Η Permissions-Policy απενεργοποιεί ρητά, μεταξύ άλλων, την κάμερα, το μικρόφωνο, τον εντοπισμό γεωγραφικής θέσης, τους αισθητήρες κίνησης, τα μέσα πληρωμής, τη σύνδεση USB και σειριακών συσκευών, καθώς και το interest-cohort — δηλαδή αρνούμαστε ρητά τη συμμετοχή στη διαφημιστική ομαδοποίηση χρηστών του browser.

3.1 Πολιτική Ασφάλειας Περιεχομένου (CSP)

Η CSP είναι το κύριο μέτρο μας κατά του XSS. Ο ιστότοπος δηλώνει:

default-src 'self'; script-src 'self' 'unsafe-inline' https://challenges.cloudflare.com;
script-src-attr 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;
font-src 'self' data:; media-src 'self';
connect-src 'self' https://challenges.cloudflare.com;
frame-src https://challenges.cloudflare.com; manifest-src 'self'; worker-src 'self';
object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none';
upgrade-insecure-requests

Πρακτικά αυτό σημαίνει ότι ο browser σας:

  • φορτώνει σενάρια, στυλ, εικόνες και γραμματοσειρές μόνο από τον δικό μας τομέα — η μοναδική εξαίρεση είναι το challenges.cloudflare.com για την επαλήθευση των φορμών·
  • απορρίπτει κάθε ενσωματωμένο χειριστή συμβάντος (onclick=, onerror=) μέσω του script-src-attr 'none', που είναι η συνηθέστερη μορφή επίθεσης XSS μέσω έγχυσης HTML·
  • απαγορεύει πλήρως τα αντικείμενα (object-src 'none', δηλαδή Flash, applets)·
  • επιτρέπει την υποβολή φορμών μόνο προς τον ίδιο τομέα (form-action 'self')·
  • δεν επιτρέπει σε κανέναν ιστότοπο να μας ενσωματώσει σε πλαίσιο (frame-ancestors 'none').

4. Ακεραιότητα πόρων

Όλα τα αρχεία CSS και JavaScript του ιστότοπου παράγονται κατά την κατασκευή με ονόματα που περιέχουν κρυπτογραφικό άθροισμα ελέγχου του περιεχομένου τους (π.χ. /_astro/Base.DmhPB7lF.css). Οποιαδήποτε μεταβολή του περιεχομένου παράγει διαφορετικό όνομα αρχείου, ώστε ούτε ένα αλλοιωμένο αρχείο να μπορεί να σερβιριστεί στη θέση ενός έγκυρου, ούτε μια παλαιά έκδοση να παραμείνει σε ενδιάμεση προσωρινή μνήμη.

Επιπλέον, το σύστημα διαχείρισης περιεχομένου στη διαδρομή /admin/ — το μοναδικό σημείο όπου φορτώνεται σενάριο από εξωτερική πηγή — είναι καρφιτσωμένο σε συγκεκριμένη έκδοση και ελέγχεται με Subresource Integrity (SRI):

<script src="https://unpkg.com/@sveltia/cms@0.205.0/dist/sveltia-cms.js"
        integrity="sha384-..." crossorigin="anonymous"></script>

Ο browser υπολογίζει το άθροισμα ελέγχου του ληφθέντος αρχείου και το απορρίπτει εάν δεν ταιριάζει με το δηλωμένο, προστατεύοντας από αλλοίωση της αλυσίδας εφοδιασμού.

5. Έλεγχος πρόσβασης στη διαχείριση περιεχομένου

Η περιοχή /admin/ προστατεύεται με τα εξής μέτρα:

  • Ταυτοποίηση μέσω GitHub OAuth, με ρητό κατάλογο επιτρεπόμενων λογαριασμών. Λογαριασμός εκτός του καταλόγου απορρίπτεται, ακόμη κι αν η ταυτοποίηση στο GitHub είναι επιτυχής.
  • Το διακριτικό πρόσβασης επιστρέφεται αποκλειστικά στην αρχική προέλευση του αιτήματος και ποτέ με χαρακτήρα μπαλαντέρ, ώστε κανένας τρίτος ιστότοπος να μην μπορεί να το υποκλέψει ανοίγοντας τη ροή σύνδεσης σε αναδυόμενο παράθυρο.
  • Το εύρος των δικαιωμάτων OAuth είναι σταθερά ορισμένο στον κώδικα και δεν διαβάζεται από τη διεύθυνση, ώστε να μην μπορεί κανείς να κατασκευάσει σύνδεσμο που το διευρύνει.
  • Η περιοχή εξαιρείται από την ευρετηρίαση των μηχανών αναζήτησης.

6. Προστασία των φορμών

Όλες οι φόρμες προστατεύονται με Cloudflare Turnstile. Το μυστικό κλειδί επαλήθευσης βρίσκεται αποκλειστικά στην απομονωμένη υπηρεσία που επεξεργάζεται την υποβολή και ποτέ στον κώδικα του ιστότοπου. Η επαλήθευση εκτελείται στην πλευρά του διακομιστή· υποβολή που δεν τη διαθέτει απορρίπτεται.

7. Ασφάλεια συστήματος ονομάτων τομέων (DNS)

Η ζώνη DNS του τομέα μας είναι κρυπτογραφικά υπογεγραμμένη κατά DNSSEC: κάθε εγγραφή συνοδεύεται από ψηφιακή υπογραφή (RRSIG), επαληθεύσιμη με το δημόσιο κλειδί της ζώνης (DNSKEY). Σκοπός του μέτρου είναι να διασφαλίζεται η ακεραιότητα των απαντήσεων DNS και να αποτρέπεται η παραποίησή τους (DNS spoofing) ή η κακόβουλη ανακατεύθυνση των επισκεπτών σε ψευδή διακομιστή.

8. Προστασία της ηλεκτρονικής αλληλογραφίας

Για να αποτρέπεται η πλαστογράφηση μηνυμάτων που φέρονται να προέρχονται από εμάς, εφαρμόζουμε και τα τρία καθιερωμένα πρότυπα ταυτοποίησης αποστολέα:

SPF

Εγγραφή DNS που ορίζει ποιοι διακομιστές επιτρέπεται να αποστέλλουν μηνύματα εκ μέρους του τομέα μας. Ο παραλήπτης ελέγχει την προέλευση κάθε μηνύματος και επισημαίνει ως ύποπτο ό,τι δεν προέρχεται από εξουσιοδοτημένο διακομιστή.

DKIM

Ψηφιακή υπογραφή που προστίθεται σε κάθε εξερχόμενο μήνυμα με ιδιωτικό κλειδί. Ο παραλήπτης επαληθεύει τη γνησιότητα με το δημόσιο κλειδί που δημοσιεύουμε στο DNS. Έτσι διασφαλίζεται ότι το περιεχόμενο του μηνύματος δεν αλλοιώθηκε κατά τη μεταφορά.

DMARC — πολιτική απόρριψης

Συνδυάζει τα αποτελέσματα SPF και DKIM και υπαγορεύει στον παραλήπτη πώς να χειριστεί ένα μήνυμα που αποτυγχάνει τους ελέγχους. Η πολιτική μας είναι η αυστηρότερη διαθέσιμη:

v=DMARC1; p=reject; sp=reject; pct=100; aspf=s; adkim=s; fo=1; rua=...; ruf=...
  • p=reject και sp=reject: κάθε μήνυμα που αποτυγχάνει απορρίπτεται, τόσο για τον κύριο τομέα όσο και για κάθε υποτομέα.
  • pct=100: η πολιτική εφαρμόζεται στο σύνολο της αλληλογραφίας, χωρίς δειγματοληψία.
  • aspf=s και adkim=s: απαιτείται αυστηρή αντιστοίχιση τομέα, όχι απλή συγγένεια.
  • rua / ruf: λαμβάνουμε τακτικές αναφορές, ώστε να εντοπίζουμε απόπειρες κατάχρησης του τομέα μας.

Επιπλέον δημοσιεύουμε πολιτική TLS-RPT, μέσω της οποίας λαμβάνουμε αναφορές για τυχόν αποτυχίες κρυπτογράφησης κατά τη μεταφορά της αλληλογραφίας μας.

9. Παρακολούθηση σφαλμάτων δικτύου

Ο πάροχος υποδομής μας χρησιμοποιεί τα πρότυπα Network Error Logging (NEL) και Report-To για την αναφορά αποτυχιών παράδοσης πόρων. Η δειγματοληψία επιτυχών αιτημάτων είναι μηδενική (success_fraction: 0.0): αναφέρονται μόνο σφάλματα, όχι η κανονική σας περιήγηση. Οι αναφορές είναι τεχνικές και χρησιμοποιούνται αποκλειστικά για τη διάγνωση προβλημάτων διαθεσιμότητας.

10. Αναφορά ευπαθειών

Εκτιμούμε την υπεύθυνη αναφορά ζητημάτων ασφάλειας και δεσμευόμαστε να απαντούμε άμεσα. Εάν εντοπίσετε ευπάθεια, παρακαλούμε επικοινωνήστε μαζί μας πριν τη δημοσιοποιήσετε:

Ηλεκτρονικό ταχυδρομείο: security@privacytechnologies.co

Κλειδί PGP: διαθέσιμο μέσω του security.txt

Προτιμώμενες γλώσσες: Ελληνικά, Αγγλικά

Οι πλήρεις οδηγίες υπεύθυνης αποκάλυψης δημοσιεύονται, κατά το πρότυπο RFC 9116, στη διεύθυνση /.well-known/security.txt.

Ζητάμε να μας δοθεί εύλογο χρονικό περιθώριο για τη διόρθωση πριν από οποιαδήποτε δημοσιοποίηση, και να μην πραγματοποιηθούν δοκιμές που υποβαθμίζουν τη διαθεσιμότητα της υπηρεσίας ή θίγουν δεδομένα τρίτων.

Σας ευχαριστούμε για τη συνεισφορά σας στη διατήρηση της ασφάλειας όλων μας.