Outils pour utilisateurs

Outils du site


burp

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

burp [2018/06/14 11:44] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag>​backup veille}}
 +====== burp ======
 +
 +Logiciel de sauvegarde tout nouveau (2012/01) en mode client serveur, utilisant librsync et stockant uniquement les deltas. On a donc un utilitaire économe à la fois en bande passante et en espace de stockage. De plus, le client [[:​windows|windows]] support apparemment VSS.
 +
 +  - Gestion de la bande passante
 +  - Politique de rétention de données
 +  - Mise à jour auto du client
 +  - Programmation avancée
 +  - Chiffrement ssl des communications
 +
 +Par contre un logiciel libre dans toute sa splendeur, au regard de la pauvreté de la documentation
 +
 +==== Bugs et questions ====
 +=== Pb de restauration sur sgmo ===
 +
 +la restauration échoue sur quelques fichiers, toujours les même.
 +
 +Semble lié à des soucis réseau
 +
 +Fait:
 +  * changement version client et serveur
 +  * test sur différents répertoires
 +
 +A essayer: ​
 +  * essayer de lire directement les fichiers sur gelatine (pas gagné)
 +  * refaire une sauvegarde complète (au moins du répertoire avec des soucis)
 +  * tester restauration depuis un autre client
 +
 +=== erreur 500 quand on télécharge un zip sur frbackup.rotam.com ===
 +
 +
 +
 +
 +==== Serveur ====
 +Installer le paquet burp depuis https://​copr.fedorainfracloud.org/​coprs/​yopito/​burp2/​
 +
 +Éditer le fichier de conf // /​etc/​burp/​burp-server.conf //
 +
 +Supprimer le répertoire /​etc/​burp/​CA
 +
 +lancer la commande burp_ca --init
 +
 +Ouvrir les ports tcp/4971 et 4972
 +==== burp-ui ====
 +
 +Interface sexy et fonctionnelle. mais difficile à configurer
 +
 +=== installation ===
 +<​code>​
 +yum install python34-pip
 +pip3 install burp-ui
 +cp  /​usr/​share/​burpui/​etc/​burpui.sample.cfg /etc/burp/
 +
 +</​code>​
 +
 +On peut ensuite utiliser la commande //​bui-manage//​ setup_burp ou diag pour mettre au point/​vérifier l'​interaction entre les 2
 +
 +=== unit file ===
 +
 +<​code>​
 +cat /​etc/​systemd/​system/​bui.service ​                                                                                              
 +[Unit] ​                                                                                                                                              
 +Description=Burp User Interface
 +After=network.target burp.service
 +
 +[Service]
 +Type=simple
 +ExecStart=/​bin/​burp-ui
 +
 +[Install]
 +WantedBy=multi-user.target
 +</​code>​
 +
 +=== À creuser ===
 +
 +== Auth LDAP ==
 +
 +== ACL ==
 +
 +On peut associer des comptes utilisateurs à des machines
 +
 +=== Restauration ===
 +
 +Depuis l'​interface on peut exécuter une restauration sur place (non testé à ce jour 2018-04-19 ) ou télécharger un zip des fichiers.
 +
 +test 2018-04-19 chez [[:​clients:​sgmo]] : l'​archive récupérée n'est pas exploitable par windows explorer mais pas de problème avec 7-zip ou linux zip.
 +
 +chez [[:​clients:​rotam]] le téléchargement de fichier entraîne une erreur 500
 +
 +chez [[:​clients:​rotam]] la "​restauration depuis le serveur"​ est fonctionnelle. Il faut patienter quelques (dizaine de) minutes avant que les fichiers n'​apparaissent dans le répertoire choisi. Cette opération va déposer un fichier "​restore"​ dans le répertoire de donnée du client. La prochaine fois que burp va s'​exécuter sur ce dernier, la restauration va se faire.
 +<​code>​
 +cat restore
 +backup = 130
 +regex = ^E\:​\/​FranceFileSvr\/​France\ Public\/​EMME\ infos\/​2018\ Rotam\ \-\ Lagrange\ City\ Lyon\ Lumiere\.pdf$|^E\:​\/​FranceFileSvr\/​France\ Public\/​EMME\ infos\/​Process\ Fedex\.pptx$
 +strip = 3
 +restoreprefix = c:​\test_restauration
 +</​code>​
 +
 +==== Monitoring ====
 +
 +Le serveur peut être configuré pour envoyer des mails en cas de succès / échec
 +de sauvegarde et/ou restauration (paramètres //​notify_success_*//​ et
 +//​notify_failure_*//​)
 +
 +le monitoring peut se faire à partir de n'​importe quel client correctement
 +configuré.
 +
 +2 prérequis:
 +
 +  - le cname du client doit être listé dans la conf du serveur via la directive //​restore_client//​
 +  - le client doit pouvoir accéder au serveur
 +
 +La commande suivante permet d'​obtenir le statut:
 +<​code>​
 +burp -a s
 +</​code>​
 +
 +via une interface ncurses donnant la possibilité d'​afficher différentes informations sur les sauvegardes.
 +
 +On peut également via le moniteur récupérer de manière interactive l'​état des machines:
 +<​code>​
 +burp -a monitor
 +...
 +c:cafeine
 +{    "​clients":​ [
 +        {
 +            "​name":​ "​cafeine",​
 +            "​run_status":​ "​idle",​
 +            "​protocol":​ 1,
 +            "​backups":​ [
 +
 +            ]
 +        }
 +    ]
 +}
 +</​code>​
 +
 +==== Supervision ====
 +
 +2018-05-30 L'​étude de https://​github.com/​ktech-io/​zabbix-burp est en cours -> le
 +script proposé ne marche pas.
 +
 +Sinon on peut se baser sur une combinaison :
 +  * vérification du fichier timestamp dans le sous-répertoire current pour la
 +date de dernière backup
 +  * 
 +==== Client ====
 +
 +Normalement le client devrait être en mesure de demander un certificat au serveur, et l'​obtenir. Il suffit d'un fichier de configuration adéquat.
 +
 +configuration minimale:
 +  * server
 +  * cname
 +  * password
 +  * ssl_peer_cn
 +  * encryption_password (en clair dans le fichier de conf :/ )
 +
 +=== générer un certificat ===
 +
 +Sur le //serveur//
 +
 +Remarque: il semblerait que le client, s'il est bien configuré, peut générer, lors de la première connexion au serveur une demande de certificat qu'il n'y au ra plus qu'à signer.
 +
 +<​code>​
 +burp_ca ​ -k --name turbine
 +
 +burp_ca -r --name turbine
 +
 +burp_ca -s --ca gelatine.opendoor.fr --name turbine
 +</​code>​
 +
 +=== créer un fichier de conf client ===
 +
 +le //cname// est celui défini lors de la génération du certificat
 +
 +les directives //include// permettent de spécifier les répertoires à sauvegarder
 +
 +<​code>​
 +mode = client
 +port = 4971
 +server = 127.0.0.1
 +password = XXXX
 +cname = turbine
 +pidfile = /​var/​run/​burp.turbine.pid
 +syslog = 1
 +stdout = 0
 +progress_counter = 1
 +server_can_restore = 0
 +cross_all_filesystems=1
 +ca_burp_ca = /​usr/​sbin/​burp_ca
 +ca_csr_dir = /​etc/​burp/​CA-client
 +ssl_cert_ca = /​etc/​burp/​ssl_cert_ca.pem
 +ssl_cert = /​etc/​burp/​CA/​turbine.crt
 +ssl_key = /​etc/​burp/​CA/​turbine.key
 +ssl_key_password = password
 +ssl_peer_cn = burpserver
 +include = /​media/​Backups/​lettrine/​quotidien.0
 +exclude_fs = sysfs
 +exclude_fs = tmpfs
 +nobackup = .nobackup
 +exclude_comp=bz2
 +exclude_comp=gz
 +</​code>​
 +
 +=== Rajouter le client sur le serveur ===
 +
 +créer le fichier // /​etc/​burp/​clientconfdir/​turbine // contenant:
 +<​code>​
 +password= XXXX
 +directory=/​media/​backups/​turbine
 +</​code>​
 +
 +(le même mot de passe et le même nom que dans le fichier de conf du client)
 +
 +==== Client windows ====
 +
 +Installer le client. Attention de bien prendre la bonne architecture (x64 ou 32b)
 +
 +suivre les instructions d'​installation
 +
 +rajouter une configuration client sur le serveur
 +
 +<​del>​créer un certificat pour le client et l'​installer dans c:\program files\burp/​CA en tant que ssl_client_{client,​cert,​cert_ca}.pem</​del>​
 +
 +La création du certificat se fait automatiquement à la première connexion.
 +
 +
 +==== Planifier la sauvegarde ====
 +
 +Rajouter un cronjob qui exécute régulièrement ( ie ttes les 1/2h) un burp_client -c /​etc/​burp/​client.conf -a t
 +
 +Cela indique au client de communiquer régulièrement avec le serveur. Celui-ci décide en fonction de l'​heure (paramètres //​timer// ​ dans sa conf) et de la date de dernière sauvegarde s'il faut la démarrer.
 +
 +Par défaut les sauvegardes n'ont pas lieu en journée.
 +
 +==== lister le contenu d'une sauvegarde ====
 +
 +<​code>​
 +burp -c /​etc/​burp/​mail.conf -a L -b #
 +</​code>​
 +
 +on peut toujours spécifier via le flag -C la machine dont on veut lister les sauvegardes.
 +
 +
 +==== restaurer une sauvegarde ====
 +
 +=== depuis le client ====
 +<​code>​
 +burp -a r -b [c|#] -r regex_rep_a_restaurer -d rep_destination
 +</​code>​
 +
 +On peut omettre le répertoire de destination,​ auquel cas la restauration se fera à l'​emplacement d'​origine
 +
 +=== depuis une autre machine ===
 +
 +Prérequis:
 +  * client burp
 +  * config client (celle-ci peut normalement être récupérée via [[:​etckeeper]]
 +
 +  - récupérer la configuration
 +  - adapter la configuration (notamment chemins vers certificat)
 +  - utiliser client burp en utilisant l'​option -c pour utiliser le fichier de conf adéquat.
 +==== Ce qui va moins bien ====
 +
 +Échec de la 1ère sauvegarde: on repart à 0 ! pas si on positionne correctement //​working_dir_recovery_method=resume//​
 +
 +débit réseau très faible
 +
 +
 +==== Supprimer un client ====
 +
 +Il faut révoker le certificat puis le supprimer.
 +
 +Voir la procédure adéquate: http://​burp.grke.org/​docs/​add-remove.html
 +
 +# vim: set filetype=dokuwiki:​
  
burp.txt · Dernière modification: 2018/06/14 11:44 (modification externe)