NoCloud-Auto-Installer issueshttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues2024-03-16T22:48:55Zhttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/17ClamAV disable2024-03-16T22:48:55ZElian LorauxClamAV disableAprès une installation du nocloud auto installer, le validate.sh remonte une erreur. Le ClamAVest desactive, il suffit de faire `systemctl enable clamav-freshclam.service`. Si on peux l'automatiser c'est top.Après une installation du nocloud auto installer, le validate.sh remonte une erreur. Le ClamAVest desactive, il suffit de faire `systemctl enable clamav-freshclam.service`. Si on peux l'automatiser c'est top.https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/16Lancer le service de maintenance à la mise à jour des serveurs docker2024-03-16T22:48:39ZDavid BeniamineLancer le service de maintenance à la mise à jour des serveurs docker## Problème
Certains services (Dolibarr, Nextcloud notament) durant leur maintenance montre des pages de mise à jour que les utilisateurs ne doivent pas voir.
D'autres, notamment Nextcloud renvoient des erreurs 401 sur la plupart des p...## Problème
Certains services (Dolibarr, Nextcloud notament) durant leur maintenance montre des pages de mise à jour que les utilisateurs ne doivent pas voir.
D'autres, notamment Nextcloud renvoient des erreurs 401 sur la plupart des pages pendant la maintenance, ce qui amène à des bans fail2ban.
Certains affichent des messages d'erreur (Tétras Lab, Gitlab).
Bref pendant les maintenance on veut cacher les services quand c'est faisable
## Solution
Pour les serveurs dockerizé, on a développé [un service](https://gitlab.tetras-libre.fr/nocloud/docker/maintenance) qui prend le pas pour tous les domaines spécifiés dans le `.env` sauf pour les clients dont l'IP est spécifié dans le `.env`, et affiche une page statique de maintenance.
Il faudrait au début de la mise à jour lancer ce service pour tous les domaines servis par Traefik puis l'arrêter à la fin.
## TODO
Dans `upgradeTraefik.sh`, avant la première mise à jour, il faudrait :
1. Cloner le [dépôt maintenance](https://gitlab.tetras-libre.fr/nocloud/docker/maintenance) dans `/home/dockerweb/maintenance` si ce n'est pas déjà fait, sinon puller le dépôt.
2. Mettre à jour dans le `.env` de ce service la variable `HOSTS` qui doit contenir la liste des domaines servis par Traefik voir #15 et la variable IGNORE_IPS qui doit contenir l'IP de tétras `$(dig tetrix.tetras-libre.fr)`
3. Démarrer ce service
4. Faire la suite des mises à jour traefik
5. Demander une confirmation manuelle affichant la liste des domaines avant de désactiver le service de maintenance
@elian te sent-tu de faire tout ou partie de ce ticket ?https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/15Liste des noms de domaines2024-03-15T10:49:06ZDavid BeniamineListe des noms de domainesDans la procédure de mise à jour on veut voir les noms de domaines du serveur.
Pour apache on à ces lignes [ici](https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/blob/master/upgradeWebServer.sh?ref_type=heads#L32) :
```b...Dans la procédure de mise à jour on veut voir les noms de domaines du serveur.
Pour apache on à ces lignes [ici](https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/blob/master/upgradeWebServer.sh?ref_type=heads#L32) :
```bash
echo -e "\tPlease check that the following services are up and running"
if [ "${WEB_SERVER}" == "apache2" ]
then
apache2ctl -S 2>/dev/null | awk '/namevhost/{print "https://"$4}' | sort -u | grep -v "127.0...1"
else
awk '/^[ \t]*(server_name|server_alias)/{gsub(/;$/, "", $2); print "https://"$2}' /etc/nginx/*-enabled/* | sort -u
fi
```
Il faudrait :
1. [ ] Déplacer le bout de script ci-dessus à la toute fin de `upgradeAll.sh`
2. [ ] Faire un équivalent pour traefik (chercher les label docker des conteneurs docker)Elian LorauxElian Lorauxhttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/14Fail2ban failed avec l'installation traefik2024-03-01T07:35:09ZElian LorauxFail2ban failed avec l'installation traefikLors d'une installation NoCloud avec Traefik, le fail2ban plante tant que le container docker Traefik na jamais été lancé car fail2ban ne trouve pas le fichier de log. Ce fichier n'existe pas tant que Traefik n'a jamais été lancé.Lors d'une installation NoCloud avec Traefik, le fail2ban plante tant que le container docker Traefik na jamais été lancé car fail2ban ne trouve pas le fichier de log. Ce fichier n'existe pas tant que Traefik n'a jamais été lancé.https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/13Utilisateur Dockerweb n'est pas dans le groupe docker2024-03-06T13:44:42ZElian LorauxUtilisateur Dockerweb n'est pas dans le groupe dockerMalgré `addgroup dockerweb docke` dans `installTraefik.sh`, à la fin de l'installation, l'utilisateur dockerweb n'est pas dans le groupe dockerMalgré `addgroup dockerweb docke` dans `installTraefik.sh`, à la fin de l'installation, l'utilisateur dockerweb n'est pas dans le groupe dockerhttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/12Desactivation de la connexion SSH par mot de passe2024-03-15T09:08:07ZElian LorauxDesactivation de la connexion SSH par mot de passeLors d'un installation no cloud (ici pour nyrlatotep et Xema), après l'execution du script d'installation, le connexion ssh par mot de passe est toujours possible.
C'est un problème de configuration dans `/etc/ssh/sshd_config`. Le param...Lors d'un installation no cloud (ici pour nyrlatotep et Xema), après l'execution du script d'installation, le connexion ssh par mot de passe est toujours possible.
C'est un problème de configuration dans `/etc/ssh/sshd_config`. Le paramètre `PasswordAuthentication` devrait être à `no` alors que actuellement il est juste commenté.https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/11Configuration fail2ban plus propre2024-02-26T15:39:59ZDavid BeniamineConfiguration fail2ban plus propreVirer /etc/fail2ban/jail.conf de ce dépôt et faire en sorte que chaque `install<Mod>.sh` crée un fichier dans `/etc/fail2ban/jail.d/nocloud_<mod>.conf` activant la ou les jails requisesVirer /etc/fail2ban/jail.conf de ce dépôt et faire en sorte que chaque `install<Mod>.sh` crée un fichier dans `/etc/fail2ban/jail.d/nocloud_<mod>.conf` activant la ou les jails requisesDavid BeniamineDavid Beniaminehttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/10Mettre en pause fail2ban pendant les mises à jour2024-02-06T08:41:15ZDavid BeniamineMettre en pause fail2ban pendant les mises à jourDurant les mises à jour, les applications sont souvent injoignables générant des erreurs 401 qui peuvent résulter en des bans fail2ban.
Il faudrait mettre en pause fail2ban durant cette période et être sûr que au redémarrage il ne banni...Durant les mises à jour, les applications sont souvent injoignables générant des erreurs 401 qui peuvent résulter en des bans fail2ban.
Il faudrait mettre en pause fail2ban durant cette période et être sûr que au redémarrage il ne bannisse pas les IPs fautif durant la période.
À voir si un `fail2ban-client stop <jail>` au début et un `fail2ban-client start <jail>` à la fin du process, sur toutes les jail fait le taf2024-02-29https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/9Exaustivité dans les services monitoré par php server mon2024-01-11T08:59:45ZElian LorauxExaustivité dans les services monitoré par php server monActuellement nous n'avons aucun moyen de vérifier que tous les services sont monitoré par php server mon. Cas exemple, Demo pour l'EPI down et on s'en est pas rendu compte.
L'idée est pouvoir faire une remonté via GLPI pour lister des s...Actuellement nous n'avons aucun moyen de vérifier que tous les services sont monitoré par php server mon. Cas exemple, Demo pour l'EPI down et on s'en est pas rendu compte.
L'idée est pouvoir faire une remonté via GLPI pour lister des services de tous les hôtes pour faire la corréspondance avec la base php server mon et alerter en cas de différence entre GLPI et php server monhttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/8Avoir le pourcentage d'occupation disque dans l'objet du mail2024-01-02T15:46:12ZElian LorauxAvoir le pourcentage d'occupation disque dans l'objet du mailDemande accessoire de Daxid, si c'est possible de mettre l'occupation de disque dans l'objet du mail c'est parfaitDemande accessoire de Daxid, si c'est possible de mettre l'occupation de disque dans l'objet du mail c'est parfaithttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/7Fail2ban Dolibarr2023-12-18T13:25:10ZDavid BeniamineFail2ban DolibarrDéployer automatiquement partout ou Dolibarr est installé :
Fichier de filter :
```conf
# From https://github.com/Dolibarr/dolibarr/blob/develop/dev/setup/fail2ban/filter.d/web-dolibarr-rulesbruteforce.conf
# Fail2Ban configuration fil...Déployer automatiquement partout ou Dolibarr est installé :
Fichier de filter :
```conf
# From https://github.com/Dolibarr/dolibarr/blob/develop/dev/setup/fail2ban/filter.d/web-dolibarr-rulesbruteforce.conf
# Fail2Ban configuration file
#
# Regexp to detect try to check a couple login/password so we can add mitigation
# on IP making too much tries.
[Definition]
# To test, you can inject this example into log
# echo `date +'%Y-%m-%d %H:%M:%S'`" INFO 1.2.3.4 functions_dolibarr::check_user_password_abcd Authentication KO" >> /mypath/documents/dolibarr.log
#
# then
# fail2ban-client status web-dolibarr-rulesbruteforce
#
# To test rule file on a existing log file
# fail2ban-regex /mypath/documents/dolibarr.log /etc/fail2ban/filter.d/web-dolibarr-rulesbruteforce.conf --print-all-matched
failregex = ^ [A-Z\s]+ <HOST>\s+functions_.*::check_user_.* Authentication KO
ignoreregex =
```
Jail fail2ban
```
[dolibarr]
port = http,https
logpath = /usr/share/dolibarr/documents/dolibarr.log
enabled = true
```
Puis `fail2ban-client reload`Elian LorauxElian Loraux2023-12-14https://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/6Surveillance interne des serveur2023-12-18T13:22:43ZDavid BeniamineSurveillance interne des serveur+ [x] Vérifier que tous les serveurs ont bien un point de monitoring par disque (on utilise `monit`)
+ [x] Faire en sorte de recevoir plusieurs niveau d'alertes 75 / 80 / 85 / 90 / 95 % espace disque
+ [ ] Changer les adresse mail destin...+ [x] Vérifier que tous les serveurs ont bien un point de monitoring par disque (on utilise `monit`)
+ [x] Faire en sorte de recevoir plusieurs niveau d'alertes 75 / 80 / 85 / 90 / 95 % espace disque
+ [ ] Changer les adresse mail destinataires
@elian à discuter ensembleElian LorauxElian Lorauxhttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/4Ajouter le header interest-cohort sur toutes les applis2021-04-27T14:40:38ZDavid BeniamineAjouter le header interest-cohort sur toutes les applis[Google prévoit de remplacer les cookier tiers par le mécanisme Floc](https://framablog.org/2021/04/20/developpeurs-developpeuses-nettoyez-le-web/) avec ce système, google chrome pistera de lui même les utilisateurs sur tous les sites, s...[Google prévoit de remplacer les cookier tiers par le mécanisme Floc](https://framablog.org/2021/04/20/developpeurs-developpeuses-nettoyez-le-web/) avec ce système, google chrome pistera de lui même les utilisateurs sur tous les sites, sauf si les sites indiquent `Permissions-Policy : interest-cohort=()` dans les headers.
Pour ne pas participer au pistage google il est donc important d'ajouter ce header à tous les services qu'on maintient.David BeniamineDavid Beniaminehttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/3Ajouter un système de monitoring actif2020-09-08T13:56:23ZDavid BeniamineAjouter un système de monitoring actifJ'appelle client le serveur à surveiller et serveur le serveur de controle
1. Enregistrement du client sur le serveur de contrôle à l'installation ou mise à jour
+ Le client indique un nom plus quelques urls à surveiller
2. Via cron...J'appelle client le serveur à surveiller et serveur le serveur de controle
1. Enregistrement du client sur le serveur de contrôle à l'installation ou mise à jour
+ Le client indique un nom plus quelques urls à surveiller
2. Via cron le client envoie un heartbeat à interval régulier
3. À interval régulier le serveur de contrôle test que toutes les urls de tous les client sont joignables (réponse code < 400) et n'affichent pas une page vide
4. Sur le serveur de contrôle une page web permet de voir l'état des serveurs
5. Si 2. ou 3. plante pendant trop longtemps un mail est envoyé par le serveur de contrôle à l'admin avec état général du clientDavid BeniamineDavid Beniaminehttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/2Migrate to phpfpm2019-10-16T21:42:41ZDavid BeniamineMigrate to phpfpmCreate a script to migrate automatically from apache-modphp to phpfpm, this should make all servers way fasterCreate a script to migrate automatically from apache-modphp to phpfpm, this should make all servers way fasterDavid BeniamineDavid Beniaminehttps://gitlab.tetras-libre.fr/nocloud/NoCloud-Auto-Installer/-/issues/1test isue2018-09-08T12:54:27ZDavid Beniaminetest isuetesting email issuestesting email issues