# Domaines et Ports - Infrastructure Certificator **Auteur** : Équipe 4NK **Date** : 2026-01-24 **Version** : 1.0 ## Vue d'Ensemble Ce document liste tous les domaines, ports et services de l'infrastructure Certificator Bitcoin Signet. ## Domaines et Services ### Domaines Principaux | Domaine | Service | Port Local | Description | |---------|---------|------------|-------------| | `certificator.4nkweb.com` | API d'Ancrage | 3010 | API REST pour ancrer des documents | | `watermark.certificator.4nkweb.com` | API Filigrane | 3022 | API REST pour ajouter des filigranes et ancrer | | `antivir.certificator.4nkweb.com` | API ClamAV | 3023 | API REST pour scanner les fichiers (antivirus) | | `dashboard.certificator.4nkweb.com` | Dashboard | 3020 | Interface web de supervision | | `faucet.certificator.4nkweb.com` | API Faucet | 3021 | API REST pour distribuer des sats | | `mempool.4nkweb.com` | Mempool | 3015 | Explorateur de blockchain Bitcoin | | `skeleton.certificator.4nkweb.com` | Website skeleton | 3024 | Site squelette iframe UserWallet | ### Configuration Nginx Tous les domaines sont routés via le proxy Nginx sur le serveur `192.168.1.100` (proxy). **Configuration du proxy :** - Point d'entrée unique : `4nk.myftp.biz` (DynDNS) - Routage HTTPS vers les services backend appropriés - Certificats SSL/TLS : Let's Encrypt (renouvellement automatique) ## Ports Fixes ### Ports des APIs (Fixés dans les services systemd) | Port | Service | API | Fichier de Service | |------|---------|-----|-------------------| | 3010 | API d'Ancrage | `api-anchorage` | `api-anchorage/anchorage-api.service` | | 3020 | Dashboard | `signet-dashboard` | `signet-dashboard/signet-dashboard.service` | | 3021 | API Faucet | `api-faucet` | `api-faucet/faucet-api.service` | | 3022 | API Filigrane | `api-filigrane` | `api-filigrane/filigrane-api.service` | | 3023 | API ClamAV | `api-clamav` | `api-clamav/clamav-api.service` | | 3024 | Website skeleton | `website-skeleton` | `website-skeleton/website-skeleton.service` | **Important :** Les ports 3010, 3020, 3021, 3022, 3023, 3024 sont fixes et définis dans les fichiers de service systemd. Ils ne peuvent pas être modifiés sans modifier les services. ### Ports Bitcoin Core | Port | Protocole | Service | Description | |------|-----------|---------|-------------| | 38332 | TCP | RPC | Interface JSON-RPC pour contrôler le nœud | | 38333 | TCP/UDP | P2P | Réseau peer-to-peer Bitcoin Signet | | 28332 | TCP | ZMQ | Publication des blocs bruts | | 28333 | TCP | ZMQ | Publication des transactions brutes | | 28334 | TCP | ZMQ | Publication des hash de blocs | ### Ports Mempool | Port | Protocole | Service | Description | |------|-----------|---------|-------------| | 3015 | HTTP/HTTPS | Web | Interface web Mempool (exposé via nginx) | | 8999 | HTTP | API | Mempool Backend API (interne) | ## Services Systemd Tous les services sont configurés avec systemd pour un redémarrage automatique. ### Liste des Services ```bash # Vérifier le statut de tous les services sudo systemctl status anchorage-api sudo systemctl status signet-dashboard sudo systemctl status faucet-api sudo systemctl status filigrane-api sudo systemctl status clamav-api sudo systemctl status website-skeleton ``` ### Commandes de Gestion ```bash # Démarrer un service sudo systemctl start # Arrêter un service sudo systemctl stop # Redémarrer un service sudo systemctl restart # Voir les logs sudo journalctl -u -f # Activer au démarrage sudo systemctl enable # Désactiver au démarrage sudo systemctl disable ``` ## Architecture Réseau ``` Internet │ ├─→ 4nk.myftp.biz (DynDNS) │ └─→ 192.168.1.100 (proxy) - Point d'entrée unique │ │ │ ├─→ certificator.4nkweb.com → 192.168.1.103:3010 (API Anchorage) │ ├─→ watermark.certificator.4nkweb.com → 192.168.1.103:3022 (API Filigrane) │ ├─→ antivir.certificator.4nkweb.com → 192.168.1.103:3023 (API ClamAV) │ ├─→ dashboard.certificator.4nkweb.com → 192.168.1.103:3020 (Dashboard) │ ├─→ skeleton.certificator.4nkweb.com → 192.168.1.105:3024 (Website skeleton) │ ├─→ faucet.certificator.4nkweb.com → 192.168.1.103:3021 (API Faucet) │ └─→ mempool.4nkweb.com → 192.168.1.104:3015 (Mempool) ``` ## Vérification des Ports ### Vérifier qu'un port est en écoute ```bash # Vérifier un port spécifique sudo ss -tlnp | grep :3010 # Vérifier tous les ports des APIs sudo ss -tlnp | grep -E ':(3010|3020|3021|3022|3023|3024)' ``` ### Tester la connectivité ```bash # Tester depuis le serveur curl http://localhost:3010/health curl -s http://localhost:3020/api/blockchain/info | head -c 200 # Dashboard : pas de /health curl http://localhost:3021/health curl http://localhost:3022/health curl http://localhost:3023/health # Tester depuis l'extérieur (via domaine) curl https://certificator.4nkweb.com/health curl -s https://dashboard.certificator.4nkweb.com/api/blockchain/info | head -c 200 ``` ## Certificats SSL/TLS Tous les domaines utilisent des certificats Let's Encrypt gérés automatiquement par Certbot. ### Vérifier les certificats ```bash # Sur le serveur proxy (192.168.1.100) sudo certbot certificates # Vérifier un certificat spécifique openssl s_client -connect certificator.4nkweb.com:443 -servername certificator.4nkweb.com ``` ### Renouvellement Le renouvellement est automatique via Certbot. Pour forcer un renouvellement : ```bash sudo certbot renew ``` ## DNS Tous les domaines utilisent des enregistrements CNAME pointant vers `4nk.myftp.biz` (DynDNS). **Exemple de configuration DNS (Gandi) :** ``` certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz. watermark.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz. antivir.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz. dashboard.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz. faucet.certificator.4nkweb.com. 3600 IN CNAME 4nk.myftp.biz. ``` ## Notes Importantes 1. **Ports fixes** : Tous les ports des APIs sont fixes et définis dans les services systemd. Ne pas modifier sans mettre à jour les services. 2. **Redémarrage automatique** : Tous les services sont configurés avec `Restart=always` pour un redémarrage automatique en cas d'échec. 3. **Sécurité** : Les services utilisent `NoNewPrivileges=true` et `PrivateTmp=true` pour une meilleure sécurité. 4. **Logs** : Tous les logs sont envoyés vers `journald` et peuvent être consultés avec `journalctl`. 5. **Environnement** : Les variables d'environnement (ports, hosts) sont définies dans les fichiers de service systemd. ## Références - [Documentation Infrastructure Cloud 4NK](../Infrastructure_Cloud_4NK.md) (si disponible) - [Documentation Maintenance](./MAINTENANCE.md) - [Documentation Environnement](./ENVIRONMENT.md)