Επαληθεύσιμοι ισχυρισμοί.
Αυτή δεν είναι μια διαφημιστική σελίδα «είμαστε ασφαλείς», αλλά ένα σύνολο επαληθεύσιμων ισχυρισμών (SR-N), καθέναν από τους οποίους μπορείτε να αμφισβητήσετε στο πρόγραμμα bug bounty μας έναντι ανταμοιβής.
Πρόσβαση στον διακομιστή σας
SR-1Ο κωδικός πρόσβασης root χρησιμοποιείται μία φορά και δεν αποθηκεύεται από την πλευρά μας.επαληθευμένο+
Ο κωδικός πρόσβασης χρειάζεται μόνο για να ανοίξει η πρώτη σύνδεση SSH και να εγκατασταθεί ένας χρήστης υπηρεσίας. Μεταβιβάζεται ως πιστοποίηση SSH για τη σύνδεσή μας — όχι ως όρισμα script ή μεταβλητή περιβάλλοντος. Η βάση δεδομένων μας δεν έχει πεδίο γι' αυτόν· δεν εισέρχεται στα περιβάλλοντα εκτέλεσης των scripts και δεν καταγράφεται στα αρχεία καταγραφής (τα σφάλματα σύνδεσης περιέχουν μόνο τη διεύθυνση και τη θύρα, ποτέ τον κωδικό πρόσβασης). Στη μνήμη διαγράφεται (κατά το δυνατόν) μετά τη χρήση — αυτό είναι άμυνα σε βάθος, όχι εγγύηση: η Go ενδέχεται να κρατά αντίγραφα της τιμής στο heap μέχρι τη συλλογή απορριμμάτων.
Ειλικρινής επιφύλαξη: αυτός παραμένει ο κωδικός πρόσβασης root στον διακομιστή σας. Μετά την εγκατάσταση απενεργοποιούμε τη σύνδεση με κωδικό πρόσβασης και ως root μέσω SSH, αλλά δεν αλλάζουμε τον ίδιο τον κωδικό πρόσβασης — αλλάξτε τον μόνοι σας αν θέλετε. Το «δεν τον αποθηκεύουμε» είναι αληθές· το «έπαψε να είναι μυστικό» δεν είναι.
SR-2Μετά την εγκατάσταση, η σύνδεση με κωδικό πρόσβασης και η σύνδεση root μέσω SSH είναι απενεργοποιημένες.επαληθευμένο+
PasswordAuthentication no, PermitRootLogin no, το SSH μεταφέρεται σε μη τυπική θύρα (12011 από προεπιλογή), ενεργοποιημένο fail2ban (αποκλεισμός μίας ώρας μετά από 5 αποτυχίες), σύνδεση μόνο με κλειδί. Το δημόσιο κλειδί επικυρώνεται αυστηρά πριν από τη χρήση: οι χαρακτήρες αλλαγής γραμμής (προστασία από την παρεμβολή επιπλέον κλειδιών στο authorized_keys) και τα συντακτικά μη έγκυρα κλειδιά απορρίπτονται.
Προστασία από κλείδωμα: η θύρα 22 δεν κλείνει μέχρι ο πυρήνας να επιβεβαιώσει (μέσω ss) ότι η νέα θύρα SSH ακούει πραγματικά· η διαμόρφωση ελέγχεται με sshd -t και ο κανόνας sudo με visudo -cf, και τα δύο αναιρούνται σε περίπτωση σφάλματος.
SR-3Το κλειδί διαχείρισης αποθηκεύεται μόνο σε κρυπτογραφημένη μορφή.επαληθευμένο+
Το πάνελ δεν λειτουργεί με τον κωδικό πρόσβασής σας, αλλά με ένα ξεχωριστό κλειδί (ed25519) που παράγει το ίδιο. Το ιδιωτικό μέρος βρίσκεται στη βάση δεδομένων κρυπτογραφημένο με AES-256-GCM. Το κλειδί κρυπτογράφησης (KEK) αποθηκεύεται ξεχωριστά από τη βάση δεδομένων — σε μια μεταβλητή περιβάλλοντος διακομιστή — και στην παραγωγή είναι υποχρεωτικό (δεν υπάρχει μη ασφαλής προεπιλογή: χωρίς KEK το κρυπτογραφικό υποσύστημα απλώς δεν ξεκινά). Η ίδια κρυπτογράφηση προστατεύει τα βαριά μυστικά στη βάση δεδομένων — τον κωδικό πρόσβασης/token/JWT διαχειριστή του Marzban, τα κλειδιά Reality, τα κλειδιά των παρόχων πληρωμών, την προσωρινή μνήμη διαπιστευτηρίων proxy, τη διαμόρφωση αντιγράφων ασφαλείας.
Η κρυπτογράφηση δεν αποκρύπτει απλώς, αλλά πιστοποιεί τα δεδομένα (GCM auth tag): η παραποίηση ενός κρυπτογραφημένου πεδίου εντοπίζεται κατά την αποκρυπτογράφηση και απορρίπτεται. Κάθε πεδίο κρυπτογραφείται με ένα νέο τυχαίο nonce· η τιμή του KEK δεν φτάνει ποτέ στα αρχεία καταγραφής — μόνο το σύντομο id της.
Σχετικά με τα tokens δυνατοτήτων: το token συνδρομής /sub είναι ένα bearer μυστικό. Για την αναζήτηση αποθηκεύουμε μόνο το SHA-256 του, ενώ το αντίγραφο που χρειάζεται για την εκ νέου εμφάνιση ενός ήδη εκδοθέντος συνδέσμου διατηρείται ως κρυπτοκείμενο AES-GCM. Οι παλαιότερες εγγραφές απλού κειμένου μεταφέρονται στη νέα μορφή, με fail-closed, πριν ξεκινήσει ο διακομιστής HTTP. Το αναγνωριστικό URL του payment-webhook αποθηκεύεται σε απλή μορφή, αλλά δεν πιστοποιεί από μόνο του ένα συμβάν: η γνησιότητα επαληθεύεται ξεχωριστά με μια υπογραφή HMAC.
SR-4Το ιδιωτικό κλειδί δεν φτάνει ποτέ στον browser.επαληθευμένο+
Το κλειδί αποκρυπτογραφείται μόνο στον διακομιστή, στη μνήμη· τα συνηθισμένα API δεν το επιστρέφουν ποτέ. Ο μόνος τρόπος για να το αποκτήσετε είναι μια σκόπιμη λειτουργία εξαγωγής («πάρε το κλειδί σου»), προστατευμένη με σύνδεση συν έναν κωδικό email μίας χρήσης (ο κωδικός αποθηκεύεται μόνο ως HMAC hash, συγκρίνεται σε σταθερό χρόνο, TTL 10 λεπτών, 5 προσπάθειες). Έτσι, το κλειδί μπορεί να ανακτηθεί σκόπιμα, αλλά όχι να «διαρρεύσει» μέσω ενός κανονικού αιτήματος.
SR-5Όταν ένας διακομιστής διαγράφεται, το κλειδί εκκαθαρίζεται σύγχρονα από την εγγραφή του.επαληθευμένο+
Πριν αλλάξει η κατάσταση του διακομιστή και πριν από οποιεσδήποτε δικτυακές λειτουργίες παρασκηνίου, τα πεδία που περιέχουν το κλειδί διαχείρισης μηδενίζονται σύγχρονα. Αν η βάση δεδομένων δεν επιβεβαιώσει την εκκαθάριση, η λειτουργία επιστρέφει σφάλμα και μπορεί να επαναληφθεί. Η διαγραφή παραμένει «ήπια» (soft): η γραμμή και τα μη μυστικά δεδομένα υπηρεσίας διατηρούνται. Αυτό δεν σημαίνει φυσική διαγραφή των αντιγράφων ασφαλείας που έχουν ήδη δημιουργηθεί — ο κύκλος ζωής τους διέπεται από την πολιτική διατήρησης αντιγράφων ασφαλείας.
SR-16Τα ελεγμένα API συνεργατών περιορίζουν την πρόσβαση στον κάτοχο του πόρου.επαληθευμένο+
Οι ελεγμένες διαδρομές συνεργατών εξουσιοδοτούν βάσει του partner_id, το οποίο ο διακομιστής εξάγει από το υπογεγραμμένο token σύνδεσης — όχι από ό,τι έστειλε ο client στη διαδρομή ή στο σώμα. Πριν επιστρέψει ή αλλάξει οτιδήποτε, το σύστημα επανελέγχει ότι ο ζητούμενος διακομιστής, cluster, inbound, route, χρήστης VPN ή πληρωμή ανήκει στον λογαριασμό σας· τα αντίστοιχα ερωτήματα της βάσης δεδομένων περιορίζονται βάσει του partner_id σας, και το σχήμα (σύνθετα μοναδικά κλειδιά συν σύνθετα ξένα κλειδιά) απορρίπτει τους μη έγκυρους διασυνδέσμους μεταξύ συνεργατών. Η απομόνωση είναι πολυεπίπεδη: εφαρμογή, επανέλεγχος usecase, ένα φίλτρο partner_id και το σχήμα.
Ειλικρινής επιφύλαξη: αυτό επαληθεύεται με έναν έλεγχο κώδικα σε όλη τη διαδρομή του αιτήματος, όχι με δημόσιο penetration test — έτσι το SR-16, όπως και τα υπόλοιπα, είναι ανοιχτό σε αντίκρουση στο bug bounty.
Ειλικρινά σχετικά με την πρόσβαση του πάνελ — είναι πλήρης διαχειριστική, όχι «περιορισμένη».ειλικρινής σημείωση+
Για να διαμορφώσει τα πάντα αυτόματα (εγκατάσταση Xray+Reality, εφαρμογή διαμόρφωσης, ανάγνωση μετρήσεων) το πάνελ διαθέτει πλήρη διαχειριστική πρόσβαση στον διακομιστή (ισοδύναμη με root, μέσω ενός χρήστη υπηρεσίας με sudo χωρίς κωδικό πρόσβασης). Αυτό είναι απαραίτητο για τη διαχείριση, και ΔΕΝ το αποκαλούμε «περιορισμένο».
Τι μειώνει τον κίνδυνο: τα μυστικά μεταβιβάζονται στον διακομιστή μόνο μέσω του stdin της διεργασίας (όχι ως ορίσματα εντολών — δεν είναι ορατά στη λίστα διεργασιών)· μετά την αρχική εγκατάσταση, κάθε σύνδεση διαχείρισης επαληθεύει το καρφιτσωμένο (pinned) host key του διακομιστή — μια αντικατάσταση διακομιστή «στη μέση» απορρίπτεται. Τι ελέγχετε εσείς: η πρόσβαση στηρίζεται σε ένα κλειδί που μπορείτε να ανακαλέσετε ανά πάσα στιγμή — διαγράφοντας τον διακομιστή (το κλειδί μηδενίζεται) ή απλώς διαγράφοντας το VPS στον host σας (τότε όλα εξαφανίζονται).
Τα δεδομένα σας και το απόρρητο
SR-6Οι χρήστες VPN βρίσκονται στον διακομιστή σας· διατηρούμε ένα ελάχιστο μεταδεδομένων υπηρεσίας.επαληθευμένο+
Οι ίδιοι οι λογαριασμοί VPN (VLESS/Reality) δημιουργούνται και βρίσκονται στο Marzban στον master διακομιστή σας. Κεντρικά αποθηκεύουμε μόνο ό,τι απαιτείται για την έκδοση ενός συνδέσμου συνδρομής: ένα τυχαίο token συνδρομής και ένα κρυπτογραφημένο στιγμιότυπο των διαπιστευτηρίων proxy (μια προσωρινή μνήμη· η πηγή αλήθειας είναι το δικό σας Marzban). Δεν έχουμε ιστορικό κίνησης, IP ή επισκέψεων χρηστών.
Ορίστε μια ειλικρινής λίστα με τα σημεία όπου το email ενός τελικού χρήστη όντως περνά μέσα από την κεντρική μας βάση δεδομένων: το email με τον κωδικό σύνδεσης το στέλνουμε εμείς, οπότε η διεύθυνση περνά από την ουρά αποστολής (για κάθε σύνδεση στο κατάστημα, συμπεριλαμβανομένης της δωρεάν)· κατά την πληρωμή, το email του αγοραστή φτάνει στο webhook πληρωμής και καταχωρείται στο αρχείο καταγραφής πληρωμών· κατά τη σύνδεση του Telegram, το email αποθηκεύεται στο προφίλ. Αυτά είναι τα μόνα σημεία επαφής — υπηρεσιακά και εκ των πραγμάτων· κανένα τους δεν αφορά κίνηση ή συμπεριφορά χρηστών.
Αυτά τα δεδομένα υπηρεσίας τα διατηρούμε μόνο για όσο χρειάζεται και τα διαγράφουμε αυτόματα: το email αφαιρείται από την ουρά αποστολής αμέσως μετά την αποστολή, το περιεχόμενο ενός συμβάντος πληρωμής μετά την επεξεργασία, και τα συμβάντα που αναμένουν επανάληψη εντός ενός παραθύρου 90 ημερών. Μπορείτε να διαγράψετε τον λογαριασμό σας μαζί με τα σχετικά δεδομένα επικοινωνώντας με την υποστήριξη (για λεπτομέρειες, δείτε τον κίνδυνο 7). Το αποκαλύπτουμε ανοιχτά αντί να το κρύβουμε πίσω από αόριστες διατυπώσεις.
SR-7Δεν συλλέγουμε αρχεία καταγραφής της κίνησης ή των επισκέψεών σας, και οι διακομιστές δεν κρατούν κανένα ημερολόγιο επισκέψεων.επαληθευμένο+
Η πλατφόρμα CreateYourVPN δεν λαμβάνει ούτε αποθηκεύει πληροφορίες σχετικά με τις ιστοσελίδες που επισκέπτεστε εσείς ή οι χρήστες σας. Το σχήμα λήψης μετρήσεων είναι κλειστό: δεν έχει φυσικά πεδία για IP, domains ή επισκέψεις — μόνο συγκεντρωτικά στοιχεία (πλήθος μοναδικών online, συνολικά bytes, CPU/RAM/φορτίο). Κάθε κόμβος πιστοποιείται με ένα token HMAC συνδεδεμένο με το δικό του id και μπορεί να γράψει μετρήσεις μόνο για τον εαυτό του. Ο εξισορροπητής στον κόμβο (HAProxy) λειτουργεί ως δρομολογητής TCP βάσει SNI και δεν αποκρυπτογραφεί την κίνηση. Στον ίδιο τον διακομιστή, τα αρχεία καταγραφής συστήματος διατηρούνται για όχι περισσότερο από περίπου μία ώρα και δεν προωθούνται στο syslog.
Πέρα από το επίπεδο της πλατφόρμας, ούτε οι διακομιστές κρατούν ημερολόγιο επισκέψεων: η καταγραφή προσβάσεων του Xray απενεργοποιείται αναγκαστικά σε κάθε ώθηση διαμόρφωσης (η πλατφόρμα ορίζει το log.access σε none), οπότε ο περιφερειακός proxy δεν καταγράφει σε ποιες διευθύνσεις συνδέονται οι χρήστες. Αυτό επιβάλλεται στον κώδικα και έχει αναπτυχθεί σε όλον τον στόλο.
SR-8Τα web analytics είναι το Google Analytics· δεν υπάρχουν άλλοι trackers.επαληθευμένο+
Για να κατανοήσουμε πώς χρησιμοποιούνται ο ιστότοπος και το πάνελ, εφαρμόζουμε το Google Analytics (το banner cookies προειδοποιεί για τη συλλογή cookies και στατιστικών· λεπτομέρειες υπάρχουν στην Πολιτική Απορρήτου). Δεν υπάρχουν άλλοι trackers τρίτων: κανένα Sentry, PostHog, Mixpanel ή διαφημιστικά pixels (επαληθευμένο με αναζήτηση και στα δύο frontends). Το backend δεν έχει καθόλου τηλεμετρία τρίτων. Η βιτρίνα του τελικού χρήστη δεν καλύπτεται καθόλου από analytics — κανένα GA, κανένας tracker (επαληθεύσιμο από τον πηγαίο κώδικά της).
Επιφύλαξη: το GA λαμβάνει το IP σας (από την πλευρά της Google) και τις διευθύνσεις των σελίδων του πάνελ που προβλήθηκαν· τα URL του πάνελ περιέχουν μόνο ένα αναγνωριστικό cluster, όχι email.
SR-9Οι πληρωμές είναι εξωτερικές — δεν λαμβάνουμε τον πλήρη αριθμό κάρτας.επαληθευμένο+
Η πληρωμή και όλα τα δεδομένα της κάρτας διαχειρίζονται από την πλευρά του παρόχου (Tribute / Lemon Squeezy). Λαμβάνουμε μόνο ένα υπογεγραμμένο webhook (HMAC-SHA256, σύγκριση σταθερού χρόνου, επαληθευμένο πριν αναλυθεί το σώμα και πριν από οποιαδήποτε εγγραφή στη βάση δεδομένων: χωρίς γνώση του μυστικού, ένα συμβάν αποτυγχάνει στην επαλήθευση). Δεν λαμβάνουμε τον πλήρη αριθμό κάρτας (PAN) ή το CVV. Η επαναπαράδοση του ίδιου webhook (επαναλήψεις του παρόχου) δεν προκαλεί διπλή χορήγηση — τα συμβάντα αποδιπλασιάζονται.
Επιφύλαξη: ο πάροχος ενδέχεται να συμπεριλάβει μεταδεδομένα κάρτας (μάρκα και τα τελευταία 4 ψηφία) καθώς και το όνομα και το email του πληρωτή στο σώμα του webhook. Το αρχικό σώμα χρειάζεται από τον worker μέχρι να ολοκληρωθεί η επεξεργασία· μετά την επιτυχή επεξεργασία διαγράφεται μαζί με την ένδειξη του email. Τα συμβάντα που αναμένουν επανάληψη ή χειροκίνητο έλεγχο διατηρούν το αρχικό σώμα μόνο μέχρι το τέλος του παραθύρου διατήρησης (90 ημέρες χωρίς δραστηριότητα), έπειτα από το οποίο τα μεταδεδομένα της κάρτας και το email του πληρωτή διαγράφονται αυτόματα. Το «δεν υπάρχει πλήρης αριθμός κάρτας» είναι αληθές, αλλά αυτό είναι ιδιότητα των παρόχων (δεν φιλτράρουμε εμείς οι ίδιοι το σώμα)· το «δεν βλέπουμε τίποτα απολύτως για την κάρτα» δεν είναι.
Τι αποθηκεύουμε για εσάς (τον συνεργάτη), ειλικρινά.ειλικρινής σημείωση+
Email (απαραίτητο για τη σύνδεση), χρόνος τελευταίας σύνδεσης, λειτουργία διεπαφής· για τη χρέωση — υπόλοιπο και Telegram (για ανανεώσεις υπολοίπου). Το IP του συνεργάτη δεν αποθηκεύεται στη βάση δεδομένων, και δεν διατηρούμε ιστορικό κλικ ή ενεργειών στο πάνελ (εκτός από ένα σύντομο access log σε περίπτωση σφαλμάτων).
Θωράκιση διακομιστή
SR-10Το τείχος προστασίας απαγορεύει τα πάντα εκτός από ό,τι χρειάζεται.επαληθευμένο+
Το τείχος προστασίας απαγορεύει τις εισερχόμενες συνδέσεις από προεπιλογή. Ανοιχτά προς τα έξω: 443 (VPN, Xray+Reality), SSH σε μη τυπική θύρα (12011 από προεπιλογή) και — στον master διακομιστή — η θύρα του πάνελ διαχείρισης του Marzban, μόνο για IP του επιπέδου ελέγχου (control-plane). Η θύρα 80 ανοίγει ξεχωριστά μόνο σε λειτουργία Let's Encrypt για HTTP-01. Η θύρα 22 κλείνει αφού μεταφερθεί το SSH.
Οι θύρες διαχείρισης του κόμβου είναι ανοιχτές μόνο προς το IP του master διακομιστή, όχι προς τα έξω (μια αποτυχία αυτής της σύνδεσης ματαιώνει την εγκατάσταση). Αν το τείχος προστασίας δεν ενεργοποιηθεί, η εγκατάσταση αποτυγχάνει. Το ICMP echo περιορίζεται μόνο για IPv4· δεν υποσχόμαστε ότι ο διακομιστής είναι «αόρατος», και το ICMP για IPv6 διατηρείται ώστε να λειτουργεί σωστά το IPv6.
SR-11Αυτόματες ενημερώσεις ασφαλείας.επαληθευμένο+
Οι αυτόματες αναβαθμίσεις (unattended upgrades) εγκαθιστούν αυτόματα τις ενημερώσεις πακέτων ασφαλείας. Επιφύλαξη: η αυτόματη επανεκκίνηση είναι σκόπιμα απενεργοποιημένη (ώστε ένας μη επαληθευμένος πυρήνας να μην επανεκκινεί μόνος του) — που σημαίνει ότι οι διορθώσεις που απαιτούν επανεκκίνηση (πυρήνας, μερικές φορές OpenSSH) εφαρμόζονται μόνο μετά από χειροκίνητη ή προγραμματισμένη επανεκκίνηση. Το «αυτόματο patching» ισχύει για το userland, όχι για ό,τι απαιτεί επανεκκίνηση.
Ειλικρινά σχετικά με την «αορατότητα» — δεν την ισχυριζόμαστε.ειλικρινής σημείωση+
ΔΕΝ ισχυριζόμαστε ότι ο διακομιστής είναι «αόρατος» ή ότι «δεν μπορεί να σαρωθεί». Η θύρα 443 είναι ανοιχτή και απαντά σε μια σύνδεση TCP όπως κάθε web server. Η ιδιότητα «σε μια εσφαλμένη σύνδεση μοιάζει με μια συνηθισμένη, άσχετη ιστοσελίδα» παρέχεται από το πρωτόκολλο Reality μέσα στο Xray — ένα ξεχωριστό στοιχείο που δεν μετατρέπουμε σε απόλυτο.
Η πλατφόρμα (πίνακας ελέγχου)
SR-12Σύνδεση στον λογαριασμό σας CreateYourVPN χωρίς κωδικό πρόσβασης.επαληθευμένο+
Η σύνδεση του συνεργάτη γίνεται με έναν 6ψήφιο κωδικό μίας χρήσης που αποστέλλεται στο email. Δεν υπάρχει κωδικός πρόσβασης λογαριασμού. Αυτό δεν ισχύει για τα εσωτερικά διαπιστευτήρια των διαχειριζόμενων στοιχείων, όπως ο παραγόμενος κωδικός πρόσβασης διαχειριστή του Marzban. Οι κωδικοί παράγονται από μια κρυπτογραφική γεννήτρια· αποθηκεύεται μόνο το HMAC hash τους, και η σύγκριση γίνεται σε σταθερό χρόνο. Ο κωδικός είναι μίας χρήσης: σε περίπτωση επιτυχίας διαγράφεται αμέσως (χωρίς επανάληψη)· μετά από 5 λανθασμένες προσπάθειες ακυρώνεται νωρίς. Το όριο ρυθμού έκδοσης μετράται ανά email, όχι ανά IP — δεν μπορεί να παρακαμφθεί με αλλαγή διευθύνσεων.
SR-13Η συνεδρία (session) προστατεύεται.επαληθευμένο+
Το token συνεδρίας βρίσκεται σε ένα cookie HttpOnly και Secure (η JS δεν μπορεί να το διαβάσει), επαληθευμένο στο backend (όχι μόνο στο edge). Το idle timeout και η αυτόματη αποσύνδεση σε περίπτωση αδράνειας υλοποιούνται στον client, όχι στον διακομιστή. Το token υπογράφεται με HS256· κατά την επαλήθευση απορρίπτουμε αυστηρά οποιονδήποτε άλλον αλγόριθμο (συμπεριλαμβανομένου του «none») — η κλασική επίθεση αλλαγής αλγορίθμου (algorithm-swap) δεν περνά. Το token της βιτρίνας και το token του πάνελ συνεργατών διαχωρίζονται βάσει audience: ένα token τελικού χρήστη τεχνικά δεν μπορεί να φτάσει στο API συνεργατών (και αντίστροφα). Ένας διαγραμμένος συνεργάτης απορρίπτεται ακόμη και με ένα ζωντανό token.
Επιφύλαξη: η ανάκληση υλοποιείται με έλεγχο της ύπαρξης του συνεργάτη σε κάθε αίτημα, όχι με την ακύρωση του ίδιου του token· η αποσύνδεση διαγράφει το cookie, αλλά ένα εκδοθέν token παραμένει κρυπτογραφικά έγκυρο μέχρι τη λήξη του (έως και μία ώρα). Δεν υπάρχει ακόμη κεντρική λίστα ανάκλησης (μια συνειδητή απλοποίηση MVP).
SR-14Τα tokens και τα μυστικά δεν διαρρέουν στον browser.επαληθευμένο+
Δεν υπάρχουν tokens στο local storage του browser (μόνο ρυθμίσεις UI)· κανένα μυστικό ούτε η διεύθυνση του API δεν φτάνει στο client bundle. Μόνο ο διακομιστής (Next.js) τοποθετεί το token σε ένα cookie HttpOnly. Ο browser επικοινωνεί με τον πυρήνα μόνο μέσω του διακομιστή (Server Actions): το frontend δεν καλεί το API απευθείας από τον browser, και το CORS δεν επιτρέπει στον browser να διαβάζει τις αποκρίσεις του API από άλλες προελεύσεις (origins).
Διευκρίνιση αντί για ένα παλαιότερο απόλυτο: το ίδιο το domain του API είναι ένας δημόσιος host — τεχνικά μπορείτε να το ανοίξετε από έναν browser, αλλά χωρίς συνεδρία δεν επιστρέφει κανένα εξουσιοδοτημένο δεδομένο.
SR-15Οι δημόσιοι τομείς της πλατφόρμας χρησιμοποιούν HTTPS με αυστηρές κεφαλίδες ασφαλείας.επαληθευμένο+
Οι δημόσιοι τομείς του CreateYourVPN εξυπηρετούνται μέσω HTTPS με HSTS (max-age δύο έτη, includeSubDomains). Τόσο το web frontend όσο και ο τομέας του API αποστέλλουν ένα αυστηρό σύνολο κεφαλίδων ασφαλείας: μια περιοριστική Content-Security-Policy, X-Content-Type-Options: nosniff, X-Frame-Options και μια κλειδωμένη Referrer-Policy (no-referrer στο API· strict-origin-when-cross-origin στο frontend, το οποίο αποστέλλει επίσης μια περιοριστική Permissions-Policy).
Αυτό λειτουργεί στην παραγωγή και στους δύο τομείς και μπορεί να ελεγχθεί ανεξάρτητα — με οποιονδήποτε επιθεωρητή κεφαλίδων HTTP ή με μια υπηρεσία όπως το SSL Labs.
Ειλικρινά σχετικά με τους κινδύνους (τι ΔΕΝ υποσχόμαστε)
Μια αναφορά χωρίς αυτήν την ενότητα είναι διαφήμιση. Ιδού τα πραγματικά όρια:
Ο πίνακας ελέγχου αποθηκεύει τα κρυπτογραφημένα κλειδιά πρόσβασης σε ολόκληρο τον στόλο των διακομιστών. Είναι, φυσικά, το πιο ευαίσθητο στοιχείο του συστήματος — και το προστατεύουμε αναλόγως.
Τι το προστατεύει: τα βαριά μυστικά βρίσκονται στη βάση δεδομένων μόνο ως κρυπτοκείμενο· το κλειδί κρυπτογράφησης (KEK) φυλάσσεται χωριστά από τη βάση δεδομένων· τα κλειδιά δεν φτάνουν ποτέ στον περιηγητή· και μηδενίζονται όταν διαγράφεται ένας διακομιστής. Τα διακριτικά συνδρομής έχουν ένα επιπλέον στρώμα — αναζήτηση με hash (hash lookup) συν AES-GCM — έτσι ώστε ακόμη και ένα αντίγραφο (dump) της βάσης δεδομένων χωρίς το KEK να μην περιέχει κανέναν λειτουργικό σύνδεσμο /sub.
Η ειλικρινής οροφή: η κρυπτογράφηση προστατεύει αξιόπιστα από την κλοπή της ίδιας της βάσης δεδομένων — ενός αντιγράφου ασφαλείας, ενός αντιγράφου (replica) ή ενός dump. Δεν εξαλείφει τον κίνδυνο πλήρους παραβίασης του ίδιου του κεντρικού υπολογιστή (host) του πίνακα, όπου το KEK και η βάση δεδομένων είναι διαθέσιμα σε μία μόνο διεργασία. Γι' αυτό το κύριο επίκεντρο της άμυνάς μας είναι να αποτρέψουμε ακριβώς την κατάληψη του host: απομόνωση, αυτόματες ενημερώσεις ασφαλείας και ελάχιστη εκτεθειμένη επιφάνεια.
Ένα αποκλειστικό KMS/HSM θα προστεθεί σε μία από τις επόμενες εκδόσεις ασφαλείας.
Όταν προσθέτετε έναν διακομιστή, συνδεόμαστε σε αυτόν ακριβώς μία φορά — χρησιμοποιώντας έναν προσωρινό κωδικό που πληκτρολογείτε. Ακριβώς σε αυτή την πρώτη σύνδεση είναι θεωρητικά δυνατή μια επίθεση Man-in-the-Middle (MITM). Την εξουδετερώνουμε με πολλά ανεξάρτητα μέτρα, ώστε ο πρακτικός κίνδυνος να μειώνεται στο μηδέν.
Ο κωδικός είναι μίας χρήσης: εξυπηρετεί ακριβώς μία σύνδεση, δεν αποθηκεύεται πουθενά από την πλευρά μας και δεν επαναχρησιμοποιείται ποτέ. Το ιδιωτικό κλειδί δεν αποστέλλεται ποτέ μέσω δικτύου — η μετέπειτα ταυτοποίηση στηρίζεται σε ζεύγος κλειδιών (ταυτοποίηση δημόσιου κλειδιού, pubkey) και όχι στον κωδικό.
Αμέσως μετά την εγκατάσταση, στον διακομιστή απενεργοποιούνται η ταυτοποίηση με κωδικό και η σύνδεση ως root, αλλάζει η θύρα SSH και η πρόσβαση περιορίζεται αποκλειστικά σε κλειδιά. Από εκείνη τη στιγμή, ακόμη κι ένας υποκλαπείς κωδικός δεν ξεκλειδώνει τίποτα.
Κάθε επόμενη σύνδεση διαχείρισης επαληθεύει το καρφιτσωμένο αποτύπωμα του διακομιστή (host-key pinning) — ένας διακομιστής που έχει υποκατασταθεί «στη μέση» απορρίπτεται.
Ως αποτέλεσμα, η υποκλοπή θα ήταν δυνατή μόνο για έναν επιτιθέμενο που βρίσκεται φυσικά πάνω στη διαδρομή δικτύου ανάμεσα σε εμάς και τον διακομιστή, μέσα σε εκείνα τα λίγα δευτερόλεπτα της αρχικής εγκατάστασης — και ακόμη και σε αυτή την ακραία περίπτωση τα υποκλαπέντα δεδομένα καθίστανται αμέσως άχρηστα.
Αυτή είναι ιδιότητα κάθε ενοικιαζόμενου διακομιστή, όχι μόνο του δικού μας: τα στιγμιότυπα (snapshots), η λειτουργία διάσωσης (rescue) και τα παρόμοια είναι διαθέσιμα στον πάροχο, και κανένα λογισμικό δεν προστατεύει από αυτό. Από την άλλη, η επιλογή αξιόπιστου παρόχου είναι στα χέρια σας, και ο διακομιστής είναι εξ ολοκλήρου δικός σας — μπορείτε να αλλάξετε πάροχο ή να διαγράψετε το μηχάνημα οποιαδήποτε στιγμή.
Κανείς δεν μπορεί να υποσχεθεί απόλυτη προστασία — νέες ευπάθειες εμφανίζονται σε κάθε λογισμικό. Τι κάνουμε: οι ενημερώσεις ασφαλείας εγκαθίστανται αυτόματα, και οι διορθώσεις που απαιτούν επανεκκίνηση (ο πυρήνας, ενίοτε το OpenSSH) εφαρμόζονται μετά από επανεκκίνηση — χειροκίνητη ή προγραμματισμένη (δείτε SR-11).
Το email σας για τη σύνδεση, και το email των τελικών χρηστών σε λίγες υπηρεσιακές περιπτώσεις (δείτε SR-6). Διατηρείται μόνο για όσο χρειάζεται και διαγράφεται αυτόματα (δείτε τον κίνδυνο 9).
Καθώς η σύνδεση στηρίζεται σε έναν κωδικό μίας χρήσης μέσω email, το γραμματοκιβώτιό σας είναι στην πράξη το κλειδί του λογαριασμού — αξίζει να το προστατεύετε καλά. Δεύτερος παράγοντας δεν υπάρχει ακόμη: εύλογο για αυτό το στάδιο, αλλά καλό είναι να το γνωρίζετε.
Διατηρούμε τα προσωπικά δεδομένα μόνο για όσο τα χρειάζεται μια λειτουργία, και έπειτα τα διαγράφουμε αυτόματα. Το email αφαιρείται από την ουρά μόλις σταλεί το μήνυμα, και το ακατέργαστο περιεχόμενο ενός επιτυχημένου συμβάντος πληρωμής μόλις υποβληθεί σε επεξεργασία.
Μόνο ένα πράγμα διαρκεί περισσότερο: τα συμβάντα πληρωμής που αναμένουν επανάληψη ή χειροκίνητο έλεγχο. Το αρχικό τους περιεχόμενο δεν διατηρείται επ' αόριστον, αλλά μέχρι το τέλος ενός παραθύρου 90 ημερών χωρίς δραστηριότητα, μετά το οποίο τα προσωπικά δεδομένα διαγράφονται αυτόματα.
Ένα αυτοεξυπηρετούμενο κουμπί «διαγραφή των δεδομένων μου» στη διεπαφή δεν υπάρχει ακόμη — είναι στα σχέδια. Στο μεταξύ, μπορείτε να διαγράψετε τον λογαριασμό σας, μαζί με τα σχετικά δεδομένα, επικοινωνώντας με την υποστήριξη.
Ένας σύνδεσμος /sub είναι ένα μόνιμο bearer token μέχρι τη χειροκίνητη ανάκληση ή τη διαγραφή του χρήστη· δεν υπάρχει αυτόματη λήξη ούτε εναλλαγή (ένας σύνδεσμος που διέρρευσε παραμένει ενεργός).
Αν ενεργοποιήσετε την εξαγωγή αντιγράφων ασφαλείας στο Google Drive ή στο S3, τα δεδομένα των χρηστών φεύγουν από τον διακομιστή σας, και η προστασία τους εξαρτάται πλέον από το δικό σας cloud — αυτή η αναφορά δεν την καλύπτει ξεχωριστά. Είναι δική σας συνειδητή επιλογή: τη λειτουργία την ενεργοποιείτε εσείς.
Πώς να το ελέγξετε.
Κάθε ισχυρισμός παραπάνω είναι ένα δημόσιο στοίχημα. Σας προσκαλούμε να βρείτε πού κάναμε λάθος ή ωραιοποιήσαμε:
Track A — κλασικές ευπάθειες (RCE, παράκαμψη εξουσιοδότησης, IDOR, διαρροές κ.ο.κ.).
Track B — αντίκρουση αυτής της αναφοράς: αποδείξτε ότι οποιοδήποτε SR-N είναι ψευδές, λάβετε ανταμοιβή, και δημοσιεύουμε τη διόρθωση δημόσια.
Βρήκατε κάτι;
Γράψτε μας με μια αναπαραγώγιμη απόδειξη ιδέας. Απαντάμε εντός 72 ωρών και κάνουμε τη διαλογή εσωτερικά.