Borg "suite à la mise à niveau"

What type of hardware are you using: Raspberry Pi 3, 4+
What YunoHost version are you running: 12.0.8.2 (stable)
What app is this about: Borg

Describe your issue

Bonjour,

Je me rends compte que Borg m’affiche un encadré… dans Application/borg :

Remarques suite à la mise à niveau

Borg pre-version 1.2.5 had CVE in archive format. One liner to check if you’re affected is:

sudo env BORG_RSH=“ssh -i /root/.ssh/id_borg_ed25519 -p 22 -oStrictHostKeyChecking=yes " BORG_PASSPHRASE=”$(sudo yunohost app setting borg passphrase)" BORG_RELOCATED_REPO_ACCESS_IS_OK=yes BORG_REPO=“$(sudo yunohost app setting borg repository)” /var/www/borg/venv/bin/borg upgrade --show-rc --check-tam $BORG_REPO

Consult the linked documentation on how to interpret the result.

Dois-je faire une manipulation ? Ou je peux ignorer ?

Merci d’avance,

JM

Share relevant logs or error messages

Remarques suite à la mise à niveau

Borg pre-version 1.2.5 had CVE in archive format. One liner to check if you’re affected is:

sudo env BORG_RSH=“ssh -i /root/.ssh/id_borg_ed25519 -p 22 -oStrictHostKeyChecking=yes " BORG_PASSPHRASE=”$(sudo yunohost app setting borg passphrase)" BORG_RELOCATED_REPO_ACCESS_IS_OK=yes BORG_REPO=“$(sudo yunohost app setting borg repository)” /var/www/borg/venv/bin/borg upgrade --show-rc --check-tam $BORG_REPO

Consult the linked documentation on how to interpret the result.

Le lien est le suivant:
https://github.com/borgbackup/borg/blob/1.2.8/docs/changes.rst#pre-125-archives-spoofing-vulnerability-cve-2023-36811

Mais bon, je suis pas sûr que cela m’aide… en plus c’est pas traduit en fr!

JM

Comme indiqué dans le lien:
https://github.com/borgbackup/borg/blob/1.2.8/docs/changes.rst#pre-125-archives-spoofing-vulnerability-cve-2023-36811
J’ai essayé de faire un:

$ sudo borg check
sudo: borg: command not found

Donc, je ne comprends pas ce qu’il faut faire !??

JM

je pense que les commandes borg ne fonctionnent pas ainsi… elles sont maintenant isolées dans des environnements de l’app… donc la commande devrait être celle suggérée

sudo env BORG_RSH=“ssh -i /root/.ssh/id_borg_ed25519 -p 22 -oStrictHostKeyChecking=yes " BORG_PASSPHRASE=”$(sudo yunohost app setting borg passphrase)" BORG_RELOCATED_REPO_ACCESS_IS_OK=yes BORG_REPO=“$(sudo yunohost app setting borg repository)” /var/www/borg/venv/bin/borg upgrade --show-rc --check-tam $BORG_REPO

j’imagine…

pour lister les dépôts

app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " "$borg" list "$(yunohost app setting $app repository)" | less

Vérifier si info.json et db.sql sont biens présents dans nextcloud par exemple

app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg list "$(yunohost app setting $app repository)"::_auto_nextcloud-2024-xx-xx_xx:xx |grep info.json

app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg list "$(yunohost app setting $app repository)"::_auto_nextcloud-2024-xx-xx_xx:1xx |grep db.sql

J’ai donc essayé:

$ sudo env BORG_RSH=“ssh -i /root/.ssh/id_borg_ed25519 -p 22 -oStrictHostKeyChecking=yes " BORG_PASSPHRASE=”$(sudo yunohost app setting borg passphrase)" BORG_RELOCATED_REPO_ACCESS_IS_OK=yes BORG_REPO=“$(sudo yunohost app setting borg repository)” /var/www/borg/venv/bin/borg upgrade --show-rc --check-tam $BORG_REPO
env: ‘-i’: No such file or directory
$
$ sudo env BORG_RSH=“sudo ssh -i /root/.ssh/id_borg_ed25519 -p 22 -oStrictHostKeyChecking=yes " BORG_PASSPHRASE=”$(sudo yunohost app setting borg passphrase)" BORG_RELOCATED_REPO_ACCESS_IS_OK=yes BORG_REPO=“$(sudo yunohost app setting borg repository)” /var/www/borg/venv/bin/borg upgrade --show-rc --check-tam $BORG_REPO
hostname contains invalid characters
$
$ app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " "$borg" list "$(yunohost app setting $app repository)" | less
Error: yunohost command must be run as root or with sudo.
Error: yunohost command must be run as root or with sudo.
bash: : command not found
$
$ sudo su -
# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " "$borg" list "$(yunohost app setting $app repository)" | less
-bash: : command not found

Une autre idée ??

JM

Apparemment il faut être root auparavant,

sudo -i

et la première commande n’est pas bonne, pardon

app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg list "$(yunohost app setting $app repository)" | less

Pour appeler les commandes les commandes borg on utilise maintenant /var/www/${app}/venv/bin/borg

Si la connexion ssh au serveur borg est sur le port 22, pas besoin de l’ajouter, c’est celui par défaut de de ssh…

Oui, ça fonctionne… je viens de lancer un check… Mais je crois que cela va durer un moment !

JM

Sinon pour utiliser la commande borg, il faudrait créer un alias avant

