Le noeud fonctionne dès l’installation et ne nécessite aucune configuration. Les variables d’environnement servent à adapter le comportement du client à votre infrastructure : changer les ports, restreindre les versions de TLS, activer le journal des requêtes en direct ou les métriques.
Comment définir les variables#
Le client est installé dans /opt/wafclient et s’exécute en tant que service systemd privateflare. Les variables sont lues dans le fichier /opt/wafclient/.env — l’installateur le crée vide.
- Ouvrez le fichier et ajoutez les variables, une par ligne, au format
NOM=valeur:
nano /opt/wafclient/.env- Redémarrez le service — les variables ne sont lues qu’au démarrage du client :
systemctl restart privateflareExemple de fichier .env :
TLSMIN=1.2
LOGROUTE=/my-secret-log
LOGPASS=strong-password
LOGFORMAT=jsonPour annuler un réglage, supprimez la ligne dans
.envet redémarrez le service. Pour les variables de type interrupteur (PFNOH3,PFNOBANet les autres), c’est la présence même d’une valeur qui compte :PFNOH3=0désactivera lui aussi HTTP/3.
Réseau et TLS#
| Variable | Description | Par défaut |
|---|---|---|
HTTPP | Port HTTP. Une valeur non numérique ou 0 est ignorée | 80 |
HTTPSP | Port HTTPS et HTTP/3 | 443 |
TLSMIN | Version minimale de TLS : 1.0, 1.1, 1.2 ou 1.3 | 1.0 |
TLSMAX | Version maximale de TLS : 1.0, 1.1, 1.2 ou 1.3 | 1.3 |
Une valeur incorrecte de TLSMIN ou TLSMAX ne provoque pas d’erreur — la valeur par défaut est utilisée.
HTTP/3 et empreintes#
| Variable | Effet |
|---|---|
PFNOH3 | Désactive HTTP/3 : QUIC n’est pas lancé, l’en-tête Alt-Svc n’est pas renvoyé, les visiteurs restent en TCP |
PFNOJA | Désactive le calcul de JA3/JA4 : les en-têtes PF-JA3 et PF-JA4 ne sont pas envoyés au backend |
PFNOSYN | Désactive l’empreinte TCP passive : les en-têtes PF-TCP-Fingerprint, PF-TCP-Signature et PF-TCP-OS ne sont pas envoyés au backend |
N’importe quelle valeur non vide suffit, par exemple PFNOH3=1. Les variables sont indépendantes les unes des autres.
Important : JA3/JA4 ne sont calculés que pour les connexions TCP. Un navigateur passé en HTTP/3 arrivera sur le backend sans
PF-JA3/PF-JA4. Si vous avez besoin des empreintes dans chaque requête, définissezPFNOH3. Cela ne concerne pas l’en-têteTLSFingerprint: il est transmis aussi bien en TCP qu’en HTTP/3, etPFNOJAn’a aucun effet sur lui.
En-têtes de l’empreinte TCP passive :
| En-tête | Exemple | Signification |
|---|---|---|
PF-TCP-Signature | 4:64:0:1460:mss*44,10:mss,sok,ts,nop,ws:df,id+:0 | Signature de la connexion au format p0f v3 |
PF-TCP-Fingerprint | cd79d39f578d | Hachage court de la signature |
PF-TCP-OS | Linux 2.2.x-3.x | OS du client détecté. Absent si aucune correspondance n’est trouvée |
Paramètres système#
Au démarrage, le client optimise les paramètres réseau du noyau, configure le pare-feu et bloque des IP via iptables/ipset. Si le serveur est géré par votre propre automatisation, ces actions peuvent être désactivées.
| Variable | Effet |
|---|---|
PFNOBAN | Désactive le blocage des IP via iptables/ipset |
PFNOTUNE | Désactive l’optimisation sysctl et la configuration du pare-feu |
PFNOFW | Désactive uniquement la configuration du pare-feu |
N’importe quelle valeur non vide suffit.
Journal des requêtes en direct#
| Variable | Description | Par défaut |
|---|---|---|
LOGROUTE | Adresse de la page du journal en direct, par exemple /log. Si elle n’est pas définie, le journal est désactivé | désactivé |
LOGUSER | Identifiant | log |
LOGPASS | Mot de passe | log |
LOGFORMAT | Format des lignes : json ou texte (toute autre valeur) | texte |
Pour en savoir plus, consultez la section Journalisation.
Métriques#
Le noeud peut exposer des métriques au format Prometheus — vous pouvez ainsi les intégrer facilement à votre propre monitoring.
| Variable | Description | Par défaut |
|---|---|---|
METRICSROUTE | Adresse de la page des métriques, par exemple /metrics. Si elle n’est pas définie, les métriques sont désactivées | désactivées |
METRICSUSER | Identifiant | metrics |
METRICSPASS | Mot de passe | metrics |
Important : les pages du journal et des métriques sont accessibles sur n’importe quel domaine desservi par le noeud. Définissez impérativement votre propre mot de passe et une adresse difficile à deviner — les valeurs par défaut sont connues de tous.