Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| pratique:informatique:parefeu:reaction [11/06/2025 16:01] – une belle maj Zatalyz | pratique:informatique:parefeu:reaction [14/07/2025 16:57] (Version actuelle) – [Démarrage automatique] Zatalyz | ||
|---|---|---|---|
| Ligne 51: | Ligne 51: | ||
| * '' | * '' | ||
| + | ==== Les plus fréquement utilisées ==== | ||
| + | |||
| + | Voir qui est banni : | ||
| + | |||
| + | reaction show | ||
| + | |||
| + | Débannir quelqu' | ||
| + | |||
| + | reaction flush IP | ||
| + | |||
| + | Tester le dossier de configuration : | ||
| + | reaction test-config -c / | ||
| + | |||
| + | Démarrer (sans systemd) : | ||
| + | reaction start -c / | ||
| + | |||
| + | ==== Base de donnée ==== | ||
| Par défaut les bases de données sont dans ''/ | Par défaut les bases de données sont dans ''/ | ||
| Ligne 79: | Ligne 96: | ||
| </ | </ | ||
| + | <WRAP center round info 100%> | ||
| + | Avec la version 2 il y a un à présent un service systemd déjà fourni. Il se trouve sur / | ||
| + | |||
| + | Je laisse La vieille doc "pour mémoire" | ||
| + | </ | ||
| + | |||
| + | Après installation et vérification, | ||
| + | |||
| + | < | ||
| + | sudo systemctl enable --now reaction@reaction | ||
| + | </ | ||
| + | |||
| + | Ce qui suit après le @ est le chemin vers la configuration dans /etc/ ; comme je lui fais lire le dossier, c'est donc juste " | ||
| + | |||
| + | <WRAP center round alert 100%> | ||
| Je vais créer deux services : un pour Reaction proprement dit, un pour avertir en cas de plantage. Vu que j'ai eu des plantages muets, je lui dis de se relancer si ça lui arrive((Je précise que ça date des premières versions du logiciel, qui a bien évolué depuis.)) et sinon, j'ai une alerte. | Je vais créer deux services : un pour Reaction proprement dit, un pour avertir en cas de plantage. Vu que j'ai eu des plantages muets, je lui dis de se relancer si ça lui arrive((Je précise que ça date des premières versions du logiciel, qui a bien évolué depuis.)) et sinon, j'ai une alerte. | ||
| Ligne 142: | Ligne 174: | ||
| < | < | ||
| sudo service reaction start</ | sudo service reaction start</ | ||
| + | </ | ||
| + | |||
| ==== Envoyer un mail en cas de plantage ==== | ==== Envoyer un mail en cas de plantage ==== | ||
| Ligne 153: | Ligne 187: | ||
| * Rapport (journalier ?) sur les ip bannies (histoire de pouvoir suivre ce qui se passe et la charge) ? | * Rapport (journalier ?) sur les ip bannies (histoire de pouvoir suivre ce qui se passe et la charge) ? | ||
| + | Point côté syntaxe : dans les noms, on peut utiliser le tiret bas, mais pas de tiret classique, ça va faire des erreurs car jsonnet l' | ||
| ==== Découpage des fichiers ==== | ==== Découpage des fichiers ==== | ||
| Il s'agit de me simplifier un peu la lecture et la maintenance. Sur l' | Il s'agit de me simplifier un peu la lecture et la maintenance. Sur l' | ||
| Ligne 231: | Ligne 266: | ||
| }; | }; | ||
| + | // retry et retryperiod sont quand il y a plusieurs tentatives autorisées | ||
| + | // juste mettre le banFor sinon... | ||
| + | |||
| + | // Filtre (et options) par défaut : ni trop doux, ni trop cruel. | ||
| local filter_default = { | local filter_default = { | ||
| retry: 3, | retry: 3, | ||
| retryperiod: | retryperiod: | ||
| - | actions: banFor(' | + | actions: banFor(' |
| + | }; | ||
| + | |||
| + | // Filtre doux : c'est peut-être légitime. Et peut-être pas. | ||
| + | local filter_soft = { | ||
| + | retry: 6, | ||
| + | retryperiod: | ||
| + | actions: banFor(' | ||
| + | }; | ||
| + | |||
| + | // Filtre violent : un seul essai, banni un mois. | ||
| + | local filter_hard = { | ||
| + | actions: banFor(' | ||
| + | }; | ||
| + | |||
| + | local stream_name(name) ={ | ||
| + | reason: { | ||
| + | cmd: [' | ||
| + | }, | ||
| }; | }; | ||
| + | // Exposer les définitions précédentes pour qu' | ||
| { | { | ||
| banFor: banFor, | banFor: banFor, | ||
| filter_default: | filter_default: | ||
| + | filter_soft: | ||
| + | filter_hard: | ||
| + | stream_name: | ||
| } | } | ||
| Ligne 276: | Ligne 337: | ||
| * '' | * '' | ||
| + | Concernant l' | ||
| + | |||
| + | < | ||
| + | [...] | ||
| + | apache_auth: | ||
| + | regex: [ | ||
| + | @' | ||
| + | ], | ||
| + | actions: lib.filter_default.actions + lib.stream_name(' | ||
| + | }, | ||
| + | [...] | ||
| + | </ | ||
| + | Ici '' | ||
| ==== Réaliser des actions plus compliqués ==== | ==== Réaliser des actions plus compliqués ==== | ||
| Lorsqu' | Lorsqu' | ||