Repository navigation
UK Security
🤖 Цей український переклад створений з AI-підтримкою з англійського оригіналу. Виправлення приймаються на GitHub.
🌐 Мова: EN · DE · FR · ES · TR · EL · UK
Tesla Carview обробляє чутливі дані: локацію автомобіля, історію заряджання та команди керування вашим авто. Ця сторінка охоплює, як це захищено і що ви повинні робити, щоб ваша інсталяція залишалася безпечною.
- Пароль хешується bcrypt (cost factor 12)
- Невдалі входи мають обмеження швидкості: після 5 невдалих спроб обліковий запис блокується на 15 хвилин
- Усі події входу записуються в audit log
Хороші практики паролів:
- Використовуйте парольну фразу:
Sonne-Berg-Auto-Kaffee(4+ слова, легко запам'ятати, важко зламати) - Мінімум 12 символів — довше краще
- Не використовуйте повторно паролі з інших сервісів
- Використовуйте менеджер паролів (Bitwarden, 1Password, KeePass)
Passkey використовують біометрію вашого пристрою (відбиток пальця, Face ID) замість пароля. Вони стійкі до фішингу та значно безпечніші.
Налаштування:
- Settings → Security → Add Passkey
- Ваш браузер відкриває біометричний запит — підтвердьте пальцем або обличчям
- Готово — тепер ви можете входити лише за допомогою біометрії
Passkey працюють на:
- Mac (Touch ID)
- iPhone/iPad (Face ID / Touch ID)
- Android (відбиток пальця)
- Windows (Windows Hello)
- Апаратні ключі (YubiKey)
⚠️ Браузер автомобіля Tesla не підтримує Passkey. Використовуйте ім'я користувача + пароль із "Stay signed in" у автомобілі.
Додайте додатковий рівень із застосунком-автентифікатором:
- Settings → Security → Enable MFA
- Скануйте QR-код у Google Authenticator, Authy, Bitwarden або подібному
- Введіть 6-значний код для підтвердження
Після налаштування: кожен вхід вимагає вашого пароля + 6-значний код.
Адміністратори можуть вимагати MFA для всіх користувачів:
# .env — примушує MFA для всіх нових користувачів:
MFA_REQUIRED_FOR_NEW_USERS=true| Налаштування | Значення |
|---|---|
| Час життя access-токена | 15 хвилин (короткочасний) |
| Refresh-токен — стандарт | 7 днів |
| Refresh-токен — "Stay signed in" | 90 днів |
| Зберігання refresh-токена |
httpOnly, Secure, SameSite=Lax cookie |
| Ротація токенів | Новий refresh-токен при кожному використанні |
Токени зберігаються як SHA-256 хеші — відкритий текст ніколи не торкається бази даних.
Поза вбудованою безпекою Tesla Carview ваш сервер також потребує захисту.
Вимкніть аутентифікацію паролем — використовуйте лише ключі:
# Згенеруйте пару ключів на вашому ЛОКАЛЬНОМУ комп'ютері:
ssh-keygen -t ed25519 -C "tesla-server"
# Скопіюйте публічний ключ на сервер:
ssh-copy-id -i ~/.ssh/id_ed25519.pub root@YOUR-SERVER-IP
# На сервері вимкніть аутентифікацію паролем:
nano /etc/ssh/sshd_configЗмініть ці рядки:
PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
systemctl restart sshd
⚠️ Перевірте, що вхід за ключем працює, перш ніж закривати вашу поточну сесію SSH.
Змініть стандартний SSH-порт (опціонально, зменшує шум у журналі):
# У /etc/ssh/sshd_config:
Port 2222 # Будь-який нестандартний порт
# Оновіть фаєрвол:
ufw allow 2222/tcp
ufw delete allow 22/tcp
systemctl restart sshdСкрипт налаштування налаштовує UFW автоматично. Перевірте, чи правильно:
ufw status verboseМає показати:
Status: active
To Action From
-- ------ ----
22/tcp (або ваш SSH-порт) ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
Заблокуйте все інше — жодні інші порти не повинні бути відкритими публічно.
Fail2ban автоматично банить IP, які повторно зазнають невдачі при SSH або веб-входах. Скрипт налаштування встановлює та налаштовує його.
Перевірте статус:
fail2ban-client status
fail2ban-client status sshd
fail2ban-client status nginx-http-authРозбаньте IP (якщо ви заблокували себе):
fail2ban-client set sshd unbanip YOUR-IPАвто-оновлення для OS:
apt install unattended-upgrades -y
dpkg-reconfigure unattended-upgrades # Виберіть yesАвто-оновлення для Tesla Carview:
# У /opt/tesla-carview/backend/.env:
AUTO_UPDATE_ENABLED=trueОновлення запускаються щовечора о 03:30 (Europe/Berlin), якщо ввімкнено.
Оновлення образів Docker:
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-завдання (налаштоване скриптом установки).
Перевірте статус сертифіката:
certbot certificatesПеревірка поновлення (dry run, без змін):
certbot renew --dry-runПримусово поновіть за потреби:
certbot renew --force-renewal
systemctl restart nginxВаш .env файл містить Tesla Client ID, Client Secret і JWT secret. Він ніколи не повинен бути:
- Закомічений до git (він у
.gitignore— не перевизначайте це) - Доступний публічно
- Поширений у скріншотах або запитах підтримки
# Перевірте дозволи — мають бути 600 (читання/запис лише для власника):
ls -la /opt/tesla-carview/backend/.env
# Виправте, якщо неправильно:
chmod 600 /opt/tesla-carview/backend/.envTesla Carview записує всі чутливі дії:
- Спроби входу (успіх і невдача)
- Блокування облікових записів
- Зміни пароля
- Виконання команд автомобіля
- Видалення даних
- Дії адміністратора
Переглядайте на: Admin → Audit Log
Експорт для аналізу: Admin → Audit Log → Export CSV
Конфігурація nginx Tesla Carview включає сучасні заголовки безпеки:
-
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 у репозиторії
- Ми прагнемо відповісти протягом 48 годин
- SSH-аутентифікація за ключем увімкнена, аутентифікація паролем вимкнена
- Фаєрвол активний (UFW), відкриті лише порти 22/80/443
- Fail2ban працює
- Сильний пароль адміна (16+ символів або парольна фраза)
- MFA увімкнено для облікового запису адміна
- Дозволи файлу
.envвстановлено на 600 - Авто-оновлення увімкнено (OS + Tesla Carview)
- Регулярні резервні копії налаштовані (див. Резервне копіювання та відновлення)
- 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