Projet

Général

Profil

Tâche #31729

Scénario #31692: bareos-webui doit être fonctionnel sur etb1.scribe 2.8.1

Etude du problème

Ajouté par Arnaud FORNEROT il y a environ 3 ans. Mis à jour il y a environ 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Début:
22/02/2021
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Demandes liées

Bloqué par Distribution EOLE - Tâche #31772: Décider de ce qu'on fait du patch pour bareos-webui Fermé 09/03/2021

Historique

#1 Mis à jour par Arnaud FORNEROT il y a environ 3 ans

Avant de pouvoir utiliser l'interface pleinement il est nécessaire de lancer une configuration manuel de bareos

bareosconfig.py -s manual
bareosconfig.py -n --level Full

#2 Mis à jour par Arnaud FORNEROT il y a environ 3 ans

Sur etb1 effectivement une tonne de log.
Tout les micros seconde j'ai

[Mon Feb 22 16:58:18.928894 2021] [php7:notice] [pid 10493] [client 192.168.0.1:0] PHP Notice:  fwrite(): send of 26 bytes failed with errno=32 Broken pipe in /usr/share/bareos-webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php on line 219, referer: https://etb1.ac-test.fr/bareos-webui/

Je n'arrive même pas à me connecter
Je n'avais pas lancé la configuration manuel de bareos
J'ai killé ma page de connection mais les log continue

J'ai lancé la configuration de bareos
Reconfigure historie de killer le processus apache et stopper les log apache

Retentative de login mais avec la configuration bareos initialisée
La même chose impossible de se connecter et un log apache tt les micros seconde
restart d'apache pour stopper les logs

#3 Mis à jour par Arnaud FORNEROT il y a environ 3 ans

Tentative de bypasser l'amon en lançant firefox directement depuis le scribe et en navigant sur https://10.1.3.5/bareos-webui
Même constat

Si je trace les log nginx de l'amon durant la tentative de connexion, rien ne passe par l'amon.
Que cela soit en navigant directement dans le scribe, ou en navigant depuis un client externe.

En mettant des traces de debug dans/usr/share/bareos-webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php
On se rend compte que bareos ouvre un socket sur lui même
CONNECT TO = tcp://127.0.0.1:9101

Il arrive bien à le connecter
Il arrive bien à envoyer un premier message au socket et à récupérer le retour
SEND ="Hello bareos-webui calling version 20.0.0

L'étape suivant c'est le hash du password et c'est là que cela plante

      echo "PASSWORD = ".$password."<br>";
      echo "HASH = ".$msg."<br>";

      self::send($msg);
      echo "send password<br>";


PASSWORD = eole
HASH = J0Hli7kbSgk0aKhKJSgjWg

Avec un message
Notice: fwrite(): send of 26 bytes failed with errno=104 Connection reset by peer in /usr/share/bareos-webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php on line 220

Une foi la connexion reset c'est là qu'il boucle sur
Notice: fwrite(): send of 26 bytes failed with errno=32 Broken pipe in /usr/share/bareos-webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php on line 220

Donc pourquoi il y a reset de la connection ???
règle firewall ? indiquer le certif ? problème de host port mal configuré pour un scribe derrière un amon ?

ouvre.firewall = meme erreur
Tentatives de placer localhost plutôt que 127.0.0.1 dans le diradress = même erreur
Tentatives de placer l'ip 10.1.3.5 plutôt que 127.0.0.1 dans le diradress = même erreur

#4 Mis à jour par Arnaud FORNEROT il y a environ 3 ans

sur bareos via bconsole activation des log via
setdebug level=200 trace=1 dir

Sur tentative de connexion via webui j'ai la trace suivante dans /var/lib/bareos/scribe-dir.trace

scribe-dir (200): dird/stats.cc:149-0 statistics_thread: Doing work at 1614077756
scribe-dir (200): dird/stats.cc:153-0 statistics_thread: do nothing as no jobs are running
scribe-dir (100): lib/bsock.cc:84-0 Construct BareosSocket
scribe-dir (200): lib/bsock.cc:737-0 Identified from Bareos handshake: bareos-webui-R_CONSOLE recognized version: 20.0
scribe-dir (100): lib/configured_tls_policy_getter.cc:101-0 Could not find foreign tls resource: R_CONSOLE-bareos-webui
scribe-dir (100): lib/configured_tls_policy_getter.cc:122-0 Could not find foreign tls resource: R_CONSOLE-bareos-webui
scribe-dir (200): lib/try_tls_handshake_as_a_server.cc:58-0 Could not read out cleartext configuration
scribe-dir (100): lib/bsock.cc:136-0 Destruct BareosSocket

On voit bien que bareos kill le socket d'où l'erreur
Piste sur le tls du coup

#5 Mis à jour par Emmanuel GARETTE il y a environ 3 ans

  • Statut changé de Nouveau à Résolu
  • Assigné à mis à Arnaud FORNEROT
  • % réalisé changé de 0 à 100

#6 Mis à jour par Emmanuel GARETTE il y a environ 3 ans

Si on se connecte avec le bon nom d'utilisateur et mot de passe, pas de soucis :

bareoswebui_user="bareoswui" 
bareoswebui_password="eole" 

Par contre il y a une boucle infini si on se trompe de mot de passe.

#7 Mis à jour par Arnaud FORNEROT il y a environ 3 ans

Patch possible
dans /usr/share/bareos-webui/vendor/Bareos/library/Bareos/BSock/BareosBSock.php
dans la fonction send
remplacer

$send = fwrite($this->socket, $msg, $str_length);
if($send === 0) {

par

$send = fwrite($this->socket, $msg, $str_length);
if($send === 0 || !$send) {

#8 Mis à jour par Joël Cuissinat il y a environ 3 ans

OK, avec le patch proposé par Manu (https://bugs.bareos.org/view.php?id=1324), on obtient bien un message le message d'erreur suivant et les logs n'explosent pas :)

Sorry, can not authenticate. Wrong username and/or password.

#9 Mis à jour par Joël Cuissinat il y a environ 3 ans

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

Formats disponibles : Atom PDF