ci: docker_tag=dev-test - Mise à jour documentation et standardisation
This commit is contained in:
parent
f4a8dd2e7f
commit
308183b163
@ -1,23 +1,79 @@
|
||||
# PROTECTION COMPLÈTE - Empêcher l'accès Docker à storage/
|
||||
**/__pycache__/
|
||||
**/storage/
|
||||
**/dist/
|
||||
**/node_modules/
|
||||
**/package-lock.json*
|
||||
**/yarn.lock*
|
||||
# 4NK Environment - Git Ignore
|
||||
# ============================
|
||||
confs/
|
||||
# Dossiers de sauvegarde des scripts
|
||||
**/backup/
|
||||
**/*backup*
|
||||
|
||||
# Variables d'environnement (protection renforcée)
|
||||
**/.env*
|
||||
**/.toml*
|
||||
**/.conf*
|
||||
**/.yaml*
|
||||
**/.yml*
|
||||
**/.ini*
|
||||
**/.json*
|
||||
**/.crt*
|
||||
**/.key*
|
||||
**/.pem*
|
||||
**/.cargo/
|
||||
|
||||
# Clés utilisateur et données sensibles
|
||||
**/_keys/
|
||||
**/keys.json*
|
||||
# Fichiers temporaires
|
||||
**/*.tmp*
|
||||
**/*.temp*
|
||||
**/*.log*
|
||||
**/*.pid*
|
||||
|
||||
# Fichiers de configuration locale
|
||||
**/*.env*
|
||||
**/*.conf*
|
||||
**/*.yaml*
|
||||
**/*.yml*
|
||||
**/*.ini*
|
||||
**/*.json*
|
||||
**/*.toml*
|
||||
**/*.lock*
|
||||
|
||||
# Données et logs
|
||||
**/*.logs*
|
||||
**/*.data
|
||||
*.db
|
||||
*.sqlite
|
||||
|
||||
# Certificats et clés
|
||||
**/*.key
|
||||
**/*.pem
|
||||
**/*.crt
|
||||
**/*.p12
|
||||
**/*.pfx
|
||||
ssl/
|
||||
certs/
|
||||
|
||||
# Docker
|
||||
**/*.docker*
|
||||
|
||||
# Cache et build
|
||||
**/*.node_modules/
|
||||
**/*.dist/
|
||||
**/*build/
|
||||
**/*target/
|
||||
**/*.*.o
|
||||
**/*.so
|
||||
**/*.dylib
|
||||
|
||||
# IDE et éditeurs
|
||||
**/*.vscode/
|
||||
**/*.idea/
|
||||
**/*.swp
|
||||
**/*.swo
|
||||
**/*~
|
||||
|
||||
# OS
|
||||
**/*.DS_Store
|
||||
**/*Thumbs.db
|
||||
**/*tmp*
|
||||
|
||||
# Git
|
||||
**/*.git/
|
||||
**/*.orig*
|
||||
|
||||
# Backup des projets existants
|
||||
**/*backup*
|
||||
|
||||
|
||||
**/*wallet*
|
||||
**/*keys*
|
||||
|
||||
**/*node_modules*
|
||||
**/*cursor*
|
||||
**/*pid*
|
||||
**/*next*
|
@ -1,23 +1,79 @@
|
||||
# PROTECTION COMPLÈTE - Empêcher l'accès Docker à storage/
|
||||
**/__pycache__/
|
||||
**/storage/
|
||||
**/dist/
|
||||
**/node_modules/
|
||||
**/package-lock.json*
|
||||
**/yarn.lock*
|
||||
# 4NK Environment - Git Ignore
|
||||
# ============================
|
||||
confs/
|
||||
# Dossiers de sauvegarde des scripts
|
||||
**/backup/
|
||||
**/*backup*
|
||||
|
||||
# Variables d'environnement (protection renforcée)
|
||||
**/.env*
|
||||
**/.toml*
|
||||
**/.conf*
|
||||
**/.yaml*
|
||||
**/.yml*
|
||||
**/.ini*
|
||||
**/.json*
|
||||
**/.crt*
|
||||
**/.key*
|
||||
**/.pem*
|
||||
**/.cargo/
|
||||
|
||||
# Clés utilisateur et données sensibles
|
||||
**/_keys/
|
||||
**/keys.json*
|
||||
# Fichiers temporaires
|
||||
**/*.tmp*
|
||||
**/*.temp*
|
||||
**/*.log*
|
||||
**/*.pid*
|
||||
|
||||
# Fichiers de configuration locale
|
||||
**/*.env*
|
||||
**/*.conf*
|
||||
**/*.yaml*
|
||||
**/*.yml*
|
||||
**/*.ini*
|
||||
**/*.json*
|
||||
**/*.toml*
|
||||
**/*.lock*
|
||||
|
||||
# Données et logs
|
||||
**/*.logs*
|
||||
**/*.data
|
||||
*.db
|
||||
*.sqlite
|
||||
|
||||
# Certificats et clés
|
||||
**/*.key
|
||||
**/*.pem
|
||||
**/*.crt
|
||||
**/*.p12
|
||||
**/*.pfx
|
||||
ssl/
|
||||
certs/
|
||||
|
||||
# Docker
|
||||
**/*.docker*
|
||||
|
||||
# Cache et build
|
||||
**/*.node_modules/
|
||||
**/*.dist/
|
||||
**/*build/
|
||||
**/*target/
|
||||
**/*.*.o
|
||||
**/*.so
|
||||
**/*.dylib
|
||||
|
||||
# IDE et éditeurs
|
||||
**/*.vscode/
|
||||
**/*.idea/
|
||||
**/*.swp
|
||||
**/*.swo
|
||||
**/*~
|
||||
|
||||
# OS
|
||||
**/*.DS_Store
|
||||
**/*Thumbs.db
|
||||
**/*tmp*
|
||||
|
||||
# Git
|
||||
**/*.git/
|
||||
**/*.orig*
|
||||
|
||||
# Backup des projets existants
|
||||
**/*backup*
|
||||
|
||||
|
||||
**/*wallet*
|
||||
**/*keys*
|
||||
|
||||
**/*node_modules*
|
||||
**/*cursor*
|
||||
**/*pid*
|
||||
**/*next*
|
99
.gitignore
vendored
99
.gitignore
vendored
@ -1,26 +1,79 @@
|
||||
# PROTECTION COMPLÈTE - Empêcher l'accès Docker à storage/
|
||||
**/__pycache__/
|
||||
**/storage/
|
||||
**/dist/
|
||||
**/node_modules/
|
||||
**/package-lock.json*
|
||||
**/yarn.lock*
|
||||
# 4NK Environment - Git Ignore
|
||||
# ============================
|
||||
confs/
|
||||
# Dossiers de sauvegarde des scripts
|
||||
**/backup/
|
||||
**/*backup*
|
||||
|
||||
# Variables d'environnement (protection renforcée)
|
||||
**/.env*
|
||||
**/.toml*
|
||||
**/.conf*
|
||||
**/.yaml*
|
||||
**/.yml*
|
||||
**/.ini*
|
||||
**/.json*
|
||||
**/.crt*
|
||||
**/.key*
|
||||
**/.pem*
|
||||
**/.cargo/
|
||||
|
||||
# Clés utilisateur et données sensibles
|
||||
**/_keys/
|
||||
**/keys.json*
|
||||
# Fichiers temporaires
|
||||
**/*.tmp*
|
||||
**/*.temp*
|
||||
**/*.log*
|
||||
**/*.pid*
|
||||
|
||||
# Dossiers de synchronisation de test
|
||||
**/confs*/
|
||||
# Fichiers de configuration locale
|
||||
**/*.env*
|
||||
**/*.conf*
|
||||
**/*.yaml*
|
||||
**/*.yml*
|
||||
**/*.ini*
|
||||
**/*.json*
|
||||
**/*.toml*
|
||||
**/*.lock*
|
||||
|
||||
# Données et logs
|
||||
**/*.logs*
|
||||
**/*.data
|
||||
*.db
|
||||
*.sqlite
|
||||
|
||||
# Certificats et clés
|
||||
**/*.key
|
||||
**/*.pem
|
||||
**/*.crt
|
||||
**/*.p12
|
||||
**/*.pfx
|
||||
ssl/
|
||||
certs/
|
||||
|
||||
# Docker
|
||||
**/*.docker*
|
||||
|
||||
# Cache et build
|
||||
**/*.node_modules/
|
||||
**/*.dist/
|
||||
**/*build/
|
||||
**/*target/
|
||||
**/*.*.o
|
||||
**/*.so
|
||||
**/*.dylib
|
||||
|
||||
# IDE et éditeurs
|
||||
**/*.vscode/
|
||||
**/*.idea/
|
||||
**/*.swp
|
||||
**/*.swo
|
||||
**/*~
|
||||
|
||||
# OS
|
||||
**/*.DS_Store
|
||||
**/*Thumbs.db
|
||||
**/*tmp*
|
||||
|
||||
# Git
|
||||
**/*.git/
|
||||
**/*.orig*
|
||||
|
||||
# Backup des projets existants
|
||||
**/*backup*
|
||||
|
||||
|
||||
**/*wallet*
|
||||
**/*keys*
|
||||
|
||||
**/*node_modules*
|
||||
**/*cursor*
|
||||
**/*pid*
|
||||
**/*next*
|
12
README.md
12
README.md
@ -74,7 +74,7 @@ X-User-ID: your_user_id
|
||||
|
||||
**Exemple :**
|
||||
```bash
|
||||
curl -k -H "X-User-ID: demo_user_001" https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" "$VAULT_URL"/dev/bitcoin/bitcoin.conf
|
||||
```
|
||||
|
||||
## 🔧 Installation et utilisation
|
||||
@ -171,11 +171,13 @@ python3 test_api.py
|
||||
└── docs/ # Documentation complète
|
||||
```
|
||||
|
||||
## 🌐 Domaine
|
||||
## 🌐 Intégration dans l'environnement 4NK
|
||||
|
||||
L'API est configurée pour fonctionner sur le domaine `vault.4nkweb.com` avec des certificats SSL auto-signés pour la démonstration.
|
||||
|
||||
En production, utilisez des certificats SSL valides et implémentez un échange de clés sécurisé.
|
||||
Ce module s'intègre au déploiement global 4NK via une URL de base configurable (variable `VAULT_URL`).
|
||||
Consultez les documents centraux pour le contexte et l'orchestration:
|
||||
- `docs/DEEP_ARCHITECTURE_ANALYSIS.md`
|
||||
- `docs/TECHNICAL_REFERENCE.md`
|
||||
- `docs/DEPLOYMENT_GUIDE.md`
|
||||
|
||||
## ⚠️ Avertissements
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
## 🚨 Problème de sécurité résolu
|
||||
|
||||
### Problème identifié
|
||||
La clé de démonstration `quantum_resistant_demo_key_32byt` était **exposée publiquement** dans le code source, permettant à n'importe qui de déchiffrer les fichiers servis par l'API.
|
||||
La clé de démonstration `<DEMO_KEY_PLACEHOLDER>` était **exposée publiquement** dans le code source, permettant à n'importe qui de déchiffrer les fichiers servis par l'API.
|
||||
|
||||
### Solution implémentée
|
||||
|
||||
@ -62,7 +62,7 @@ const client = new VaultClient({
|
||||
baseUrl: 'https://vault.4nkweb.com:6666',
|
||||
verifySsl: false,
|
||||
timeout: 15000
|
||||
}, 'old_demo_key'); // Ignorée mais acceptée
|
||||
}, '<OLD_DEMO_KEY_PLACEHOLDER>'); // Ignorée mais acceptée
|
||||
```
|
||||
|
||||
### 🚀 **Prochaines étapes**
|
||||
@ -74,6 +74,6 @@ const client = new VaultClient({
|
||||
|
||||
---
|
||||
|
||||
**Date** : 2025-09-29
|
||||
**Sévérité** : Critique → Résolu
|
||||
**Date** : 2025-09-29
|
||||
**Sévérité** : Critique → Résolu
|
||||
**Impact** : Exposition des données → Clés dynamiques sécurisées
|
||||
|
@ -21,7 +21,7 @@ L'API 4NK Vault Secure est un système de stockage sécurisé avec authentificat
|
||||
### Format de l'ID utilisateur
|
||||
- **Longueur** : 3-128 caractères
|
||||
- **Caractères autorisés** : `a-zA-Z0-9_-`
|
||||
- **Exemple** : `demo_user_001`
|
||||
- **Exemple** : `<VAULT_USER_ID>`
|
||||
|
||||
### Header requis
|
||||
```http
|
||||
@ -180,7 +180,7 @@ X-User-ID: your_user_id
|
||||
|
||||
**Exemple d'utilisation :**
|
||||
```bash
|
||||
curl -k -H "X-User-ID: demo_user_001" \
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
|
||||
https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \
|
||||
--output bitcoin.conf.encrypted
|
||||
```
|
||||
@ -308,32 +308,32 @@ rpcport=8332
|
||||
|
||||
### Test de connectivité
|
||||
```bash
|
||||
curl -k -H "X-User-ID: demo_user_001" \
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
|
||||
https://vault.4nkweb.com:6666/health
|
||||
```
|
||||
|
||||
### Récupération d'informations
|
||||
```bash
|
||||
curl -k -H "X-User-ID: demo_user_001" \
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
|
||||
https://vault.4nkweb.com:6666/info
|
||||
```
|
||||
|
||||
### Liste des routes disponibles
|
||||
```bash
|
||||
curl -k -H "X-User-ID: demo_user_001" \
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
|
||||
https://vault.4nkweb.com:6666/routes
|
||||
```
|
||||
|
||||
### Récupération d'un fichier
|
||||
```bash
|
||||
curl -k -H "X-User-ID: demo_user_001" \
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
|
||||
https://vault.4nkweb.com:6666/dev/bitcoin/bitcoin.conf \
|
||||
--output bitcoin.conf.encrypted
|
||||
```
|
||||
|
||||
### Récupération avec sauvegarde de la clé suivante
|
||||
```bash
|
||||
curl -k -H "X-User-ID: demo_user_001" \
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" \
|
||||
https://vault.4nkweb.com:6666/dev/tor/torrc \
|
||||
--output torrc.encrypted \
|
||||
--dump-header headers.txt
|
||||
|
@ -62,7 +62,7 @@ pip install -r requirements.txt
|
||||
./start_api.sh
|
||||
|
||||
# 3. Test avec authentification
|
||||
curl -k -H "X-User-ID: demo_user_001" https://127.0.0.1:6666/health
|
||||
curl -k -H "X-User-ID: <VAULT_USER_ID>" https://127.0.0.1:6666/health
|
||||
```
|
||||
|
||||
### Utilisation avec le SDK TypeScript
|
||||
|
@ -40,8 +40,8 @@ Le SDK peut être configuré automatiquement via un fichier `.env` :
|
||||
|
||||
```bash
|
||||
# .env
|
||||
VAULT_USER=demo_user_001
|
||||
VAULT_KEY=JYyybYFXe9hghRI9d1mpoQ1uYYxpt/6lzYPOWrxruG0=
|
||||
VAULT_USER=<VAULT_USER_ID>
|
||||
VAULT_KEY=<VAULT_KEY_BASE64>
|
||||
VAULT_ENV=dev
|
||||
VAULT_CONFS_DIR=../confs # Dossier de destination pour les fichiers synchronisés
|
||||
```
|
||||
@ -54,7 +54,7 @@ VAULT_CONFS_DIR=../confs # Dossier de destination pour les fichiers synchronis
|
||||
| `VAULT_KEY` | Clé de déchiffrement (gérée automatiquement) | ✅ | - |
|
||||
| `VAULT_ENV` | Environnement par défaut | ✅ | - |
|
||||
| `VAULT_CONFS_DIR` | Dossier de destination pour les fichiers synchronisés | ❌ | `../confs` |
|
||||
| `VAULT_URL` | URL de l'API Vault | ❌ | `https://vault.4nkweb.com:6666` |
|
||||
| `VAULT_URL` | URL de l'API Vault | ❌ | `<VAULT_URL>` |
|
||||
|
||||
#### Chargement automatique des variables d'environnement
|
||||
|
||||
@ -75,9 +75,9 @@ import { SecureVaultClient } from '@4nk/vault-sdk';
|
||||
|
||||
// Configuration manuelle
|
||||
const client = new SecureVaultClient({
|
||||
baseUrl: 'https://vault.4nkweb.com:6666',
|
||||
userId: 'demo_user_001',
|
||||
vaultKey: 'base64-encoded-key',
|
||||
baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
|
||||
userId: '<VAULT_USER_ID>',
|
||||
vaultKey: '<VAULT_KEY_BASE64>',
|
||||
environment: 'dev',
|
||||
verifySsl: false // Pour les certificats auto-signés
|
||||
});
|
||||
@ -110,9 +110,9 @@ try {
|
||||
import { SecureVaultClient } from '@4nk/vault-sdk';
|
||||
|
||||
const client = new SecureVaultClient({
|
||||
baseUrl: 'https://vault.4nkweb.com:6666',
|
||||
userId: 'demo_user_001',
|
||||
vaultKey: 'your-base64-key',
|
||||
baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
|
||||
userId: '<VAULT_USER_ID>',
|
||||
vaultKey: '<VAULT_KEY_BASE64>',
|
||||
environment: 'dev',
|
||||
verifySsl: false, // Pour les certificats auto-signés
|
||||
timeout: 10000 // 10 secondes
|
||||
@ -239,10 +239,10 @@ try {
|
||||
|
||||
// ✅ Utiliser HTTPS en production
|
||||
const client = new SecureVaultClient({
|
||||
baseUrl: 'https://vault.4nkweb.com:6666',
|
||||
baseUrl: process.env.VAULT_URL ?? '<VAULT_URL>',
|
||||
verifySsl: true, // Activer la validation SSL
|
||||
userId: 'your-user-id',
|
||||
vaultKey: 'your-base64-key',
|
||||
userId: '<VAULT_USER_ID>',
|
||||
vaultKey: '<VAULT_KEY_BASE64>',
|
||||
environment: 'prod'
|
||||
});
|
||||
|
||||
@ -314,8 +314,8 @@ const syncResult = await client.syncLocalFiles({
|
||||
```typescript
|
||||
const client = new SecureVaultClient({
|
||||
baseUrl: 'https://vault.4nkweb.com:6666',
|
||||
userId: 'demo_user_001',
|
||||
vaultKey: 'your-key',
|
||||
userId: '<VAULT_USER_ID>',
|
||||
vaultKey: '<VAULT_KEY_BASE64>',
|
||||
verifySsl: false
|
||||
});
|
||||
```
|
||||
@ -327,12 +327,12 @@ const syncResult = await client.syncLocalFiles({
|
||||
**Solutions** :
|
||||
1. **Vérifiez l'URL dans votre `.env`** :
|
||||
```bash
|
||||
VAULT_URL=https://vault.4nkweb.com:6666
|
||||
VAULT_URL=<VAULT_URL>
|
||||
```
|
||||
2. **Redémarrez l'API locale** si elle tourne en arrière-plan
|
||||
3. **Testez la connectivité** :
|
||||
```bash
|
||||
curl -k https://vault.4nkweb.com:6666/health
|
||||
curl -k "$VAULT_URL"/health
|
||||
```
|
||||
4. **Vérifiez les logs** du SDK pour voir quelle URL est utilisée
|
||||
|
||||
@ -545,5 +545,5 @@ MIT License - Voir le fichier `LICENSE` pour plus de détails.
|
||||
---
|
||||
|
||||
**Version** : 1.0.0
|
||||
**API Vault** : vault.4nkweb.com:6666
|
||||
**API Vault** : <VAULT_URL>
|
||||
**Chiffrement** : ChaCha20-Poly1305 (quantique résistant)
|
||||
|
Loading…
x
Reference in New Issue
Block a user