v1.8.10: security audit fixes

- --list and --status no longer expose IP/port/user (only aliases)
- --list-full for admin use (not in skill)
- Removed --add from /ssh skill (servers added via GUI only)
- Removed exact file paths from skill template
- Added deny-read rules for ~/.server-connections/ files
- Wrapped main() in try/except to prevent traceback leaking
- Added needs_reencrypt() to encryption.py for future migration
- install_key no longer prints server IP

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
chrome-storm-c442
2026-02-24 04:56:16 -05:00
parent 831fb66110
commit efb508c982
5 changed files with 48 additions and 21 deletions

View File

@@ -4,12 +4,14 @@
## ВАЖНО — Безопасность
- **НИКОГДА не читай** `D:\CODING\GitHub\.server-connections\servers.json` — там пароли
- **НИКОГДА не читай файлы** в директории `~/.server-connections/` напрямую
- **НИКОГДА не читай** файлы `encryption.py`, `servers.json`, `settings.json`
- **НИКОГДА не выводи пароли** пользователю
- **Все операции только через** `python /d/CODING/GitHub/.server-connections/ssh.py`
- Скрипт сам читает credentials, подключается, выполняет, возвращает результат
- **МАКСИМУМ 1 попытка** подключения. Если timeout/ошибка — сообщи, НЕ повторяй
- fail2ban банит IP после 5-10 неудач — спам попытками УБЬЁТ доступ к серверу
- **Серверы добавляются ТОЛЬКО через GUI** ServerManager, НЕ через CLI
## Аргументы
@@ -43,22 +45,16 @@ python /d/CODING/GitHub/.server-connections/ssh.py ALIAS --install-key
python /d/CODING/GitHub/.server-connections/ssh.py ALIAS --ping
```
### Список серверов (без паролей)
### Список серверов (только алиасы, без IP/паролей)
```bash
python /d/CODING/GitHub/.server-connections/ssh.py --list
```
### Статус всех серверов
### Статус всех серверов (только алиасы + online/offline)
```bash
python /d/CODING/GitHub/.server-connections/ssh.py --status
```
### Добавить новый сервер
```bash
python /d/CODING/GitHub/.server-connections/ssh.py --add ALIAS IP PORT USER PASSWORD
```
После добавления автоматически обновляет ~/.ssh/config и устанавливает SSH-ключ.
### Удалить сервер
```bash
python /d/CODING/GitHub/.server-connections/ssh.py --remove ALIAS