Tâche #31729
Scénario #31692: bareos-webui doit être fonctionnel sur etb1.scribe 2.8.1
Etude du problème
100%
Demandes liées
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