Files
microdao-daarion/SECRETS-ROTATION-CHECKLIST.md
Apple 744c149300
Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
Add automated session logging system
- 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)
2026-01-10 04:53:17 -08:00

232 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔐 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=<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