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 | ||
doc:forgejo [2024/06/19 18:45] – [Pour les utilisateurs avancés] Zatalyz | doc:forgejo [2025/02/27 07:46] (Version actuelle) – [Gestion des badbot] Zatalyz | ||
---|---|---|---|
Ligne 112: | Ligne 112: | ||
==== Upgrade ==== | ==== Upgrade ==== | ||
Vérifier s'il y a les fichiers de configuration à changer avant tout. | Vérifier s'il y a les fichiers de configuration à changer avant tout. | ||
- | == Upgrade simple == | + | === Upgrade simple |
wget https:// | wget https:// | ||
chmod +x forgejo-1.*.*-*-linux-amd64 | chmod +x forgejo-1.*.*-*-linux-amd64 | ||
Ligne 120: | Ligne 120: | ||
sudo service forgejo start | sudo service forgejo start | ||
- | == Upgrade complexe == | + | === Upgrade complexe |
page à check : https:// | page à check : https:// | ||
+ | |||
+ | |||
+ | ==== Gestion des badbot ==== | ||
+ | Y'a des bots malpolis sur le web... Sur Forgejo, leur impact peut être vraiment gênant. | ||
+ | |||
+ | === Remplissage des archives === | ||
+ | Lorsque quelqu' | ||
+ | |||
+ | <code ini / | ||
+ | ARCHIVE_RETENTION_DAYS = 1</ | ||
+ | |||
+ | On peut évidement mettre plus si on a réglé le souci des badbots, parce que générer les archives prends aussi un peu de puissance sur le serveur (donc " | ||
+ | |||
+ | Redémarrer le service : | ||
+ | sudo systemctl restart forgejo | ||
+ | |||
+ | === Bannir les vilains via nftables et Fail2ban === | ||
+ | <WRAP center round tip 60%> | ||
+ | Si le proxy gère les accès, cela se paramètre sur le proxy. | ||
+ | </ | ||
+ | Configuration de nftables : | ||
+ | <code bash / | ||
+ | table inet filter { | ||
+ | # création du set où les vilaines ip seront notées | ||
+ | set bad_ips { | ||
+ | type ipv4_addr; | ||
+ | flags dynamic; | ||
+ | timeout 24h; | ||
+ | } | ||
+ | |||
+ | chain input { | ||
+ | type filter hook input priority 0; policy accept; | ||
+ | # action sur ces vilaines ip : les balancer dans le vide | ||
+ | ip saddr @bad_ips drop; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Recharger nftables : | ||
+ | sudo nft -f / | ||
+ | Pour bloquer une ip suspecte qu'on n'a pas encore " | ||
+ | sudo nft add element inet filter bad_ips { xx.xxx.xxx.xxx } | ||
+ | |||
+ | Voir les IPs bannies : | ||
+ | sudo nft list set inet filter bad_ips | ||
+ | |||
+ | Débloquer une IP : | ||
+ | sudo nft delete element inet filter bad_ips { xx.xxx.xxx.xxx } | ||
+ | |||
+ | |||
+ | |||
+ | Puis on installe Fail2Ban et on le paramètre avec ces deux fichiers | ||
+ | <code bash / | ||
+ | [Definition] | ||
+ | failregex = ^< | ||
+ | ignoreregex = | ||
+ | </ | ||
+ | |||
+ | |||
+ | <code bash / | ||
+ | [DEFAULT] | ||
+ | maxRetry = 4 | ||
+ | findtime = 3h | ||
+ | bantime = 3d | ||
+ | banaction = nftables-multiport | ||
+ | |||
+ | [nginx-runner] | ||
+ | enabled = true | ||
+ | filter = nginx-runner | ||
+ | port = http,https | ||
+ | logpath = / | ||
+ | maxretry = 1 | ||
+ | findtime = 600 | ||
+ | bantime = 86400 | ||
+ | banaction = nftables-multiport | ||
+ | </ | ||
+ | |||
+ | Et on active le service : | ||
+ | sudo systemctl enable fail2ban | ||
+ | sudo systemctl restart fail2ban | ||
+ | |||
+ | Pour voir quelles ips sont dans la jail : | ||
+ | sudo fail2ban-client status nginx-runner | ||
+ | |||
+ | |||
+ | |||
{{tag> | {{tag> | ||