# Get the path to the borg executable
alias borg="$(yunohost app setting $app install_dir)/venv/bin/borg"

Bonjour,

Le borg check:

# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg check "$(yunohost app setting $app repository)"

c’est exécuter sans erreur…

J’ai donc fait un:
borg upgrade --show-rc --check-tam $BORG_REPO

# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg upgrade --show-rc --check-tam "$(yunohost app setting $app repository)"
Manifest authentication setup OK for this client and this repository.
terminating with success status, rc 0
# 

Apparemment c’est Ok, et il faut continuer en 3:

If you get “Manifest authentication setup OK for this client and this repository.” and rc=0, continue with 3.

Et donc faire un:
borg upgrade --show-rc --check-archives-tam

# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg upgrade --show-rc --check-archives-tam "$(yunohost app setting $app repository)"
...
...
Archive TAM present: auto_roundcube-2024-12-20T00:07:43   Fri, 2024-12-20 00:07:50 [fe7e0377df0147d9da147bbf71a923aee9f16029206cf20c7a3e83d084d14fe6]
Archive TAM present: auto_thelounge-2024-12-20T00:08:38   Fri, 2024-12-20 00:08:44 [91e5ff43c312ec1c0f3351ff7b3c75a5e1ee455be7a780a56787711a1f4247b8]
Archive TAM present: auto_vaultwarden-2024-12-20T00:10:11 Fri, 2024-12-20 00:10:17 [0e5e4fdab184dab02725ec63dbca91375a1d13af08fcd407752610b1a01b6c23]
Archive TAM present: auto_vpnclient-2024-12-20T00:11:14   Fri, 2024-12-20 00:11:20 [1d33b5e0a3b427349648ffb9ae5ad26be3677c62aec6f9ab4d5449a4979d045f]
All archives are TAM authenticated.
terminating with success status, rc 0

Je passe donc à l’étape 4:
borg upgrade --archives-tam

# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg upgrade --archives-tam "$(yunohost app setting $app repository)"
...
...
Archive TAM present: auto_roundcube-2024-12-20T00:07:43   Fri, 2024-12-20 00:07:50 [fe7e0377df0147d9da147bbf71a923aee9f16029206cf20c7a3e83d084d14fe6]
Archive TAM present: auto_thelounge-2024-12-20T00:08:38   Fri, 2024-12-20 00:08:44 [91e5ff43c312ec1c0f3351ff7b3c75a5e1ee455be7a780a56787711a1f4247b8]
Archive TAM present: auto_vaultwarden-2024-12-20T00:10:11 Fri, 2024-12-20 00:10:17 [0e5e4fdab184dab02725ec63dbca91375a1d13af08fcd407752610b1a01b6c23]
Archive TAM present: auto_vpnclient-2024-12-20T00:11:14   Fri, 2024-12-20 00:11:20 [1d33b5e0a3b427349648ffb9ae5ad26be3677c62aec6f9ab4d5449a4979d045f]
All archives are TAM authenticated.

Donc, cela semble Ok… sauf que j’ai toujours l’encadré… dois-je considérer à ce stade que c’est Ok, et ignorer l’encadré ??

Bonne journée,

JM

Birarre…

Du coup j’ai vu un topic avec ces messages et il y avait une histoire de permissions des clés ssh, peut-être ??
C’était ici

Ou attendre voir su le message disparaît…

$ sudo cat /etc/yunohost/apps/borg/settings.yml |grep public_key
public_key: ssh-ed25519 AAAA**********************/************************************UR+0i

(J’ai volontairement mis des étoiles… dans le doute)

Cela semble normal ?

JM

Je pensais surtout juste à l’histoire des autorisations dans le topic dans les fichiers avec un chmod.

Sur ma YunoHost j’ai ça:

# ls -la /root/.ssh/
total 20
drwxrwxrwx 2 root root 4096 Dec 21  2022 .
drwx------ 9 root root 4096 Dec 20 12:26 ..
-rw------- 1 root root  399 Apr  9  2021 id_borg_ed25519
-rw-r--r-- 1 root root   95 Apr  9  2021 id_borg_ed25519.pub
-rw-r--r-- 1 root root  444 Dec 21  2022 known_hosts

Devais-je faire un:

chmod 700 /root/.ssh

??

Car j’aimerais autan que possible éviter de faire des conneries… Borg fonctionnant bien, excepté l’encadré!

JM

Je viens de faire la modif:

chmod 700 /root/.ssh

J’ai testé avec un borg list

# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " /var/www/${app}/venv/bin/borg list "$(yunohost app setting $app repository)"

cela fonctionne…
Mais, j’ai toujours à ce stade l’encadré…
J’ai donc exécuté un:

$ sudo systemctl start borg

Qui est en cours… Mais pas sûr que cela supprime l’encadré!

JM

Donc, je confirme… la sauvegarde borg manuelle c’est bien exécuté, et cela n’a pas supprimé l’encadré…

Cette histoire reste un secret… certainement que d’autres que moi ont la même alerte, ne ce manifestent pas, ou ne le savent pas!

JM

Pour le fichier /root.ssh OK, mais c’est pour tous les fichiers dans ce dossier ou finalement que root est utile.

chmod 600 /root/.ssh/know_hosts
chmod 600 /root/.ssh/id_borg_ed25519.pub`

Ceci dit ce n’est peut-être pas la raison non plus de l’encadré…

Ok! Fait!

JM

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.