Μια agency δεν διαχειρίζεται τους δικούς της κωδικούς. Διαχειρίζεται τους κωδικούς των πελατών της: hosting, domains, admin των sites, Stripe, Google, βάσεις, API keys. Αν διαρρεύσουν, το πρόβλημα δεν είναι ένας λογαριασμός· είναι η εμπιστοσύνη σαράντα πελατών. Αυτός ο οδηγός περιγράφει πώς το οργανώνεις σωστά.
Πού βρίσκονται σήμερα οι κωδικοί σου
Αν είσαι ειλικρινής, μάλλον σε περισσότερα από ένα από αυτά:
- Ένα Excel ή Google Sheet «Κωδικοί πελατών».
- Μηνύματα σε Viber, Slack ή email.
- Τον browser κάποιου developer.
- Ένα αρχείο
.envσε laptop, ή χειρότερα, σε repository. - Έναν password manager με έναν κοινό λογαριασμό για όλη την ομάδα.
Το κοινό σε όλα: δεν ξέρεις ποιος είδε τι. Και χωρίς αυτό δεν μπορείς να απαντήσεις στη μόνη ερώτηση που μετρά όταν κάποιος φεύγει: «ποιους κωδικούς πρέπει να αλλάξουμε;».
Η σωστή δομή: μία συλλογή ανά project
Οργάνωσε τους κωδικούς όπως οργανώνεις τη δουλειά. Κάθε project έχει τη δική του συλλογή, και υπάρχει μία «Γενική» για τα εταιρικά (λογιστικό, τράπεζα, εταιρικό email).
- Ο developer που δουλεύει στο e-shop βλέπει τους κωδικούς του e-shop. Όχι της τράπεζας, όχι των άλλων πελατών.
- Κάθε κωδικός δένεται με τον πόρο του: ο κωδικός του hPanel με τον VPS, ο κωδικός του Stripe με τον λογαριασμό πληρωμών.
- Οι ιδιοκτήτες και οι διαχειριστές βλέπουν όλες τις συλλογές.
Τι αποθηκεύεις, πέρα από κωδικούς
| Είδος | Παράδειγμα |
|---|---|
| Σύνδεση | Χρήστης, κωδικός, διεύθυνση σύνδεσης, και 2FA |
| API key | Κλειδί Stripe, Resend, Anthropic, με όνομα και περιβάλλον |
| Βάση δεδομένων | Host, θύρα, χρήστης, κωδικός, connection string |
| Κλειδί SSH | Ιδιωτικό κλειδί και passphrase |
| Αρχείο .env | Ολόκληρο το αρχείο ρυθμίσεων ενός περιβάλλοντος |
| Σημείωση | Recovery codes, απαντήσεις ασφαλείας, PIN |
Το 2FA δεν είναι προαιρετικό
Κάθε λογαριασμός που το υποστηρίζει πρέπει να έχει δεύτερο παράγοντα. Το πρόβλημα στην ομάδα είναι ότι ο κωδικός 2FA ζει στο κινητό ενός ανθρώπου. Η λύση είναι να αποθηκεύεις το κλειδί TOTP (το μυστικό πίσω από το QR) δίπλα στον κωδικό, ώστε όποιος έχει πρόσβαση στη συλλογή να βλέπει τον ζωντανό εξαψήφιο κωδικό.
Γιατί έχει σημασία το zero-knowledge
Σε ένα κλασικό σύστημα, ο server κρυπτογραφεί τους κωδικούς με δικό του κλειδί. Αν κάποιος πάρει τον server, παίρνει και το κλειδί. Σε ένα zero-knowledge σύστημα, η κρυπτογράφηση γίνεται στον browser σου, με κλειδί που βγαίνει από το master password σου. Ο server κρατά μόνο κρυπτογραφήματα που δεν μπορεί να ανοίξει. Η διαφορά εξηγείται αναλυτικά στο άρθρο για το zero-knowledge.
Ιστορικό: ποιος είδε τι
Κάθε «Εμφάνιση» ενός κωδικού πρέπει να γράφεται: ποιος, ποιον κωδικό, πότε, από πού. Αυτό δεν είναι καχυποψία· είναι η βάση για να ξέρεις τι αλλάζει όταν αλλάζει η ομάδα. Το ίδιο ισχύει για τις εκδόσεις: όταν αλλάζεις έναν κωδικό, ο παλιός μένει στο ιστορικό για την περίπτωση που η αλλαγή δεν πέρασε στον πάροχο.
Όταν φεύγει κάποιος
Η αφαίρεση πρόσβασης δεν αρκεί. Ό,τι είδε ο άνθρωπος που έφυγε, το ξέρει. Ο μόνος ασφαλής δρόμος είναι να αλλάξουν οι κωδικοί που είδε. Ένα καλό σύστημα τους σημειώνει αυτόματα «Θέλει αλλαγή» μόλις αφαιρεθεί η πρόσβαση. Η πλήρης λίστα βημάτων είναι στο offboarding ενός developer.
Πώς στέλνεις έναν κωδικό σε πελάτη
Ποτέ σε email ή chat, όπου μένει για πάντα. Η σωστή μέθοδος είναι ο σύνδεσμος μίας χρήσης: ο κωδικός κρυπτογραφείται με κλειδί που μπαίνει μέσα στον σύνδεσμο (μετά το #, που δεν στέλνεται ποτέ στον server), λήγει σε λίγες ώρες ή μέρες και ανοίγει μία φορά. Για επιπλέον ασφάλεια, βάζεις και μια φράση που λες στον πελάτη τηλεφωνικά.
Υγεία κωδικών: τι ελέγχεις κάθε μήνα
- Αδύναμοι κωδικοί: μικροί ή προβλέψιμοι.
- Ίδιοι κωδικοί σε διαφορετικούς λογαριασμούς.
- Διαρροές: έλεγχος με το Have I Been Pwned, με τη μέθοδο k-anonymity, ώστε να φεύγουν μόνο οι 5 πρώτοι χαρακτήρες του hash και ποτέ ο κωδικός.
- Παλιοί κωδικοί: πάνω από έναν χρόνο χωρίς αλλαγή σε κρίσιμους λογαριασμούς.
Μετάβαση από το Excel
- Στήσε τις συλλογές ανά project.
- Κάνε εισαγωγή από τον password manager που ήδη έχεις, αν έχεις.
- Πέρασε με το χέρι ό,τι ήταν σε Excel ή σημειώσεις.
- Σβήσε τα αρχεία και άδειασε τον κάδο.
- Άλλαξε τους κωδικούς που κυκλοφόρησαν σε chat ή email.
Συχνές ερωτήσεις
Δεν αρκεί ένας κοινός λογαριασμός σε έναν password manager;
Όχι, γιατί όλοι βλέπουν τα πάντα και δεν ξέρεις ποιος είδε τι. Όταν κάποιος φεύγει, πρέπει να αλλάξεις όλους τους κωδικούς, ή κανέναν.
Τι γίνεται αν ξεχάσω το master password;
Σε zero-knowledge σύστημα κανείς δεν μπορεί να το επαναφέρει για σένα. Γι’ αυτό υπάρχει το recovery key, που φυλάς εκτός συστήματος από την πρώτη μέρα, και η πρόσβαση έκτακτης ανάγκης για έναν δεύτερο διαχειριστή.
Πρέπει να έχουν όλοι οι developers πρόσβαση σε όλους τους κωδικούς;
Όχι. Κάθε developer βλέπει τα projects στα οποία δουλεύει. Αν χρειαστεί κάτι άλλο προσωρινά, η πρόσβαση δίνεται με ημερομηνία λήξης.
Πού βάζω τα αρχεία .env;
Στο θησαυροφυλάκιο, ως ολόκληρο αρχείο ανά περιβάλλον, και ποτέ στο repository. Αν ήδη υπάρχουν σε repo, δες πώς τα βρίσκεις και τι κάνεις.
