Installer ToutWAF sur Debian et Ubuntu
Les commandes pour Debian et Ubuntu : préparer le système, lancer l'installateur en une ligne, ouvrir le pare-feu ufw, vérifier les services, mettre à jour et désinstaller.
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
- Debian 11 et suivants, Ubuntu 20.04 et suivants, en amd64 et arm64. Il faut systemd 239 ou plus et glibc 2.28 ou plus.
- L'installateur ajoute les prérequis manquants (curl, tar, libcap), crée un utilisateur sans privilège et installe les services systemd durcis toutwaf-dp (ports 80 et 443) et toutwaf-cp (console, port 9443).
- Si ufw est actif, il ouvre 80 et 443 et le port 9443 de la console (restreignez-le à votre réseau d'administration avec --console-from). Le port 9444 n'est jamais ouvert automatiquement.
- SELinux n'est pas utilisé par défaut sur Debian et Ubuntu et aucun profil AppArmor n'est fourni : le bac à sable de systemd sert de confinement.
Les commandes, pas à pas
Installer les prérequis (apt)
sudo apt update && sudo apt -y upgrade
sudo apt -y install curl tar ca-certificates ufwInstaller avec le script en une ligne
Le script télécharge les binaires natifs adaptés à votre architecture, crée un utilisateur dédié sans privilèges et installe les services systemd durcis toutwaf-dp (plan de données, ports 80 et 443) et toutwaf-cp (plan de contrôle et console, port 9443), puis affiche vos informations de première connexion.
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh | sudo bashVous préférez lire le script d'abord ?
Téléchargez-le, relisez-le, puis exécutez-le. Recommandé pour les serveurs de production.
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh -o install.sh
less install.sh
sudo bash install.shOptions de l'installeur
Une nouvelle installation tient dans un seul dossier, /var/toutwaf (bin, conf, data et logs ; changez-le avec --home DIR ou TOUTWAF_HOME), et les outils en ligne de commande sont liés dans /usr/local/bin. Une installation plus ancienne garde ses propres chemins (/etc/toutwaf, /var/lib/toutwaf) et n'est jamais déplacée.
# only let your admin network reach the console (port 9443)
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh | sudo bash -s -- --console-from 203.0.113.0/24
# do not touch the host firewall / choose the installation home
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh | sudo bash -s -- --no-firewall
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh | sudo bash -s -- --home /opt/toutwaf
# name the channel explicitly (the installer of the dev branch already takes the dev channel; no stable version exists yet)
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh | sudo bash -s -- --channel devOuvrir le pare-feu (ufw)
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.
sudo ufw allow 80,443/tcp
sudo ufw allow from 203.0.113.0/24 to any port 9443 proto tcp
sudo ufw --force enable
sudo ufw statusGérer les services
Les deux services démarrent au boot. Utilisez ces commandes pour les démarrer, les arrêter ou les redémarrer.
sudo systemctl enable --now toutwaf-cp toutwaf-dp
sudo systemctl restart toutwaf-cp toutwaf-dp
sudo systemctl stop toutwaf-dp toutwaf-cpVérifier les services
sudo systemctl status toutwaf-cp toutwaf-dp --no-pager
toutwafctl doctor
curl -kI https://127.0.0.1:9443/
curl -s http://127.0.0.1:9101/healthz
sudo journalctl -u toutwaf-dp -u toutwaf-cp -n 50 --no-pagerMettre à 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.
sudo mkdir -p /var/toutwaf.bak
sudo cp -a /var/toutwaf/conf /var/toutwaf/data /var/toutwaf.bak/
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh | sudo bash -s -- --update --yes
curl -s http://127.0.0.1:9101/healthzDé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.
curl -fsSL https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.sh -o install.sh
sudo bash install.sh --uninstallsudo bash install.sh --uninstall --purgeCe qui n'est pas vérifié
Nous préférons le dire clairement.
- « Testé » veut dire que l'installation complète a réussi dans un conteneur avec systemd sur cette version ; elle n'a pas été essayée sur une machine neuve réelle.
- Aucune version stable n'existe encore : la version publique est la version de développement 0.3.0-dev.