Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
- Created logs/ structure (sessions, operations, incidents) - Added session-start/log/end scripts - Installed Git hooks for auto-logging commits/pushes - Added shell integration for zsh - Created CHANGELOG.md - Documented today's session (2026-01-10)
7.5 KiB
7.5 KiB
🔐 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 |
⬜ Ротувати |
Процедура:
# 1. Відкрити @BotFather в Telegram
# 2. /mybots → вибрати бота → API Token → Revoke current token
# 3. Скопіювати новий токен
# 4. Оновити в .env на НОВОМУ сервері
🔑 API KEYS
| Сервіс | Ключ | Дія |
|---|---|---|
| DeepSeek | sk-5adf7a2b421349de90468517b41c4448 |
⬜ Ротувати в dashboard |
| xAI/Grok | (якщо є) | ⬜ Перевірити та ротувати |
| OpenAI | (якщо є) | ⬜ Перевірити та ротувати |
| Anthropic | (якщо є) | ⬜ Перевірити та ротувати |
DeepSeek ротація:
- Зайти на https://platform.deepseek.com/
- API Keys → Delete old → Create new
- Оновити
DEEPSEEK_API_KEYв .env
🗄️ DATABASE PASSWORDS
| База | Поточний пароль | Дія |
|---|---|---|
| PostgreSQL | postgres |
⬜ Змінити на складний |
| Neo4j | (перевірити .env) | ⬜ Змінити |
| Redis | (без паролю?) | ⬜ Додати пароль |
| MinIO | WpyOnsTKHWzuq5CRKjslZ45kMilT0Gez |
⬜ Ротувати |
Генерація нового паролю:
# Згенерувати безпечний пароль
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):
# 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 на новому сервері:
certbot certonly --nginx -d gateway.daarion.city
🔧 JWT / SESSION SECRETS
| Секрет | Дія |
|---|---|
| JWT_SECRET | ⬜ Згенерувати новий |
| SESSION_SECRET | ⬜ Згенерувати новий |
| COOKIE_SECRET | ⬜ Згенерувати новий |
Генерація:
# 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)
- ⬜ Зберегти цей документ
- ⬜ Зробити backup даних з NODE1 (PostgreSQL dump, etc.)
- ⬜ Підготувати нові секрети заздалегідь
Фаза 2: Rebuild NODE1
- ⬜ Hetzner Robot → Rescue → Reinstall Ubuntu 24.04
- ⬜ Базове налаштування (firewall, fail2ban, etc.)
- ⬜ Встановити Docker, k3s
Фаза 3: Ротація секретів
- ⬜ Ротувати Telegram токени через @BotFather
- ⬜ Ротувати API keys
- ⬜ Створити новий .env з новими секретами
- ⬜ Deploy на новий NODE1
Фаза 4: Верифікація
- ⬜ Перевірити всі боти працюють
- ⬜ Перевірити API endpoints
- ⬜ Запустити smoke tests
- ⬜ Моніторинг CPU/мережі 24 години
📝 НОВІ СЕКРЕТИ (заповнити після ротації)
# Telegram Bots (НОВІ токени)
DAARWIZZ_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
HELION_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
GREENFOOD_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
CLAN_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
DRUID_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
EONARCH_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
SOUL_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
YAROMIR_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
NUTRA_TELEGRAM_BOT_TOKEN=<NEW_TOKEN>
# API Keys (НОВІ)
DEEPSEEK_API_KEY=<NEW_KEY>
# Database (НОВІ паролі)
POSTGRES_PASSWORD=<NEW_STRONG_PASSWORD>
MINIO_ROOT_PASSWORD=<NEW_STRONG_PASSWORD>
NEO4J_AUTH=neo4j/<NEW_STRONG_PASSWORD>
REDIS_PASSWORD=<NEW_STRONG_PASSWORD>
# JWT/Sessions (НОВІ)
JWT_SECRET=<GENERATED_SECRET>
SESSION_SECRET=<GENERATED_SECRET>
Створено: 2026-01-10
Автор: Security Triage Script
Статус: Очікує виконання після NODE1 rebuild