Die Node ist sofort einsatzbereit und muss nicht konfiguriert werden. Umgebungsvariablen benötigen Sie, wenn Sie das Verhalten des Clients an Ihre eigene Infrastruktur anpassen möchten: Ports ändern, TLS-Versionen einschränken, das Live-Log der Anfragen oder Metriken aktivieren.
Variablen setzen#
Der Client ist in /opt/wafclient installiert und läuft als systemd-Dienst privateflare. Die Variablen werden aus der Datei /opt/wafclient/.env gelesen — der Installer legt sie leer an.
- Öffnen Sie die Datei und fügen Sie die Variablen hinzu, eine pro Zeile im Format
NAME=Wert:
nano /opt/wafclient/.env- Starten Sie den Dienst neu — die Variablen werden nur beim Start des Clients gelesen:
systemctl restart privateflareBeispiel für eine .env-Datei:
TLSMIN=1.2
LOGROUTE=/my-secret-log
LOGPASS=strong-password
LOGFORMAT=jsonUm eine Einstellung rückgängig zu machen, entfernen Sie die Zeile aus
.envund starten Sie den Dienst neu. Bei Schaltervariablen (PFNOH3,PFNOBANund anderen) zählt allein, dass ein Wert vorhanden ist: AuchPFNOH3=0deaktiviert HTTP/3.
Netzwerk und TLS#
| Variable | Beschreibung | Standard |
|---|---|---|
HTTPP | HTTP-Port. Ein nicht numerischer Wert oder 0 wird ignoriert | 80 |
HTTPSP | Port für HTTPS und HTTP/3 | 443 |
TLSMIN | Minimale TLS-Version: 1.0, 1.1, 1.2 oder 1.3 | 1.0 |
TLSMAX | Maximale TLS-Version: 1.0, 1.1, 1.2 oder 1.3 | 1.3 |
Ein ungültiger Wert für TLSMIN oder TLSMAX führt nicht zu einem Fehler — es wird der Standardwert verwendet.
HTTP/3 und Fingerprints#
| Variable | Wirkung |
|---|---|
PFNOH3 | Deaktiviert HTTP/3: QUIC wird nicht gestartet, der Header Alt-Svc wird nicht gesendet, die Besucher bleiben bei TCP |
PFNOJA | Deaktiviert die Berechnung von JA3/JA4: Die Header PF-JA3 und PF-JA4 werden nicht an das Backend gesendet |
PFNOSYN | Deaktiviert den passiven TCP-Fingerprint: Die Header PF-TCP-Fingerprint, PF-TCP-Signature und PF-TCP-OS werden nicht an das Backend gesendet |
Es genügt ein beliebiger nicht leerer Wert, zum Beispiel PFNOH3=1. Die Variablen sind voneinander unabhängig.
Wichtig: JA3/JA4 werden nur für TCP-Verbindungen berechnet. Ein Browser, der zu HTTP/3 gewechselt ist, erreicht das Backend ohne
PF-JA3/PF-JA4. Wenn Sie die Fingerprints in jeder Anfrage benötigen, setzen SiePFNOH3. Für den HeaderTLSFingerprintgilt das nicht: Er wird sowohl über TCP als auch über HTTP/3 gesendet, undPFNOJAhat keinen Einfluss auf ihn.
Header des passiven TCP-Fingerprints:
| Header | Beispiel | Bedeutung |
|---|---|---|
PF-TCP-Signature | 4:64:0:1460:mss*44,10:mss,sok,ts,nop,ws:df,id+:0 | Signatur der Verbindung im Format p0f v3 |
PF-TCP-Fingerprint | cd79d39f578d | Kurzer Hash der Signatur |
PF-TCP-OS | Linux 2.2.x-3.x | Erkanntes Betriebssystem des Clients. Fehlt, wenn es keine Übereinstimmung gibt |
Systemeinstellungen#
Beim Start optimiert der Client die Netzwerkparameter des Kernels, konfiguriert die Firewall und sperrt IPs über iptables/ipset. Wenn der Server von Ihrer eigenen Automatisierung verwaltet wird, können Sie diese Aktionen deaktivieren.
| Variable | Wirkung |
|---|---|
PFNOBAN | Deaktiviert die IP-Sperrung über iptables/ipset |
PFNOTUNE | Deaktiviert die sysctl-Optimierung und die Firewall-Konfiguration |
PFNOFW | Deaktiviert nur die Firewall-Konfiguration |
Es genügt ein beliebiger nicht leerer Wert.
Live-Log der Anfragen#
| Variable | Beschreibung | Standard |
|---|---|---|
LOGROUTE | Adresse der Live-Log-Seite, zum Beispiel /log. Ist sie nicht gesetzt, ist das Log deaktiviert | deaktiviert |
LOGUSER | Login | log |
LOGPASS | Passwort | log |
LOGFORMAT | Zeilenformat: json oder Text (jeder andere Wert) | Text |
Mehr dazu im Abschnitt Logging.
Metriken#
Die Node kann Metriken im Prometheus-Format bereitstellen — so lassen sie sich bequem in Ihr eigenes Monitoring einbinden.
| Variable | Beschreibung | Standard |
|---|---|---|
METRICSROUTE | Adresse der Metrikseite, zum Beispiel /metrics. Ist sie nicht gesetzt, sind die Metriken deaktiviert | deaktiviert |
METRICSUSER | Login | metrics |
METRICSPASS | Passwort | metrics |
Wichtig: Die Log- und die Metrikseite sind auf jeder Domain erreichbar, die die Node bedient. Legen Sie unbedingt ein eigenes Passwort und eine nicht offensichtliche Adresse fest — die Standardwerte sind allgemein bekannt.