Projet

Général

Profil

Léo Comères

15 Avril 2024

Arriver au Fablab, découverte des outils et de l'environnement.
Créations comptes Git cohabit, Redmine et serveur.
Créations de clé SSH mise sur clé USB pour des raisons de sécurité.
Liste des projets/travaux en cours.

Mise à jour du serveur de production en debian 12.

Pour cela on regarde la version actuelle
lsb_release -t //Cette commande permet d'obtenir des informations sur le système d'exploitation
sudo apt get update //Permet d'aller mettre à jour les paquets.
sudo apt get upgrade //Permet de d'installer les mises à jour des paquets

Pour des raisons de sécurité nous copié le fichier "sources.list" qui pourra nous servir de sauvegarde en cas de soucis, une fois sauvegarder il nous faut l'éditer pour remplacer les mentions de "bullseye" en "bookworm". "Bullseye" est le nom de la version 11 de debian, "Bookworm" est le nom de la version 12.
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list //Cette commande remplace le mot "bulleye" en "bookworm"

Il nous faut ensuite re-update le tout.
sudo apt update
sudo apt upgrade --without-new-pkgs //Ici on veut éviter de retirer un trop grand nombre de paquets
sudo apt full-upgrade //C'est grâce à cette commande que l'on va mettre à jour le système d'exploitation entier
Il nous reste plus qu'à reboot.

Problème rencontré :
Le redmine ne fonctionnait plus à cause d'une dépendance manquante.
Il a donc fallu mettre à jour bundle et même le réinstaller.
sudo apt update bundle //On met à jour le paquet "bundle"
gem install bundler //On re-installe le paquet bundle
sudo apt install postgress-contrib libpg-dev
sudo apt update bundle //On met à jour le paquet "bundle"
apache2 service restart //On redémarre le service Apache2
Et nous voici avec un serveur debian 12 fonctionnel.

Mise à jour de Forgejo
Pour mettre à jour Forgejo, on supprime le Dump de l'ancienne version, et on en crée un nouveau.
On va venir cherhcer la dernière version
wget https://codeberg.org/forgejo/forgejo/releases/download/v1.21.10-0/forgejo-1.21.10-0-linux-amd64 //Téléchargement
chmod +x forgejo-1.21.10-0-linux-amd64 //Attribution des droits
On vient ensuite vérifier les clés GPG
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
wget https://codeberg.org/forgejo/forgejo/releases/download/v1.21.10-0/forgejo-1.21.10-0-linux-amd64.asc
gpg --verify forgejo-1.21.10-0-linux-amd64.asc forgejo-1.21.10-0-linux-amd64
On vient de vérifier l'identité de notre fichier, il faut maintenant le déployer sur le forgejo.
sudo mv /etc/forgejo/forgejo-1.21.10-0-linux-amd64 /usr/local/bin/forgejo
systemctl restart forgejo //On restart le processus
systemctl status forgejo //On vérifie qu'il tourne bien
Et nous voici avec un forgejo opérationnel !

Problème rencontré :
Il y a un jeu de droit plutot entravant dans le dossier /etc/forgejo qui rend la commande dump impossible. Pour cela une solution est de prendre le rôle "git" dont provient le fichier app.init qui nous intéresse.
sudo su git //Permet de prendre le rôle "Git" qui possède donc les droits sur les fichiers

16 Avril 2024

Études protocole NTP, Documentation Wireguard, TLS.
Nous avons un souci sur les ordinateurs en Wi-Fi ceux-ci n'arrivent pas à avoir l'heure, ce processus de synchronisation se fait normalement avec le processus NTP.
Une première piste qui fit explorer était l'état du processus, celui-ci n'est en réalité pas présent sur les machines, c'est un processus similaire qui est présent sous le nom : "systemd-timesyncd".
Après un peu de lecture de documentation, nous réalisons que le processus "systemd-timesyncd" n'est pas configuré sur le serveur NTP donné par Arquinet, à savoir que les serveurs NTP proposés initialement dans la configuration son refusé, ce qui pourrait poser problème sur l'obtention de l'heure. Il faut donc configurer la bonne adresse, redémarrer le processus et tester.
Recherche pour TLS/SSL, on pourrait trouver une solution pour améliorer le niveau de sécurité des mails = OPENSSL

17 Avril 2024

Mise à jour puis réinstallation de Postfix
Postfix est notre serveur mail, avant nous travaillions avec Sendmail qui fonctionne en coordination avec postfix, mais celui-ci fut déprécier, maintenant nous utilisons juste Postfix.
Ce dernier a posé quelques soucis à l'intégration du SSL. Le problème venait de la version du logiciel et de son fichier de configuration.
Son fichier de configuration était celui d'une version antérieur à la version 2.3, la version actuelle étant la version 3.7.10 le processus ne comprenais donc pas sa propre configuration.
Nous avons dû donc corriger cela en désinstallant le tout (et en faisant une backup au cas où) puis en le réinstallant. À noter que la désinstallation ne supprimait pas tous les dossiers, cela peut poser problème, car le fichier de configuration en fait partie et donc ne se réinstalle pas si on ne le supprime pas.

