meta(tasks): create [books-ssh-audit-shared-vds] in OpeItcLoc03/admin

This commit is contained in:
2026-05-24 12:03:02 +00:00
parent 25b2ff4032
commit 993e86086b

View File

@@ -122,3 +122,32 @@ _Updated: 2026-05-24 (Cleanup: 25 🟢 closed blocks → [ARCHIVE.md](ARCHIVE.md
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-24T12:02:41.503Z -->
---
## ⚪ [books-ssh-audit-shared-vds] — Ops-таска для Фазы 3, шаг 2 дизайна `tenant-split` из victor/books. SSH-аудит на текущем shared VDS перед cutover'ом. На промежуточной стадии (1 VDS, 2 стека, 2 БД) — infra-level изоляция временно скомпрометирована: пользователь с SSH к VDS может прочитать БД соседнего tenant'а через localhost. Минимизировать риск до Фазы 3.
**Контекст dev-source:** дизайн в victor/books `.wiki/concepts/tenant-split.md` § «Двухуровневая изоляция пользователей → Infra-level».
**Не блокируется ничем** — можно сделать сразу при начале Фазы 2 logical split.
**Acceptance:**
- `~/.ssh/authorized_keys` на shared VDS reviewed.
- Все ключи, не принадлежащие core-разрабу или формально-назначенному админу клиента — отозваны.
- Особое внимание: ключи аналитиков (если они когда-то выдавались) — отозвать. Аналитики работают через app-level login, не SSH.
- Документировать список оставшихся ключей в `OpeItcLoc03/admin/.wiki/concepts/books-ssh-access.md` (или эквивалент): owner, дата выдачи, обоснование.
**Status:** ready
**Where I stopped:** (not started)
**Next action:** 1. `ssh user@<shared-vds> 'cat ~/.ssh/authorized_keys'` или через panel провайдера.
2. Для каждого ключа: идентифицировать owner (по комментарию в ключе, по дате последнего login через `last`, по записи в локальной памяти).
3. Сформировать список «оставить / отозвать»:
- **Оставить:** core-разраб (ты), формально-назначенный админ клиента (если есть).
- **Отозвать:** аналитики, бывшие сотрудники, неопознанные ключи.
4. Согласовать с учредителями (формально) перед удалением — особенно если есть ключи их подчинённых.
5. Удалить отозванные ключи из `authorized_keys`. Backup старого файла в `/etc/ssh/authorized_keys.pre-audit-$(date +%F)`.
6. Verify: `ssh -i <revoked-key> user@host` отвергается.
7. Документировать в `OpeItcLoc03/admin/.wiki/concepts/books-ssh-access.md`.
8. Закрыть с note: «N ключей оставлено (<owners>), M отозвано».
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: OpeItcLoc03/workshop / 2026-05-24T12:02:58.941Z -->
---