Table des matières

, , ,

Installation de la bconsole

L’interfaçage avec l'orchestrateur de sauvegarde (service bareos-dir) se fait via la console bareos bconsole. Cette console est installée par défaut localement sur le serveur mais peut être installée sur n'importe quelle machine du réseau.

Installation sous Ubuntu

La documentation officielle propose des scripts pour ajouter le dépôt Bareos sous Ubuntu:

Depuis une console en root, ajouter le dépôt correspondant à la distribution et à la version souhaitée de Bareos:

DIST=xUbuntu_14.04
RELEASE=release/18.2
URL=http://download.bareos.org/bareos/$RELEASE/$DIST
 
printf "deb $URL /\n" > /etc/apt/sources.list.d/bareos.list
wget -q $URL/Release.key -O- | apt-key add -

Installer seulement la console:

sudo apt-get update
sudo apt-get install bareos-bconsole

Installation Windows

Les installateurs 32/64 bits sont disponibles à l'URL http://download.bareos.org/bareos/release/18.2/windows/

Configuration

Le fichier de configuration /etc/bareos/bconsole.conf contient au minimum la définition de la ressource Director avec les enregistrements (records) suivants obligatoires pour communiquer avec le Director:

Name UID du Director, plusieurs Directors peuvent être définis.
Address FQDN ou IP de l'hote à contacter hébergeant le service Director (bareos-dir)
Password Clé (ou hachage MD5) que doit présenter la console pour s'authentifier auprès du Director. La valeur a été définie dans le fichier de configuration du Director (/etc/bareos/bareos-dir.d/director/bareos-dir.conf) et doit être copiée ici.

Sans définition complémentaire, la console utilisée par défaut est la console d'administration. Pour utiliser une console restreinte, il faut créer la ressource côté Director (/etc/bareos/bareos-dir.d/console/ ) puis déclarer explicitement son utilisation ici via la déclaration d'une ressource Console

Ci-dessous un exemple de configuration pour une connexion avec la console d'administration

bconsole.conf
# Paramètres de connexion au Director
Director {
  Address = bareos.example.domain
  Name = "bareos-dir"
  Password = "[md5]33abbcfcf3eb25dda60038e776fc0ffe"
}

Exemple de configuration utilisant une console restreinte nommée “ma-console”:

bconsole.conf
# Paramètres de connexion au Director
Director {
  Address = bareos.example.domain
  Name = "bareos-dir"
  Password = "[md5]33abbcfcf3eb25dda60038e776fc0ffe"
}
 
# Console à utiliser
Console {
  Name = "ma-console"
  Password = "[md5]67ad078c8c99532829b70011bcbaba02"
}

Droits

Ajouter l'utilisateur au groupe bareos pour qu'il soit autorisé à lire le fichier de conf de la console.
# Ajoute l'utilisateur aUser au groupe bareos
sudo usermod --append -G bareos aUser 
 
# Définit temporairement bareos en groupe principal pour l'utilisateur courant (aUser)
newgrp bareos

Pare-feu

La bconsole doit pouvoir joindre le service director sur son port (par défaut 9101). Ci-dessous un exemple de règle temporaire avec nftables :

nft -ai

# Autorise la connexion sortante vers le director à l'adresse 192.168.0.10
add rule aTable aOutboundChain position 47 ct state new ip daddr 192.168.0.10 tcp dport 9101 log prefix "[FW] [ACCEPT] [RID=70] " level notice counter accept comment "Autorise console Bareos"

Les consoles restreintes

Il est possible de définir plusieurs consoles coté Director et de spécifier finement les commandes exécutables par chacune d'entre-elles.

Coté Director définir une ressource Console dans un fichier de configuration dédié dans le dossier /etc/bareos/bareos-dir.d/console

ma-console.conf
Console {
  Name = "ma-console"
  Password = "ExamplePassWord"
  JobACL = *all*
  StorageACL = storage01-sd
  ScheduleACL = *all*
  PoolACL = *all*
  # FileSetACL = "Restricted Client's FileSet"
  CatalogACL = MyCatalog
  CommandACL = list,show,estimate,status
}

Recharger la configuration puis vérifier que la configuration active du Director contient bien la console:

* reload
* show consoles

Tests

Tester la syntaxe du fichier de configuration:

bconsole -t

En cas d’échec de connexion, il est possible d'augmenter le niveau de verbosité via l'option -d (debug) avec 50 =< d =< 200:

bconsole -d 50

Les messages retournés par la commande sont présentés ci-dessous:

  1. Connecting to Director bareos.mairie.local:9101
  2. bconsole (50): lib/tls_openssl.cc:64-0 Preparing TLS_PSK CLIENT context for identity R_CONSOLE monitor
  3. bconsole (50): lib/crypto_openssl.cc:1579-0 jcr=0 Connect failure: ERR=error:140943FC:SSL routines:ssl3_read_bytes:sslv3 alert bad record mac
  4. bconsole (50): lib/bsock.cc:669-0 TLS negotiation failed
  5. Failed to connect to Director. Giving up.

Le Director est bien contacté:

Si plusieurs ressources Director ont été définies elles peuvent être listées avec l'option -l:

bconsole -l

Pour spécifier quelle connexion utiliser:

bconsole -D bareos-dir

Dépannages

Pas d’auto-complétion depuis les consoles restreintes

Sur les consoles restreintes, il faut explicitement autoriser les commandes disponibles. L’auto-complétion est fournie par des commandes spécifiques commençant par le caractère “.” Le guide du développeur Bareos fournit quelques informations concernant ces fonctions à l'URL https://docs.bareos.org/DeveloperGuide/api.html#dot-commands

Notamment:

.help Permettre l'auto-complétion sur les commandes autorisées.
.jobs Permettre l'auto-complétion sur les tâches.
.clients Permettre l'auto-complétion sur les clients Bareos.
.defaults Permettre l'auto-complétion sur les principales ressources

Références