Repository navigation
EL Security
🤖 Αυτή η ελληνική μετάφραση είναι υποστηριζόμενη από AI από το αγγλικό πρωτότυπο. Διορθώσεις ευπρόσδεκτες μέσω GitHub.
🌐 Γλώσσα: EN · DE · FR · ES · TR · EL
Το TeslaView διαχειρίζεται ευαίσθητα δεδομένα: τοποθεσία οχήματος, ιστορικό φόρτισης και εντολές ελέγχου προς το αυτοκίνητό σας. Αυτή η σελίδα καλύπτει το πώς ασφαλίζεται και τι πρέπει εσείς να κάνετε για να κρατήσετε την εγκατάστασή σας ασφαλή.
- Ο κωδικός πρόσβασης κρυπτογραφείται με bcrypt (cost factor 12)
- Οι αποτυχημένες συνδέσεις περιορίζονται με rate limiting: μετά από 5 αποτυχημένες προσπάθειες, ο λογαριασμός κλειδώνεται για 15 λεπτά
- Όλα τα γεγονότα σύνδεσης καταγράφονται στο audit log
Καλές πρακτικές κωδικών πρόσβασης:
- Χρησιμοποιήστε passphrase:
Sonne-Berg-Auto-Kaffee(4+ λέξεις, εύκολο να θυμηθείτε, δύσκολο να σπάσει) - Ελάχιστο 12 χαρακτήρες — μεγαλύτερο είναι καλύτερο
- Μην ξαναχρησιμοποιείτε κωδικούς πρόσβασης από άλλες υπηρεσίες
- Χρησιμοποιήστε διαχειριστή κωδικών πρόσβασης (Bitwarden, 1Password, KeePass)
Τα passkeys χρησιμοποιούν τη βιομετρική της συσκευής σας (δακτυλικό αποτύπωμα, Face ID) αντί για κωδικό πρόσβασης. Είναι ανθεκτικά στο phishing και πολύ πιο ασφαλή.
Ρύθμιση:
- Settings → Security → Add Passkey
- Ο περιηγητής σας ανοίγει ένα βιομετρικό prompt — επιβεβαιώστε με δάχτυλο ή πρόσωπο
- Έτοιμο — μπορείτε τώρα να συνδεθείτε μόνο με τη βιομετρική σας
Τα passkeys λειτουργούν σε:
- Mac (Touch ID)
- iPhone/iPad (Face ID / Touch ID)
- Android (δακτυλικό αποτύπωμα)
- Windows (Windows Hello)
- Hardware keys (YubiKey)
⚠️ Ο περιηγητής του αυτοκινήτου Tesla δεν υποστηρίζει passkeys. Χρησιμοποιήστε όνομα χρήστη + κωδικό πρόσβασης με "Stay signed in" στο αυτοκίνητο.
Προσθέστε επιπλέον στρώμα με μια εφαρμογή authenticator:
- Settings → Security → Enable MFA
- Σαρώστε τον κωδικό QR με Google Authenticator, Authy, Bitwarden ή παρόμοιο
- Εισαγάγετε τον 6ψήφιο κωδικό για επιβεβαίωση
Μετά τη ρύθμιση: κάθε σύνδεση απαιτεί τον κωδικό πρόσβασής σας + τον 6ψήφιο κωδικό.
Οι διαχειριστές μπορούν να απαιτήσουν MFA για όλους τους χρήστες:
# .env — forces MFA for all new users:
MFA_REQUIRED_FOR_NEW_USERS=true| Ρύθμιση | Τιμή |
|---|---|
| Διάρκεια ζωής access token | 15 λεπτά (βραχείας διάρκειας) |
| Refresh token — τυπικό | 7 ημέρες |
| Refresh token — "Stay signed in" | 90 ημέρες |
| Αποθήκευση refresh token | cookie httpOnly, Secure, SameSite=Lax
|
| Token rotation | Νέο refresh token σε κάθε χρήση |
Τα tokens αποθηκεύονται ως hashes SHA-256 — το cleartext δεν αγγίζει ποτέ τη βάση δεδομένων.
Πέρα από την ενσωματωμένη ασφάλεια του TeslaView, ο διακομιστής σας χρειάζεται επίσης προστασία.
Απενεργοποίηση authentication με κωδικό πρόσβασης — χρήση μόνο κλειδιών:
# Generate a key pair on your LOCAL computer:
ssh-keygen -t ed25519 -C "tesla-server"
# Copy public key to server:
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@YOUR-SERVER-IP
# On the server, disable password auth:
nano /etc/ssh/sshd_configΑλλάξτε αυτές τις γραμμές:
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
systemctl restart sshd
⚠️ Δοκιμάστε ότι η σύνδεση με κλειδί λειτουργεί πριν κλείσετε την τρέχουσα συνεδρία SSH.
Αλλαγή της προεπιλεγμένης θύρας SSH (προαιρετικό, μειώνει τον θόρυβο στα logs):
# In /etc/ssh/sshd_config:
Port 2222 # Any non-standard port
# Update firewall:
ufw allow 2222/tcp
ufw delete allow 22/tcp
systemctl restart sshdΤο script εγκατάστασης διαμορφώνει αυτόματα το UFW. Επαληθεύστε ότι είναι σωστό:
ufw status verboseΘα πρέπει να δείξει:
Status: active
To Action From
-- ------ ----
22/tcp (or your SSH port) ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
Μπλοκάρετε όλα τα άλλα — καμία άλλη θύρα δεν θα πρέπει να εκτίθεται δημόσια.
Το Fail2ban μπλοκάρει αυτόματα IPs που αποτυγχάνουν επανειλημμένα σε συνδέσεις SSH ή web. Το script εγκατάστασης το εγκαθιστά και διαμορφώνει.
Ελέγξτε την κατάσταση:
fail2ban-client status
fail2ban-client status sshd
fail2ban-client status nginx-http-authΞεμπλοκάρετε μια IP (αν αποκλείσατε τον εαυτό σας):
fail2ban-client set sshd unbanip YOUR-IPΑυτόματες ενημερώσεις για το λειτουργικό:
apt install unattended-upgrades -y
dpkg-reconfigure unattended-upgrades # Select yesΑυτόματες ενημερώσεις για το TeslaView:
# In /opt/tesla-carview/backend/.env:
AUTO_UPDATE_ENABLED=trueΟι ενημερώσεις τρέχουν νυχτερινά στις 03:30 (Europe/Berlin) εάν είναι ενεργοποιημένες.
Ενημερώσεις Docker image:
docker compose -f /opt/tesla-carview/docker-compose.prod.yml pull
docker compose -f /opt/tesla-carview/docker-compose.prod.yml up -dΤα πιστοποιητικά Let's Encrypt λήγουν κάθε 90 ημέρες και ανανεώνονται αυτόματα μέσω εργασίας cron (που έχει ρυθμιστεί από το script εγκατάστασης).
Ελέγξτε την κατάσταση πιστοποιητικού:
certbot certificatesΔοκιμάστε ανανέωση (dry run, χωρίς αλλαγές):
certbot renew --dry-runΕξαναγκάστε ανανέωση εάν χρειάζεται:
certbot renew --force-renewal
systemctl restart nginxΤο αρχείο .env σας περιέχει Tesla Client ID, Client Secret και μυστικό JWT. Δεν πρέπει ποτέ να:
- Γίνει commit στο git (είναι στο
.gitignore— μην το αντικαταστήσετε) - Γίνει δημόσια προσβάσιμο
- Μοιραστεί σε screenshots ή αιτήματα υποστήριξης
# Check permissions — should be 600 (owner read/write only):
ls -la /opt/tesla-carview/backend/.env
# Fix if wrong:
chmod 600 /opt/tesla-carview/backend/.envΤο TeslaView καταγράφει όλες τις ευαίσθητες ενέργειες:
- Προσπάθειες σύνδεσης (επιτυχία και αποτυχία)
- Κλειδώματα λογαριασμού
- Αλλαγές κωδικού πρόσβασης
- Εκτελέσεις εντολών οχήματος
- Διαγραφές δεδομένων
- Ενέργειες διαχειριστή
Δείτε στο: Admin → Audit Log
Εξαγωγή για ανάλυση: Admin → Audit Log → Export CSV
Η διαμόρφωση nginx του TeslaView περιλαμβάνει σύγχρονες κεφαλίδες ασφαλείας:
-
Content-Security-Policy(CSP) — αποτρέπει XSS -
Strict-Transport-Security(HSTS) — εξαναγκάζει HTTPS -
X-Frame-Options: DENY— αποτρέπει clickjacking X-Content-Type-Options: nosniff-
Permissions-Policy— περιορίζει λειτουργίες περιηγητή
Ελέγξτε τις κεφαλίδες σας: securityheaders.com
Βρήκατε ένα ζήτημα ασφαλείας; Παρακαλώ αναφέρετέ το υπεύθυνα:
- Μην ανοίξετε δημόσιο GitHub issue
- Email: δείτε το SECURITY.md στο repository
- Στόχος μας είναι να απαντήσουμε εντός 48 ωρών
- Authentication με κλειδιά SSH ενεργοποιημένο, authentication με κωδικό πρόσβασης απενεργοποιημένο
- Firewall ενεργό (UFW), μόνο οι θύρες 22/80/443 ανοιχτές
- Fail2ban σε λειτουργία
- Ισχυρός κωδικός πρόσβασης διαχειριστή (16+ χαρακτήρες ή passphrase)
- MFA ενεργοποιημένο για τον λογαριασμό διαχειριστή
- Δικαιώματα αρχείου
.envρυθμισμένα σε 600 - Αυτόματες ενημερώσεις ενεργοποιημένες (OS + TeslaView)
- Τακτικά backups διαμορφωμένα (δείτε Backup & Restore)
- Audit log ελεγχόμενο περιοδικά
🇬🇧 Home · Installation · Troubleshooting · License | 🇩🇪 Startseite · Installation · Fehlerbehebung | 🇫🇷 Accueil | 🇪🇸 Inicio | 🇹🇷 Ana Sayfa | 🇬🇷 Αρχική
GitHub Repository · Report an Issue
Tesla Carview — non-commercial, self-hosted Tesla data logger · © Sven Krische
🇬🇧 English
🚀 Getting Started
🌐 Network & Infrastructure
⚙️ Configuration
🔐 Security
📱 Reference
🇩🇪 Deutsch
🚀 Einstieg
🌐 Netzwerk & Infrastruktur
⚙️ Konfiguration
🔐 Sicherheit
📱 Referenz
🇫🇷 Français
🚀 Démarrage
🌐 Réseau & Infrastructure
⚙️ Configuration
🔐 Sécurité
📱 Référence
🇪🇸 Español
🚀 Primeros pasos
🌐 Red & Infraestructura
⚙️ Configuración
🔐 Seguridad
📱 Referencia
🇹🇷 Türkçe
🚀 Başlarken
🌐 Ağ & Altyapı
⚙️ Yapılandırma
🔐 Güvenlik
📱 Başvuru