FR
EUR
Édition gratuiteGratuit Installer

Installer ToutWAF sur Windows

L'installateur PowerShell pour Windows 10, 11 et Windows Server : service Windows pour le plan de données, tâche de démarrage pour la console, règles de pare-feu, vérification, mise à jour et désinstallation.

Toutes les façons d'installer

La version que vous installez

La version publique est une version de développement, nommée 0.3.0-dev. Son nom ne change pas : chaque publication remplace la précédente, et un identifiant de build distingue deux builds. Aucune version stable n'existe encore : elle ne sera publiée que lorsque chaque système et chaque paquet auront été testés de bout en bout. Les commandes de cette page installent donc depuis le canal dev. Une version de développement peut contenir des défauts : essayez-la sur un site de test avant de vous y fier.

L'essentiel

  • Windows Server 2016 et suivants, Windows 10 version 1809 et suivantes, Windows 11, en amd64 et arm64. Windows 32 bits n'est pas pris en charge.
  • À lancer dans un PowerShell élevé (exécuter en tant qu'administrateur), version 5.1 ou plus.
  • Le plan de données tourne comme service Windows « ToutWAF » ; le plan de contrôle comme tâche planifiée au démarrage « ToutWAF-ControlPlane ».
  • Le script vérifie la somme SHA-256, installe dans Program Files, garde tout ce qui change dans ProgramData, ouvre le pare-feu et démarre ; relancé, il met à jour sur place et revient au binaire précédent si le nouveau échoue au contrôle de santé.

Les commandes, pas à pas

Ouvrir PowerShell en administrateur et lancer l'installeur

Installe les binaires natifs, enregistre le service Windows ToutWAF pour le plan de données et une tâche de démarrage pour la console, et ouvre les ports du pare-feu. L'installeur n'a pas encore été exécuté sur un vrai hôte Windows.

PowerShell (Admin)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1 | iex

Ouvrir le pare-feu

L'installeur ouvre ces ports par défaut quand firewalld ou ufw est actif : 80 et 443, et le port 9443 de la console (limitez-le à votre réseau d'administration avec --console-from). Le port 9444 des agents n'est jamais ouvert au public. Ces commandes ne servent qu'avec --no-firewall, avec un autre pare-feu, ou pour le faire à la main.

PowerShell (Admin)
New-NetFirewallRule -DisplayName "ToutWAF Web" -Direction Inbound -Protocol TCP -LocalPort 80,443 -Action Allow
New-NetFirewallRule -DisplayName "ToutWAF Console" -Direction Inbound -Protocol TCP -LocalPort 9443 -RemoteAddress 203.0.113.0/24 -Action Allow

Vérifier les services

PowerShell
Get-Service ToutWAF
toutwafctl doctor
Test-NetConnection 127.0.0.1 -Port 9443

Mettre à jour

Sauvegardez la configuration et les données, puis relancez l'installeur : il conserve vos paramètres et revient en arrière tout seul si la nouvelle version ne devient pas saine. Les chemins affichés sont ceux d'une nouvelle installation (/var/toutwaf) ; une installation plus ancienne garde /etc/toutwaf et /var/lib/toutwaf. Vous pouvez aussi mettre à jour depuis la console, page Mises à jour.

PowerShell (Admin)
Copy-Item "$env:ProgramData\ToutWAF" "$env:ProgramData\ToutWAF.bak" -Recurse
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Update -Yes

Désinstaller

Le premier bloc supprime les services, les binaires et les règles de pare-feu ajoutées par ToutWAF, et conserve vos données. Le second supprime aussi la configuration, les données et les journaux.

PowerShell (Admin)
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Uninstall
purge
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Uninstall -Purge

Ce qui n'est pas vérifié

Nous préférons le dire clairement.

  • L'installateur n'a pas été exécuté sur une vraie machine Windows : toutes les versions ont le statut « attendu », pas « testé ». La version arm64 n'a été que compilée, jamais exécutée, même en émulation.
  • Différences avec Linux : une seule boucle d'acceptation par port, pas de chien de garde systemd (la récupération du service la remplace), et SELinux, firewalld, sysctl et logrotate ne s'appliquent pas.

Autres façons d'installer

En savoir plus dans la documentation