Installation du TLS
Le TLS permet une sécurisation des données envoyées par mail grâce au chiffrement, on peut le voir sous forme de cadenas de couleurs sur Gmail par exemple.
Ici, on fait appel à OPENSSL qui est une extension à Postfix et on y glisse les clés dans le fichier de configuration de Postfix.
Un petit souci ayant survenu étant un fichiers manquant à la réinstallation le fichier "postfix-file" nous somme aller le chercher dans la backup, ce qui a fait fonctionner le tout.

Installation de DMARC
Le DMARC permet de vérifier l'authentification des utilisateurs, c'est un outil pour éviter le "spoofing".
Son installation se fait via le DNS, pour nous, il faut donc aller le configurer sur OVH qui dispose des outils et option pour cela.
Nous avons juste à ajouter une entrée DMARC avec comme sous-domaine "_dmarc", la version "DMARC1", la règle de domaine "reject" et finalement la vérification SPF en "strict".
NB : SPF signifie "Sender Policy Framework", c'est un outil d'anti-spoofing.

Recherche S/MIME
S/MIME est le dernier niveau de sécurité visible sur GMAIL, il nous donnerait un petit cadenas vert ainsi que théoriquement un haut niveau de sécurité.
Grâce à S/MIME le chiffrement se ferait en englobant l'intégralité du mail et pas seulement sont contenu.
Un souci venant avec lui cependant est la difficulté pour acquérir une certification gratuite, la majorité des certifications sont payantes et une grande partie des résultats sont des services pour acquérir ces certifications (ce qui ne nous intéresse pas).

Nous essayons actuellement avec Actalis, mais n'arrivons pas à faire ce que nous voulons, actuellement seule l'adresse de Monsieur Pierre possède cette certification.

18 Avril 2024

Recherche S/MIMIE,
S/MIME est une norme cryptographique, qui permet par exemple de tout chiffrer dans un mail, pas seulement le contenu. Ici, notre objectif est d'obtenir le petit cadenas vert sur les mails, qui démontre théoriquement un haut niveau de sécurité.

À noter que cette sécurité à une faille celle-ci s'appelle EFAIL, mais ici, ce n'est pas limité à S/MIME, mais est bien plus général.

