# 🔐 SECRETS ROTATION CHECKLIST — NODE1 Compromise **Дата:** 2026-01-10 **Причина:** NODE1 (144.76.224.179) скомпрометований (Incidents #1-4) **Статус:** ⏳ ПОТРЕБУЄ ВИКОНАННЯ --- ## ⚠️ ВАЖЛИВО Всі секрети, які NODE1 коли-небудь бачив, **ВВАЖАТИ СКОМПРОМЕТОВАНИМИ**. Навіть якщо malware зараз не активний — він міг exfiltrate дані раніше. --- ## 📋 TELEGRAM BOT TOKENS (9 ботів) **Як ротувати:** Telegram → @BotFather → `/revoke` → `/token` | # | Бот | Поточний токен | Статус | |---|-----|----------------|--------| | 1 | **DAARWIZZ** (@DAARWIZZBot) | `8323412397:AAFxaru-hHRl08A3T6TC02uHLvO5wAB0m3M` | ⬜ Ротувати | | 2 | **Helion** (@HelionEnergyBot) | `8112062582:AAGI7tPFo4gvZ6bfbkFu9miq5GdAH2_LvcM` | ⬜ Ротувати | | 3 | **GREENFOOD** | `7495165343:AAHpxY8w3iXevaQT2rfj97OHLauu9Iq8vYM` | ⬜ Ротувати | | 4 | **CLAN** | `8516872152:AAGbjL6zCMOCqHgu9rcuagdhm0LEwYJFpKw` | ⬜ Ротувати | | 5 | **DRUID** | `8145618489:AAGgR5KmPr9P1_ppSrFa_Gpq5yqf3vNJ5AQ` | ⬜ Ротувати | | 6 | **EONARCH** | `7962391584:AAFYkelLRG3VR_Lxuu6pEGG76t4vZdANtz4` | ⬜ Ротувати | | 7 | **SOUL** | `8041596416:AAGyHEjalPEH2TC0AOxfIQ2aZvFTFRanO0g` | ⬜ Ротувати | | 8 | **YAROMIR** | `8128180674:AAGNZdG3LwECI4z_803smsuRHsK3nPdjMLY` | ⬜ Ротувати | | 9 | **NUTRA** | `8517315428:AAEFSGG_XEIR0N6svGKSf0cf09_A9jV26zA` | ⬜ Ротувати | **Процедура:** ```bash # 1. Відкрити @BotFather в Telegram # 2. /mybots → вибрати бота → API Token → Revoke current token # 3. Скопіювати новий токен # 4. Оновити в .env на НОВОМУ сервері ``` --- ## 🔑 API KEYS | Сервіс | Ключ | Дія | |--------|------|-----| | **DeepSeek** | `sk-5adf7a2b421349de90468517b41c4448` | ⬜ Ротувати в dashboard | | **xAI/Grok** | (якщо є) | ⬜ Перевірити та ротувати | | **OpenAI** | (якщо є) | ⬜ Перевірити та ротувати | | **Anthropic** | (якщо є) | ⬜ Перевірити та ротувати | **DeepSeek ротація:** 1. Зайти на https://platform.deepseek.com/ 2. API Keys → Delete old → Create new 3. Оновити `DEEPSEEK_API_KEY` в .env --- ## 🗄️ DATABASE PASSWORDS | База | Поточний пароль | Дія | |------|-----------------|-----| | **PostgreSQL** | `postgres` | ⬜ Змінити на складний | | **Neo4j** | (перевірити .env) | ⬜ Змінити | | **Redis** | (без паролю?) | ⬜ Додати пароль | | **MinIO** | `WpyOnsTKHWzuq5CRKjslZ45kMilT0Gez` | ⬜ Ротувати | **Генерація нового паролю:** ```bash # Згенерувати безпечний пароль openssl rand -base64 32 ``` --- ## 🔐 SSH KEYS | Ключ | Розташування | Дія | |------|--------------|-----| | **NODE1 root key** | `/root/.ssh/` на NODE1 | ⬜ Видалити при rebuild | | **Ваш SSH ключ** | `~/.ssh/id_ed25519` або `id_rsa` | ⬜ Перегенерувати | | **GitHub deploy key** | GitHub repo settings | ⬜ Ротувати | **Генерація нового SSH ключа (на MacBook):** ```bash # Backup старого mv ~/.ssh/id_ed25519 ~/.ssh/id_ed25519.compromised.backup # Генерація нового ssh-keygen -t ed25519 -C "admin@daarion.city" -f ~/.ssh/id_ed25519 # Додати в ssh-agent ssh-add ~/.ssh/id_ed25519 # Скопіювати публічний ключ cat ~/.ssh/id_ed25519.pub # Додати в GitHub → Settings → SSH Keys # Додати на новий NODE1 після rebuild ``` --- ## 🌐 SSL/TLS CERTIFICATES | Домен | Дія | |-------|-----| | `gateway.daarion.city` | ⬜ Перевипустити через certbot | | `daarion.city` | ⬜ Перевірити | **Certbot на новому сервері:** ```bash certbot certonly --nginx -d gateway.daarion.city ``` --- ## 🔧 JWT / SESSION SECRETS | Секрет | Дія | |--------|-----| | JWT_SECRET | ⬜ Згенерувати новий | | SESSION_SECRET | ⬜ Згенерувати новий | | COOKIE_SECRET | ⬜ Згенерувати новий | **Генерація:** ```bash # JWT secret (256 bit) openssl rand -hex 32 # Або base64 openssl rand -base64 32 ``` --- ## 📦 DOCKER / REGISTRY | Елемент | Дія | |---------|-----| | Docker Hub credentials | ⬜ Перевірити чи використовувались | | GHCR token | ⬜ Ротувати якщо є | --- ## ☁️ CLOUD CREDENTIALS | Сервіс | Дія | |--------|-----| | Hetzner API token | ⬜ Ротувати в Robot | | Cloudflare API key | ⬜ Ротувати якщо використовувався | --- ## ✅ CHECKLIST ПІСЛЯ REBUILD NODE1 ``` [ ] 1. Rebuild NODE1 (fresh Ubuntu install) [ ] 2. Новий SSH ключ додано на NODE1 [ ] 3. Всі Telegram токени ротовані [ ] 4. DeepSeek API key ротований [ ] 5. PostgreSQL пароль змінено [ ] 6. MinIO пароль змінено [ ] 7. JWT/Session secrets згенеровані [ ] 8. SSL сертифікати перевипущені [ ] 9. .env оновлено з новими секретами [ ] 10. Webhooks перереєстровані [ ] 11. Тести пройдені [ ] 12. Моніторинг налаштований ``` --- ## 🚀 ПОРЯДОК ДІЙ ### Фаза 1: Підготовка (до rebuild) 1. ⬜ Зберегти цей документ 2. ⬜ Зробити backup даних з NODE1 (PostgreSQL dump, etc.) 3. ⬜ Підготувати нові секрети заздалегідь ### Фаза 2: Rebuild NODE1 1. ⬜ Hetzner Robot → Rescue → Reinstall Ubuntu 24.04 2. ⬜ Базове налаштування (firewall, fail2ban, etc.) 3. ⬜ Встановити Docker, k3s ### Фаза 3: Ротація секретів 1. ⬜ Ротувати Telegram токени через @BotFather 2. ⬜ Ротувати API keys 3. ⬜ Створити новий .env з новими секретами 4. ⬜ Deploy на новий NODE1 ### Фаза 4: Верифікація 1. ⬜ Перевірити всі боти працюють 2. ⬜ Перевірити API endpoints 3. ⬜ Запустити smoke tests 4. ⬜ Моніторинг CPU/мережі 24 години --- ## 📝 НОВІ СЕКРЕТИ (заповнити після ротації) ```bash # Telegram Bots (НОВІ токени) DAARWIZZ_TELEGRAM_BOT_TOKEN= HELION_TELEGRAM_BOT_TOKEN= GREENFOOD_TELEGRAM_BOT_TOKEN= CLAN_TELEGRAM_BOT_TOKEN= DRUID_TELEGRAM_BOT_TOKEN= EONARCH_TELEGRAM_BOT_TOKEN= SOUL_TELEGRAM_BOT_TOKEN= YAROMIR_TELEGRAM_BOT_TOKEN= NUTRA_TELEGRAM_BOT_TOKEN= # API Keys (НОВІ) DEEPSEEK_API_KEY= # Database (НОВІ паролі) POSTGRES_PASSWORD= MINIO_ROOT_PASSWORD= NEO4J_AUTH=neo4j/ REDIS_PASSWORD= # JWT/Sessions (НОВІ) JWT_SECRET= SESSION_SECRET= ``` --- **Створено:** 2026-01-10 **Автор:** Security Triage Script **Статус:** Очікує виконання після NODE1 rebuild