Après quelque recherche, nous réalisons que le sur les différents services proposant la certification S/MIME gratuitement, beaucoup ne sont plus disponible pour diverse raison (rachat principalement). Le seul disponible semble être Actalis qui est une autorité de certification. Nous avons donc pu créer un compte au nom du Fablab ayant pour objectif de certifier les mails du Fablab cependant ne pouvant recevoir de messages sur cette adresse (n'étant pas encore paramétré), l'adresse choisis fut celle de Monsieur Pierre Grangé Praderas. Ce fut aussi son adresse qui fut certifiée, ce n'est finalement donc pas ce que nous recherchions.

Étant donné que nous ne pouvons pas certifier pour le moment, nous avons donc mis cette partie de coté.

Recherche API pour imprimante 3D
L'idée de pouvoir connecter les imprimantes à une API pour obtenir toutes sortes d'informations nous est venue en tête, nous avons par curiosité recherchés un peu sur le sujet, il semblerait que certains ait réussi à connecter des machines X1 carbon de chez Bambulab grâce à MQTT.

Cependant, n'étant pas dans notre domaine, nous avons mis cela de côté n'étant pas urgent, ni même une demande actuelle.

Reflexion LDAP
Sur les services du Fablab, il y a deux titres, Utilisateur qui n'a aucun droit et Admin qui à tous les droits, cela représente en soit un problème de sécurité. Pour résoudre ceci, il faudrait passer par un LDAP et ainsi crée d'autres groupes d'utilisateurs, nous aurions aussi la possibilité de fonctionner avec des TAG pour différencier les utilisateurs, groupes d'utilisateurs, etc...

Cela fait partie d'un plus gros projet visant à regrouper tous les services en un seul, facilitant et fluidifiant l'accès pour tous.

Concernant les droits, nous avons pensé à 3 catégories et plusieurs catégories spéciales.
Les 3 catégories principales seraient :
- Visiteur : Accès en lecture au News, à la Documentation.
- Membres : Accès en écriture et lecture leurs pages personnelles, portfolio, Projets et Code (Git), la possibilité de réserver la graveuse laser.
- Administrateurs : Accès au SSH, lecture & écriture à tout.

Nous aurions aussi des rôles plus spécifiques.
Manager : Accès aux documents administratifs
Contributeur : Permet de contribuer avec l'accord à d'autres projets.

Ces rôles changeront certainement, mais c'est notre premier draft les concernant, ainsi évitant de soit ne rien avoir soit avoir tous les droits.

19 Avril 2024

Recherche migration serveur de prod
Notre serveur est un ancien modèle, cela a son importance dans la façon dont les données sont stockées.
Nous cherchons à changer de machine, car celle-ci ne semble plus adaptée, d'un point de vue mémoire possédant 8 Go de Ram, celle-ci ne semble pas dépasser les 1,5 voir 2 Go de Ram en utilisation, une machine sur 4 Go pourrais donc faire l'affaire, le système de stockage pourrait aussi être à revoir actuellement en ext4, il n'y pas de vrais soucis avec ce format cependant, on pourrait trouver plus adapte.
  • XFS serait intéréssant par exemple si on cherche a avoir plusieurs tâche en même temps, le serveur de production faisant actuellement tourner les services du Fablab cela pourrait nous intéresser.
  • Nous pourrions aussi envisager BTRFS dont ces qualités sont dans l'implémentation de "features", le fablab évolue de jour en jour l'ajout de service pourrait donc être facilité.

29 Avril 2024

  • Mise à jour de Forgejo version 1.21.10 à 7.0.1
    La manipulation est la même que la première que nous avons effectuée le 15 avril 2024.
  • Création d'un schéma Réseau.
  • Recherche sur la mise en place d'un client & serveur Wireguard pour effectuer un tunnel permettant d'esquiver les restrictions de la DSI

30 Avril 2024

Créations d'un tunnel à l'aide de Wireguard en créant un VPN.
Pour cela, il faut un client et un serveur, ici notre client est le routeur et le serveur est le serveur de production. L'idée est d'utiliser son identité pour tout appareil connecté sur le wifi (plus tard potentiellement les appareils branchés aussi en ethernet).

Pour faire cela, on s'est créé un serveur de test à l'aide d'une raspberry Pi 3 qui sera suffisante pour notre utilisation. Nous avons juste due trouver une carte SD de plus de 4/8Go et installer un Debian12 dessus pour "imiter" le serveur de production.

Concernant Wireguard, il faut bien entendu l'installer, mais surtout le configurer, nous avons donnés cette configuration pour le serveur de test.

Fichier wg0.conf :

[Interface]
PrivateKey = Clé Privé du Serveur
Address = 10.153.242.1/24
MTU = 1420
ListenPort = 5151
[Peer]
PublicKey = Clé Publique du Client
PresharedKey = W7fVFTD/wPtBNJwk9QczSw4Drp3LwR7sRbt3q42fN3c=
AllowedIPs = 10.153.242.2/32

Fichier wg0-client.conf :

[Interface]
PrivateKey = Clé Privé du Client
Address = 10.153.242.2/24
DNS = 208.67.222.222, 208.67.220.220

[Peer]
PublicKey = Clé publique du Serveur
PresharedKey = W7fVFTD/wPtBNJwk9QczSw4Drp3LwR7sRbt3q42fN3c=
Endpoint = 147.210.95.11:5151
AllowedIPs = 0.0.0.0/0, ::0/0

Après quelques tests, nous réalisons que cela fonctionne sans trop de problèmes.
Nous envoyons donc cela sur le serveur de production, en adaptant les adresse IPs et clé et testons, cependant cela ne semble pas fonctionner et recherchons la source du problème.

2 Mai 2024

- Recherche de solution pour l'utilisation du client/serveur Wireguard, en conséquence demande de prise de rendez-vous avec la DSI par mail.

- Nous avons ajouté un second réseau wifi , celui-ci est décrit comme "invité", il n'a pour le moment pas d'utilité, mais pourrait en avoir si nous arrivons à résoudre la situation "Wireguard", où seul l'accès au réseau wifi permettrait d'utiliser le pont vers le serveur de production, le wifi "invité" ne le permettant pas.

- Nous avons aussi rajouté l'IPV6 Native sur le réseau wifi, tous les appareils se connectant sur le réseau auront une IPV6.

- Visite de la baie de brassage.

6 Mai 2024

- Créations d'un schéma et présentation de l'avancement du projet de restructuration du Site et des services en un seul, l'idée est de transformer les 3 services du Fablab en un seul. (projet.cohabit, cohabit.fr, git.cohabit.fr)

- Visite rapide à la DSI et au service informatiques de l'université sur les questions de port (toujours un problème avec wireguard, celui-ci semble bloquer pour une raison inconnue), nous cherchons en attendant un vrai rendez-vous avec le service informatique.

- Recherche sur un bug de Forgejo runner, c'est un petit programme permettant de mettre en œuvre directement le code mis sur le git, celui-ci a un problème de l'ordre du réseau empêchant son bon fonctionnement.

13 Mai 2024

  • Recherche consommation électrique routeur :
    Il m'était demandé d'observer la consommation électrique du routeur à différents instants de la journée. De préférence, quand il n'y a personne et quand il y a beaucoup de monde.
    Munis d'une prise permettant d'afficher se genre d'information et de les extraire si le besoin d'un schéma apparaîtrait. Cependant après branchement seul la prise fit un bruit et sentit le brûles.
  • Recherche de prise connecté permettant d'obtenir la consommation et pouvant potentiellement avoir d'autres fonctionnalités.
    Voici les conditions qu'il faudrait que cette nouvelle prise répondent.

Format : Allemagne (plus facile car pas de sens)
Protocole : Matter > Tuya (Matter est un standard de connectivité open source à l'instar de Tuya.)
Com. : Thread/Zigbee > Wifi (Ici l'idée, c'est d'avoir une prise toujours fonctionnelle même si une coupure de réseau survient, Thread ou Zigbee pourrait répondre à cette problématique).

14 Mai 2024

  • Installation docker Raspberry PI + Serveur de production
    Nous essayons de faire fonctionner une petite application appelée Forgejo runner, cependant celle-ci semble poser quelques problèmes et nous souhaitons donc passer son fonctionnement actuel de Podman à Forgejo.
    Le passage n'est pas compliqué, mais demande la présence de ces applications, il nous faut donc installer Docker, pour cela, il suffit juste d'aller chercher leur script présent sur la documentation fourni sur leur site internet : https://docs.docker.com/engine/install/raspberry-pi-os/#install-using-the-convenience-script. Une fois que le script à fini Docker est installé sur la machine.
  • Mise à jour sources list /etc/apt/sources.list serveur production
    Suite à une mise à jour récente les dépôt ont changer de nom, il faut donc aller modifier un paramètre dans le fichier sources.list présent dans le /etc/apt/sources.list.
  • Installation disque et RAM dans un ordinateur "temporaire" et Installation Debian 12 avec zfs
    Nous allons changer les disques du serveur de production en faveur de 3 disques de 1 To mis en raid.
    Nous avons donc démonter un ordinateur rajouter de la RAM (car celui-ci n'en avait pas) et ajouter les disques. Il ne reste que à réinstaller le système d'exploitation ainsi que les différents services.

17 Mai 2024

Commencement d'une sauvegarde des fichiers de configuration des différents services actif du serveur de production.

Rendez-vous avec le service informatique pour résoudre des problèmes et intérogation.

  • Premièrement, le serveur NTP donné par la fac ne fonctionnait pas, et les autres étant bloquées, il n'y avait donc aucun moyen d'obtenir l'heure, voir certain ordinateur tournant sous arch-linux ne pouvait pas faire d'installation. La solution fut d'utiliser la passerelle réseau en tant que serveur NTP. Après des tests, tout cela fonctionne sans problème.
  • Deuxièmement, nous avions un problème avec le protocole HTTP3 qui était bloqué, en effet le service informatique à bien bloquer le protocole UDP en sortie sur le port 443, il nous l'a ainsi débloqué cependant, il nous a aussi avertis que la DSI pouvait aussi bloquer se port. Nous avons fait donc un ticket auprès de la DSI et attendons le résultat.
  • Troisièmement, nous avions aussi un problème de DNS, ceux-ci ne semblaient pas passer et certains champs étaient manquant "NULL" mais uniquement si on utilisait le DNS de cloudflare, celui de Google lui fonctionnait relativement bien, le service informatique a donc bien ajouter le DNS Cloudflare à sa liste. Cependant, cela ne semble toujours pas fonctionner.

Pour résoudre les deux trois trucs bloquant, nous sommes en train de voir pour changer de direction (COUP D'ETAT !) et d'aller sur sous la direction de la DSI, plutot que celle du service informatique qui est sous la direction de la DSI nous retirant ainsi un niveau de blocage et pouvant résoudre deux trois problèmes provenant de la gestion du service informatique.

Voici les informations de test que nous avons effectués :

NTP
Cohabit

Ubuntu
12~$ ntpdate -u 0.ubuntu.pool.ntp.org
16 May 16:39:11 ntpdate[98548]: no server suitable for synchronization found
Université
12~$ ntpdate -u ntp.emi.u-bordeaux.fr
16 May 16:45:01 ntpdate[100578]: no server suitable for synchronization found
Wireshark
Frame 598: 90 bytes on wire (720 bits), 90 bytes captured (720 bits) on interface \Device\NPF_{2CD29754-5FB6-4145-B376-6E4B8E2101D7}, id 0
Ethernet II, Src: SagemcomBroa_2a:9f:6c (f4:05:95:2a:9f:6c), Dst: ASUSTekCOMPU_08:17:a8 (04:92:26:08:17:a8)
Internet Protocol Version 4, Src: 212.83.158.83, Dst: 192.168.1.121
User Datagram Protocol, Src Port: 123, Dst Port: 64198
Network Time Protocol (NTP Version 4, server)
Flags: 0x24, Leap Indicator: no warning, Version number: NTP Version 4, Mode: server
[Request In: 597]
[Delta Time: 0.011522000 seconds]
Peer Clock Stratum: secondary reference (2)
Peer Polling Interval: 3 (8 seconds)
Peer Clock Precision: -25 (0,000000030 seconds)
Root Delay: 0,000763 seconds
Root Dispersion: 0,001663 seconds
Reference ID: 29.88.99.4
Reference Timestamp: NULL
Origin Timestamp: NULL
Receive Timestamp: NULL
Transmit Timestamp: May 16, 2024 17:09:47.467586031 UTC

Ext.

Ubuntu
1234~$ ntpdate -u 0.ubuntu.pool.ntp.org
16 May 18:41:27 ntpdate[299]: Can't adjust the time of day: Operation not permitted
~$ sudo ntpdate -u 0.ubuntu.pool.ntp.org
16 May 18:42:10 ntpdate[301]: adjust time server 37.59.63.125 offset 0.019671 sec
Université
12~$ ntpdate -u ntp.emi.u-bordeaux.fr
16 May 19:04:32 ntpdate[601]: Can't adjust the time of day: Operation not permitted
Wireshark
Frame 598: 90 bytes on wire (720 bits), 90 bytes captured (720 bits) on interface \Device\NPF_{2CD29754-5FB6-4145-B376-6E4B8E2101D7}, id 0
Ethernet II, Src: SagemcomBroa_2a:9f:6c (f4:05:95:2a:9f:6c), Dst: ASUSTekCOMPU_08:17:a8 (04:92:26:08:17:a8)
Internet Protocol Version 4, Src: 212.83.158.83, Dst: 192.168.1.121
User Datagram Protocol, Src Port: 123, Dst Port: 64198
Network Time Protocol (NTP Version 4, server)
Flags: 0x24, Leap Indicator: no warning, Version number: NTP Version 4, Mode: server
[Request In: 597]
[Delta Time: 0.011522000 seconds]
Peer Clock Stratum: secondary reference (2)
Peer Polling Interval: 3 (8 seconds)
Peer Clock Precision: -25 (0,000000030 seconds)
Root Delay: 0,000763 seconds
Root Dispersion: 0,001663 seconds
Reference ID: 29.88.99.4
Reference Timestamp: May 16, 2024 16:46:00.808243609 UTC
Origin Timestamp: May 16, 2024 17:09:47.424720447 UTC
Receive Timestamp: May 16, 2024 17:09:47.467509283 UTC
Transmit Timestamp: May 16, 2024 17:09:47.467586031 UTC

DNS
Cohabit

Google
1~# nslookup example.com - 8.8.8.8 # OK
Cloudflare
1~# nslookup example.com - 1.1.1.1 # KO

Ext.

Google
1~# nslookup example.com - 8.8.8.8 # OK
Cloudflare
123456789~$ nslookup example.com - 1.1.1.1
Server: 1.1.1.1
Address: 1.1.1.1#53
Non-authoritative answer:
Name: example.com
Address: 93.184.215.14
Name: example.com
Address: 2606:2800:21f:cb07:6820:80da:af6b:8b2c

DoT (DNSSEC - DNS over TLS)

Test : https://one.one.one.one/help/
Cohabit

Google
kdig d @8.8.8.8 +tls-ca +tls-host=dns.google example.com
;; DEBUG: Querying for owner(example.com.), class(1), type(1), server(8.8.8.8), port(853), protocol(TCP)
;; DEBUG: TLS, imported 170 system certificates
;; DEBUG: TLS, received certificate hierarchy:
;; DEBUG: #1, CN=dns.google
;; DEBUG: SHA-256 PIN: nVwM6mPSghkRvAYg2dOd91LUa9TDw01gmu7SEeQKihQ=
;; DEBUG: #2, C=US,O=Google Trust Services LLC,CN=GTS CA 1C3
;; DEBUG: SHA-256 PIN: zCTnfLwLKbS9S2sbp+uFz4KZOocFvXxkV06Ce9O5M2w=
;; DEBUG: #3, C=US,O=Google Trust Services LLC,CN=GTS Root R1
;; DEBUG: SHA-256 PIN: hxqRlPTu1bMS/0DITB1SSu0vd4u/8l8TjPgfaAp63Gc=
;; DEBUG: TLS, skipping certificate PIN check
;; DEBUG: TLS, The certificate is trusted.
;; TLS session (TLS1.3)
(ECDHE-X25519)-(ECDSA-SECP256R1-SHA256)-(AES-256-GCM)
;; >>HEADER<< opcode: QUERY; status: NOERROR; id: 54512
;; Flags: qr rd ra ad; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 1
;; EDNS PSEUDOSECTION:
;; Version: 0; flags: ; UDP size: 512 B; ext-rcode: NOERROR
;; PADDING: 408 B
;; QUESTION SECTION:
;; example.com. IN A
;; ANSWER SECTION:
example.com. 165 IN A 93.184.215.14
;; Received 468 B
;; Time 2024-05-16 17:11:07 CEST
;; From 8.8.8.8@853(TLS) in 67.2 ms
Cloudflare
12345kdig -d @1.1.1.1 +tls-ca +tls-host=one.one.one.one example.com 
;; DEBUG: Querying for owner(example.com.), class(1), type(1), server(1.1.1.1), port(853), protocol(TCP)
;; DEBUG: TLS, imported 170 system certificates
;; WARNING: TLS, handshake failed (Error in the pull function.)
;; ERROR: failed to query server 1.1.1.1@853(TCP)

Ext.

Google
kdig -d @8.8.8.8 +tls-ca +tls-host=dns.google example.com # OK
Cloudflare
kdig d @1.1.1.1 +tls-ca +tls-host=one.one.one.one example.com
;; DEBUG: Querying for owner(example.com.), class(1), type(1), server(1.1.1.1), port(853), protocol(TCP)
;; DEBUG: TLS, imported 137 system certificates
;; DEBUG: TLS, received certificate hierarchy:
;; DEBUG: #1, C=US,ST=California,L=San Francisco,O=Cloudflare\, Inc.,CN=cloudflare-dns.com
;; DEBUG: SHA-256 PIN: HdDBgtnj07/NrKNmLCbg5rxK78ZehdHZ/Uoutx4iHzY=
;; DEBUG: #2, C=US,O=DigiCert Inc,CN=DigiCert Global G2 TLS RSA SHA256 2020 CA1
;; DEBUG: SHA-256 PIN: Wec45nQiFwKvHtuHxSAMGkt19k+uPSw9JlEkxhvYPHk=
;; DEBUG: TLS, skipping certificate PIN check
;; DEBUG: TLS, The certificate is trusted.
;; TLS session (TLS1.3)
(ECDHE-X25519)-(ECDSA-SECP256R1-SHA256)-(AES-256-GCM)
;; >>HEADER<< opcode: QUERY; status: NOERROR; id: 52189
;; Flags: qr rd ra; QUERY: 1; ANSWER: 1; AUTHORITY: 0; ADDITIONAL: 1
;; EDNS PSEUDOSECTION:
;; Version: 0; flags: ; UDP size: 1232 B; ext-rcode: NOERROR
;; PADDING: 408 B
;; QUESTION SECTION:
;; example.com. IN A
;; ANSWER SECTION:
example.com. 1377 IN A 93.184.215.14
;; Received 468 B
;; Time 2024-05-16 18:44:35 CEST
;; From 1.1.1.1@853(TCP) in 63.7 ms

21 Mai 2024

Mise en place de 2 configuration Debian 12 & installation GIT + VSC (Visual Studio Code) :
Suite à l'arrivée de deux nouveaux Stagiaire en Développement, nous avons préparé leurs postes informatiques pour que ceux-ci puissent travailler. Les deux ordinateurs étant sous d'autres systèmes d'exploitation que nécessaire, nous avons dû faire des réinstallation aux propres (en sauvegardant le nécessaire avant). Nous voici donc avec deux machines Debian 12 neuves.
Nous avons aussi installé git et Vscode au passage.

Impression 3D d'un support de disque :
Pour les besoins de notre serveur de production, nous avons besoin de faire tenir les disques durs "SSD" de manière plus fiable, nous donc eu l'idée d'imprimer un support à monter sur la machine.
Celui-ci serait fait en TPU avec 15 % de remplissage, le TPU serait une alternative au PLA qui serait plus sensible à la chaleur.

Ajout DKIM :
Installation et configuration
- Ajout KeysFile dans le /home de Julien
- Ajout nom de domaine : cohabit.fr
-Ajout de l'utilisateur postfix dane le groupe opendkim.

22 Mai 2024

Implémentation & Test DKIM :
Nous avons un problème au niveau des mails, certain n'arrive pas voir arrive avec énormément de retard et la solution serait l'implémentation du DKIM. Jusqu'à présent c'était une commande custom qui remplissait son rôle cependant redmine utilise ces propres outils et ces dernier temps cela nous des problèmes comme sité précédemment. Nous avons donc tenté d'implémenter le DKIM l'installation est finie mais la configuration pose problème (ici un code d'erreur 70) nous essayons donc de voir et de nous renseigner.

23 Mai 2024

DKIM :
Nous avons pu trouver le problème qui l'empêchait de fonctionner, c'était le paramètre de "nameserver" qui bloquer tout, une fois résolu cependant les mails se font bloquer plus haut.
Nous décidons donc au vu de l'activité des mails interne (ne sert qu'à distribuer les mots de passe) d'attendre la migration des services sur le nouveau qui devrait résoudre ce problème.

Migration serveur physique :
Nous avons tenté de changer de méthode au vu du non-fonctionnement du ZfS, nous décidons donc de passer en ext4 et d'utiliser LVM pour la gestion des partitions.
Cependant, nous rencontrons aussi les mêmes problèmes que pour le ZFS, on essaye aussi de mettre à jour le BIOS qui semble avoir quelques versions de retard (version 2 à version 5).

24 & 27 Mai 2024

Installation OS sur les différents disques.
Tentative de nettoyage + réparation MBR -> GPT (partie du disque dédié au boot de l'OS)
Le problème pourrait théoriquement venir de là.

28 Mai 2024

Installation réussie :D !
Ils nous aura fallu formater les disques puis effacer les pools ZFS, une fois fait avec une installation de test. Nous avons pu recommencer en gérant les partitions avec LVM et en profiter pour déclarer les pools pour le RAID 1. (Ce dernier ne fut cependant pas une mince à faire.)

29 Mai 2024

Nous avons commencer à faire le tour des différentes bibliothèques et dépendances requises pour faire tourner les anciens services en "Legacy" l'idée est de les avoir toujours à diapo si besoin, mais de ne plus les alimenté. Nous avons aussi installé quelques outils pour gérer le serveur ainsi que les fichiers de configuration important "iptables" et "configuration ssh".

31 Mai 2024

Dépannage ordinateur d'un adhérent et recherche des derniers fichiers de configuration :
VIM & ZSH & Fail2Ban.

3 Juin 2024

Après discussion, certains fichiers de configuration ne nous semblent pas pertinents de conserver, le fail2ban semble être généré à son installation et le vim est vide, car importe son "thème" de oh-my-zsh.
J'en ai profité pour trifouiller les fichiers composant le site Laravel, étant donné qu'une des idées était de le mettre sur un dépôt s'il ne possédait rien de sensible, j'ai ainsi voulu regarder son contenu et cela fut une bonne idée car le fichier .env contient des informations sur la base de données son Id et son mot de passe ce qui effectivement pourrait être un problème si visible de tous. Nous essayons donc de réfléchir à une solution secondaire pour le transfert du site via une autre méthode.

4 Juin 2024

Problème informatique sur mon poste, qui a demandé une réinstallation système.
J'en ai profité pour me renseigner sur la manière de faire des partitions et de les utiliser avec LVM, ce ne fut malheureusement pas fructueux.
À noter cependant que je commence à me faire la main sur le système d'arch linux ainsi que de son environnement graphique Hyprland.
La prochaine étape sera de mettre à jour les fichiers du script pour faire installer automatiquements les fichiers de configurations ou les logicielles donc le serveur aura besoin, Fail2Ban et Vim étant les seuls nouveau nécessitant une installation propre, car ils vont finir réédités par la suite par d'autres fichiers/software.

5 Juin 2024

Problème réseau dans la matiné.
Finalisation du script, celui-ci marche impec !

6 Juin 2024

Documentation du script

7 Juin 2024

Débug Script :
Le script fonctionne bien pour une installation, mais échoue pour si on l'utilise pour mettre tout à jour, le problème semble venir du fait qu'il n'arrive pas à désinstaller les bibliothèques et bloque ici faisant échouer l'entièreté du script. On pourrait essayer de rajouter une partie dans le script qui supprimes les fichiers avant des les installés ce qui ne gènerait plus l'installation.

Installation Ollama :
Ollama ne semble pas compliquer à installer, mais nécessite cependant une carte graphique NVIDIA ou AMD ce qui n'est malheureusement pas notre cas.

Installation Openpot :
Openpot demande à être tourné sur du docker sachant que nous utilisons podman son installation pourrait être légèrement différentes.
Liens pour install podman : https://community.penpot.app/t/how-to-develop-penpot-with-podman-penpotman/2113/8
PIP et podman-compose manquant à l'installation avec script standart
Installation python & pip : https://reintech.io/blog/install-python3-pip-debian-12

Code d'erreur = "exit code: 125"

10 Juin 2024

Nous avons réussi à installer Penbot en installant correctement Docker ainsi que Podman -> https://docs.oracle.com/fr/learn/podman-compose/

Nous avons pu obtenir deux anciennes cartes graphiques du Technoshop, et avons effectuer des tests non concluant, l'une des deux cartes est incompatible avec le modèle d'IA et nous n'arrivons pas à installer les drivers de l'autre.

13 Juin 2024

Reinstallation d'un système d'expxloitation sur un ordinateur ne démarrant pas.
Installation de EndeavourOS en tant que système d'exploitation.
Installation des logicielles Kicad, Freecad, OrcaSlicer.

14 Juin 2024

Créations d'un jeu de donnés pour le nouveau site répertoriant les anciens utilisateurs (de maintenant à début janvier).
Réflection sur la sécurité :
- Créations d'une partie qui sera cochée par les bots, mais pas par les humains.
- Créations des identifiants par le site et envoi par e-mail.

17 Juin 2024

Continuation de la création de jeu de donnés pour les groupes.
Création d'un schéma relationnel décrivant la base de données du site internet.

18 Juin 2024

Finalisation du schéma et commencement d'une réécriture sous un autre format "Markdown" et plus précisément "mermaid" permettant une meilleure intégration dans le github.

19 Juin 2024

Continuation du schéma sous mermaid

21 Juin 2024

Recherche sur le problème de Forgejo-runner et tentative d'installation infructueuse.

25 Juin 2024

Résolution problème Forgejo-runner :

Installation propre de Forgejo-runner sous docker et podman, problème sous podman, cependant docker fonctionne parfaitement.
Nouveau problème, après inspection des logs un soucis de permissions est de la partie sous podman.
Sur la machine de production en revanche l'ancien problème de certifica semble avoir été résolue par les développeurs, cependant un autre est survenu impliquant l'image de la machine utilisés après quelques tests et recherches nous trouvons qu'il nous faut impérativement une version d'une image possèdant bash et Git, car sinon cela provoque une erreur stoppant tout.

1 au 6 Juin 2024

Découverte, installation et résolution de problèmes sur Flarum.

Flarum est une extension pour site internet à héberger prenant la forme d'un forum d'échange. Il est léger et écrit en PHP, ayant peu de dépendances et pourrait permettre une manière de communiquer entre les membres sur les différents projets et autres sujets.

Son installation requiert plusieurs dépendances :
1/ Un serveur Web, nous nous servirons de Caddy qui est beaucoup plus léger et mieux optimisé que Nginx ou Apache.
2/ PHP8.2 et certaines de ses extensions "curl, dom, fileinfo, gd, json, mbstring, openssl, pdo_mysql, tokenizer, zip"
3/ Une base de données, nous avions MySQL déjà installé, nous l'avons donc gardé.

Une fois ceci installé, il faut installer le service, pour cela nous pouvons faire l'installation soit par la commande, soit par archives, nous avons choisi les archives qui semblaient plus fournies en version.
Il est important de noter que nous avons choisi la version PHP.8.2 de Flarum qui s'accorde avec la version de PHP du même nom.
Il suffit ensuite de décompresser l'archive et de lui attribuer des droits d'écriture et de lecture dans le fichier de Flarum.
Mettre en place Caddy avec son fichier de configuration.
Et nous voici avec un service fonctionnel, tout du moins en théorie, car en réalité nous faisons face à une erreur 502 dont nous ne comprenons point l'origine. Nous attendons une tentative sur le serveur du nouveau serveur de production avec un nom de domaine pour voir si cela fonctionne.

La création d'un nouveau service au niveau système serait aussi envisageable pour permettre au service de se lancer au démarrage de la machine, évitant de le faire manuellement à chaque fois.

Lien du guide d'installation.
Installation : https://docs.flarum.org/install/

22 Juillet

Résolution Problème sytemd : system has not been booted with systemd as init system (pid 1). can't operate.

Solution : Mise à jour update+upgrade ainsi qu'installation paquet systemd-sysv, forum de référence : https://forum-debian.fr/viewtopic.php?t=2125

Problème en cours forgejo :

juil. 22 10:43:22 labotest (forgejo)[1389]: forgejo.service: Changing to the requested working directory failed: Permission denied
juil. 22 10:43:22 labotest (forgejo)[1389]: forgejo.service: Failed at step CHDIR spawning /usr/local/bin/forgejo: Permission denied

Résolution probable liéau droit de l'utilisateur qui lance Forgejo source : https://github.com/go-gitea/gitea/issues/12923

1 Octobre

Vérification ordinateur portable, réinstallation 2 ordinateur sous endeavouros et installation logiciel.
Résolution problème APPIMAGE orca-slicer sous endeavouros : Appimage ne démarrant pas - Installation de webkit2gtk.

8 Octobre

Installation Home Assistant
Paramètrage compte root
Activation SSH + Changement NTP

9 Octobre
Impression 3D du bloqueur de fenètre fait par Jean-Baptiste en 2020.