Logo Khaganat

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
fr:burp [2020/12/16 11:00]
zatalyz stupide, stupide.
fr:burp [2020/12/25 09:45] (Version actuelle)
zatalyz [Peer exiting] ho la coquille
Ligne 10: Ligne 10:
 Les principes généraux de la sauvegarde d'un serveur sont dans l'​article [[fr:​sauver_serveur]].</​WRAP>​ Les principes généraux de la sauvegarde d'un serveur sont dans l'​article [[fr:​sauver_serveur]].</​WRAP>​
  
 +<WRAP center round info 60%>
 +Trop de blabla ? La version courte de cet article est sur [[fr:​burp-rapide]].
 +</​WRAP>​
 ===== Burp, le logiciel de base ===== ===== Burp, le logiciel de base =====
  
Ligne 36: Ligne 39:
 En lojban, Blanu veut dire "​bleu"​ et Xunre "​rouge"​ ;-) En lojban, Blanu veut dire "​bleu"​ et Xunre "​rouge"​ ;-)
 </​WRAP>​ </​WRAP>​
 +<WRAP center round tip 90%>
 +Astuce n°2 : Un backup, c'est trop peu !
 +
 +Si, dans ce tutoriel, on va surtout détailler comment Blanu est sauvegardé sur Xunre, nous allons aussi envisager qu'un autre serveur de backup existe, Crino ("​vert"​ en lojban). Crino fera aussi une sauvegarde de Blanu, en utilisant les mêmes mécanismes que Xunre. Mais comme il y a envoi de deux copies à deux serveurs, cela demande d'​adapter l'​architecture pour s'y retrouver ! 
 +
 +Ainsi, la configuration dans Blanu pour l'​envoie vers Xunre sera dans ''/​etc/​burp/​xunre'',​ et celle pour Crino dans ''/​etc/​burp/​crino''​.
 +</​WRAP>​
 +
  
 ==== Paramétrer les fichiers de client ==== ==== Paramétrer les fichiers de client ====
Ligne 41: Ligne 52:
  
 Burp permet beaucoup de choses et ce fichier, abondamment commenté, donne un aperçu des possibilités. Burp permet beaucoup de choses et ce fichier, abondamment commenté, donne un aperçu des possibilités.
 +
 +Sur Blanu, nous allons copier ce fichier dans le dossier ''/​etc/​burp/​xunre/​burp.conf''​. ​
  
 Nous allons faire simple et modifier uniquement les lignes suivantes : Nous allons faire simple et modifier uniquement les lignes suivantes :
Ligne 46: Ligne 59:
   * ''​password = abcd''​ => mot de passe qui va servir à ce que Xunre et Blanu échangent. Générez un bon mot de passe !   * ''​password = abcd''​ => mot de passe qui va servir à ce que Xunre et Blanu échangent. Générez un bon mot de passe !
   * ''​cname = machin''​ => ça identifiera les sauvegardes comme venant du client machin. Donc mettez ''​xunre''​ sur le serveur Xunre, et ''​blanu''​ sur le serveur Blanu !   * ''​cname = machin''​ => ça identifiera les sauvegardes comme venant du client machin. Donc mettez ''​xunre''​ sur le serveur Xunre, et ''​blanu''​ sur le serveur Blanu !
-  * ''​ssl_peer_cn = burpserver''​ => cela doit être le même nom que ce qui est configuré dans le fichier ''/​etc/​burp/​burp-server.conf''​ sur le serveur de sauvegarde (donc Xunre). Vous pouvez laisser la configuration par défaut.+  * ''​ssl_peer_cn = burpserver''​ => cela doit être le même nom que ce qui est configuré dans le fichier ''/​etc/​burp/​burp-server.conf''​ sur le serveur de sauvegarde (donc Xunre). Vous pouvez laisser la configuration par défaut ​sur Xunre, ou bien l'​appeler ''​xunreserver''​.
   * ''​include = /​home''​ => Indiquez les dossiers à inclure dans la sauvegarde. On peut exclure certains dossiers aussi, ou certaines extensions, expressions régulières. Par défaut, c'est le /home qui est sauvegardé,​ adaptez le chemin.   * ''​include = /​home''​ => Indiquez les dossiers à inclure dans la sauvegarde. On peut exclure certains dossiers aussi, ou certaines extensions, expressions régulières. Par défaut, c'est le /home qui est sauvegardé,​ adaptez le chemin.
  
-Sur la machine client (Blanu), ​pour le momentc'est tout !+Sur la machine client (Blanu), ​nous allons mettre ​le certificat dans notre dossier ''/​etc/​burp/​xunre/''​ (ils seront automatiquement généré au premier contact avec xunre). Doncmodifiez les lignes suivantes :  
 +<​code>​ 
 +ca_burp_ca = /​usr/​sbin/​burp_ca 
 +ca_csr_dir = /​etc/​burp/​xunre/​CA-client 
 +ssl_cert_ca = /​etc/​burp/​xunre/​ssl_cert_ca.pem 
 +ssl_cert = /​etc/​burp/​xunre/​ssl_cert-client.pem 
 +ssl_key = /​etc/​burp/​xunre/​ssl_cert-client.key 
 +# Attention celui-ci doit être le même nom côté serveur et client ! 
 +ssl_peer_cn = xunreserver 
 +</​code>​ 
 + 
 +C'est tout pour le moment sur Blanu, il faut configurer un peu Xunre pour aller plus loin.
  
 === Ports, hyperviseurs,​ etc === === Ports, hyperviseurs,​ etc ===
Ligne 70: Ligne 94:
 Si ce n'est pas fait, lors d'une sauvegarde, on aura l'​erreur suivante : Si ce n'est pas fait, lors d'une sauvegarde, on aura l'​erreur suivante :
  
-  2019-06-09 08:18:19: burp[24782] Could not find ssl_cert /​etc/​burp/​ssl_cert-client.pem:​ No such file or directory +  2019-06-09 08:18:19: burp[24782] Could not find ssl_cert /etc/burp/xunre/​ssl_cert-client.pem:​ No such file or directory 
-  2019-06-09 08:18:19: burp[24782] Could not find ssl_key /​etc/​burp/​ssl_cert-client.key:​ No such file or directory +  2019-06-09 08:18:19: burp[24782] Could not find ssl_key /etc/burp/xunre/​ssl_cert-client.key:​ No such file or directory 
-  2019-06-09 08:18:19: burp[24782] Could not find ssl_cert_ca /​etc/​burp/​ssl_cert_ca.pem:​ No such file or directory+  2019-06-09 08:18:19: burp[24782] Could not find ssl_cert_ca /etc/burp/xunre/​ssl_cert_ca.pem:​ No such file or directory
  
 == Cas d'un client envoyant vers un serveur dans une VM == == Cas d'un client envoyant vers un serveur dans une VM ==
Ligne 103: Ligne 127:
 ca_server_name = burpserver ca_server_name = burpserver
 ca_burp_ca = /​usr/​sbin/​burp_ca</​code>​ ca_burp_ca = /​usr/​sbin/​burp_ca</​code>​
 +
 +<WRAP center round important 60%>
 +Si le client a comme valeur ​
 +  ssl_peer_cn = xunreserver
 +Alors le serveur doit avoir la valeur
 +  ca_server_name = xunreserver
 +</​WRAP>​
  
  
Ligne 111: Ligne 142:
   restore_client = blanu   restore_client = blanu
  
-Enregistrez, savourez.+Enregistrez.
  
-Il faut encore déclarer ailleurs les détails du ou des clients à sauver. Chaque client est représenté par un fichier dans ''/​etc/​burp/​clientconfdir/'',​ sur le serveur (Xunre). On crée donc un fichier ''/​etc/​burp/​clientconfdir/​Machin'',​ dans lequel on renseigne la même chose que pour cname et password dans la config des clients. <wrap important>​Attention,​ il faut paramétrer le client local même si on n'a pas prévu de s'en servir</​wrap>​ ; ici, ce sera le fichier ''/​etc/​burp/​clientconfdir/​xunre'',​ en plus de ''/​etc/​burp/​clientconfdir/​blanu''​.+Il faut encore déclarer ailleurs les détails du ou des clients à sauver. Chaque client est représenté par un fichier dans ''/​etc/​burp/​clientconfdir/'',​ sur le serveur (Xunre). On crée donc un fichier ''/​etc/​burp/​clientconfdir/​Machin'',​ dans lequel on renseigne la même chose que pour cname et password dans la config des clients. <wrap important>​Attention,​ il faut paramétrer le client local sur Xunre; ​même si on n'a pas prévu de s'en servir</​wrap>​ ; ici, ce sera le fichier ''/​etc/​burp/​clientconfdir/​xunre'',​ en plus de ''/​etc/​burp/​clientconfdir/​blanu''​. 
 +  sudo nano /​etc/​burp/​clientconfdir/​blanu
  
-Le contenu minimal du fichier ressemble à ça :+Le contenu minimal du fichier ressemble à ça (en mettant le bon mot de passe) ​:
 <​code>​cname = blanu <​code>​cname = blanu
 password = abcd</​code>​ password = abcd</​code>​
Ligne 124: Ligne 156:
  
 Sur chacun des serveurs, lancer la commande suivante, qui va vérifier que tout se passe bien, sans rien écrire (cela liste les sauvegardes,​ aussi, quand il y en a) : Sur chacun des serveurs, lancer la commande suivante, qui va vérifier que tout se passe bien, sans rien écrire (cela liste les sauvegardes,​ aussi, quand il y en a) :
-  sudo burp -a l+  sudo burp -c /​etc/​burp/​xunre/​burp.conf ​-a l
  
 S'il n'y a pas d'​erreur SSL ou autre, c'est le moment de faire un backup à la main (à lancer dans screen/tmux parce que ça peut être long !) : S'il n'y a pas d'​erreur SSL ou autre, c'est le moment de faire un backup à la main (à lancer dans screen/tmux parce que ça peut être long !) :
-  sudo burp -a b+  sudo burp -c /​etc/​burp/​xunre/​burp.conf ​-a b 
 + 
 +Explication : 
 +  * ''​-c /​etc/​burp/​xunre/​burp.conf''​ : indique le fichier de configuration à prendre en compte, ici celui qui enverra vers xunre. 
 +  * ''​-a l''​ : littéralement "​action list". Va vérifier l'​état du bazar sans rien écrire. Permet donc de voir si ça va bien se passer. 
 +  * ''​-a b''​ : littéralement "​action backup"​. Lance un backup classique.
  
 Pour vérifier les sauvegarde d'un client externe, par exemple, sur Xunre, vérifier qu'on a bien les sauvegardes de Blanu : Pour vérifier les sauvegarde d'un client externe, par exemple, sur Xunre, vérifier qu'on a bien les sauvegardes de Blanu :
Ligne 133: Ligne 170:
  
 ==== Réaliser les sauvegardes régulières ==== ==== Réaliser les sauvegardes régulières ====
-<WRAP center round todo 60%> +Cela fonctionne ​juste avec cron.
-Partie à améliorer : juste un cron ? un démon en plus ? seul ? quoi, où ?  +
-</​WRAP>​+
  
 === Côté client (Blanu) === === Côté client (Blanu) ===
Ligne 144: Ligne 179:
  
 Pour le client : Pour le client :
-<​code>​20 4 * * * root /​usr/​sbin/​burp -a t -q 1200 >>/​var/​log/​burp-client 2>&​1</​code>​+<​code>​20 4 * * * /​usr/​sbin/​burp ​-c /​etc/​burp/​xunre/​burp.conf ​-a t -q 1200 >>/​var/​log/​burp-client 2>&​1</​code>​
   * ''​20 4 * * *''​ le client se lance toutes les 20 minutes. Cela permet de sauvegarder régulièrement dans la journée (moins de delta à envoyer d'un coup).   * ''​20 4 * * *''​ le client se lance toutes les 20 minutes. Cela permet de sauvegarder régulièrement dans la journée (moins de delta à envoyer d'un coup).
   * ''​-a''​ pour "​action",​ ''​t''​ pour "timed backup"​. ​   * ''​-a''​ pour "​action",​ ''​t''​ pour "timed backup"​. ​
Ligne 151: Ligne 186:
  
 Si vous envoyez les sauvegardes à un second serveur, vous pouvez ajouter la ligne suivante : Si vous envoyez les sauvegardes à un second serveur, vous pouvez ajouter la ligne suivante :
-<​code>​20 4 * * *      ​root ​   ​/​usr/​sbin/​burp -c /etc/burp/burp_2sauvgarde.conf -a t -q 1200 >>/​var/​log/​burp_2sauvgarde 2>&​1</​code>​ +<​code>​20 4 * * * /​usr/​sbin/​burp -c /etc/burp/crino/borg.conf -a t -q 1200 >>/​var/​log/​burp_2sauvgarde 2>&​1</​code>​ 
-  * ''​-c /etc/burp/burp_2sauvgarde.conf''​ indique un autre fichier de configuration à prendre en compte (cf [[fr:​burp#​sauvegarder_sur_un_2eme_servers|plus bas]]pour les détails) ​+  * ''​-c /etc/burp/crino/borg.conf''​ indique un autre fichier de configuration à prendre en compte (cf [[fr:​burp#​sauvegarder_sur_un_2eme_servers|plus bas]]pour les détails)
  
 Voici à quoi devrait ressembler votre cron pour la partie concernant Burp : Voici à quoi devrait ressembler votre cron pour la partie concernant Burp :
 <​code>​ <​code>​
 # CLIENT Burp # CLIENT Burp
-20 4 * * * root /​usr/​sbin/​burp -a t -q 1200 >>/​var/​log/​burp-client 2>&1+20 4 * * * /​usr/​sbin/​burp ​-c /​etc/​burp/​xunre/​burp.conf ​-a t -q 1200 >>/​var/​log/​burp-client 2>&1
  
 # Si vous avez du mysql ou autre BDD, pensez au script ​ # Si vous avez du mysql ou autre BDD, pensez au script ​
 00 1 * * * /​home/​user/​script/​mysqlbackup.sh 00 1 * * * /​home/​user/​script/​mysqlbackup.sh
 </​code>​ </​code>​
 +
 +<WRAP center round todo 60%>
 +Faire un lien vers le script de mysql backup.
 +</​WRAP>​
 +
  
 === Côté serveur (Xunre) === === Côté serveur (Xunre) ===
  
-Votre crontab reprend les mêmes éléments côté client mais ajoute des éléments côté serveur+Votre crontab reprend les mêmes éléments côté client mais ajoute des éléments côté serveur ​pour s'​assurer que tout va bien (pensez à changer l'​email et à vous assurer que votre serveur sait envoyer des mails) :
 <​code>#​ SERVER Burp <​code>#​ SERVER Burp
 # Envoie un résumé à 6h (donc, tous les jours). # Envoie un résumé à 6h (donc, tous les jours).
-0 6 * * * root    ​/etc/burp/​send_summary /etc/burp/burp-server.conf youremail@example.com "Daily backup summary"​+0 6 * * * /usr/sbin/burp -a S | mail -s "​Résumé des backup"​ admin@mon email.com
  
 # The following will run file deduplication over all client storages every # The following will run file deduplication over all client storages every
 # Saturday at 8 in the morning. Again, if your server is using a different # Saturday at 8 in the morning. Again, if your server is using a different
 # config file to /​etc/​burp/​burp-server.conf,​ change that argument. # config file to /​etc/​burp/​burp-server.conf,​ change that argument.
-#0 8 * * 6 root    ​/​usr/​sbin/​bedup -l -c /​etc/​burp/​burp-server.conf >>/​var/​log/​burp-bedup 2>&1+#0 8 * * 6 /​usr/​sbin/​bedup -l -c /​etc/​burp/​burp-server.conf >>/​var/​log/​burp-bedup 2>&1 
 +</​code>​
  
 +<WRAP center round todo 60%>
 +Cette partie serait à améliorer : envoyer un mail s'il y a un souci, plutôt ? 
  
-30 1 * * * /home/​khaganat/​mybackup/​balai.sh ​+La déduplication,​ j'ai pas tout compris, et ça semble plutôt se paramétrer dans le fichier de conf, mais je laisse le code (commenté) pour qui pourra comprendre. 
 +</WRAP>
  
-</​code>​ 
 ==== Restaurer une sauvegarde ==== ==== Restaurer une sauvegarde ====
 Si on veut contrôler, on peut décompresser une archive dans un dossier temporaire sur le serveur (option ''​-d /​chemin/''​). Si on veut contrôler, on peut décompresser une archive dans un dossier temporaire sur le serveur (option ''​-d /​chemin/''​).
Ligne 200: Ligne 243:
   burp -ar -C nom_du_client   burp -ar -C nom_du_client
   ​   ​
-==== Sauvegarder sur un 2eme servers ​==== +==== Sauvegarder sur un deuxième serveur ​==== 
-Faire une copie du fichier de configuration client pour le deuxième ​server+Faire une copie du fichier de configuration client pour le deuxième ​serveur, Crino 
-  cp /​etc/​burp/​burp.conf /​etc/​burp/​burp-2sauvgarde.conf +  cp /​etc/​burp/​burp.conf /etc/burp/crino/​burp.conf 
-  nano /​etc/​burp/​burp-2sauvgarde.conf+  nano /etc/burp/crino/burp.conf
  
-Changer ​IP, nom, mdp +Changer ​l'​adresse du serveurle mdp, peut-être le nom du client pour ne pas s'​emmêler les pinceaux ? Ainsi que l'​emplacement du certificat. 
-  server = IP 2eme server +<​code>​ 
-  password = ******* +server = crino 
-  cname = client_blabla+password = ******* 
 +cname = blanucrino
  
-Changer l'​emplacement du certificat du 2eme server +ca_burp_ca = /​usr/​sbin/​burp_ca 
-  # Uncomment the following lines to automatically generate a certificate signing +ca_csr_dir = /etc/burp/crino/CA-client 
-  # request and send it to the server. +ssl_cert_ca = /​etc/​burp/​crino/​ssl_cert-client_ca.pem 
-  ​ca_burp_ca = /​usr/​sbin/​burp_ca +ssl_cert = /​etc/​burp/​crino/​ssl_cert-client.pem 
-  ca_csr_dir = /etc/burp/server2/CA-client_blabla+ssl_key = /​etc/​burp/​crino/​ssl_cert-client.key
  
-  # SSL certificate authority - same file on both server and client +ssl_peer_cn = crino 
-  ​ssl_cert_ca = /etc/burp/ssl_cert-client_ca_blabla.pem+</code>
  
-  # Client SSL certificate +Crino (côté second serveur, donc), doit avoir son nom en rapport pour le certificat : 
-  ​ssl_cert ​/​etc/​burp/​ssl_cert-client_blabla.pem+  ​ca_server_name ​crino
  
-  # Client SSL key +Lancer la commande de vérification ​depuis Blanu 
-  ssl_key = /​etc/​burp/​ssl_cert-client_blabla.key +  burp -c /etc/burp/crino/burp.conf -a l
- +
-Changer le nom du server +
-  ssl_peer_cn = server2 +
- +
-Ne pas oublier de changer le nom sur le server: +
-  ca_server_name = server2 +
- +
-Lancer la commande de vérification:​ +
-  burp -c /​etc/​burp/​burp-2sauvgarde.conf -a l+
   ​   ​
 Pour lancer une sauvgarde manuellement:​ Pour lancer une sauvgarde manuellement:​
-  burp -c /​etc/​burp/​burp-2sauvgarde.conf -a b+  burp -c /etc/burp/crino/burp.conf -a b
  
-=====Burp-ui , interface web=====+===== Burp-ui , interface web =====
 L'​interface web peut simplifier certaines opérations et c'est plus visuel. Cependant il faudra quand même paramétrer proprement Burp en amont. L'​interface web peut simplifier certaines opérations et c'est plus visuel. Cependant il faudra quand même paramétrer proprement Burp en amont.
- + 
 +<WRAP center round todo 60%> 
 +Cette partie n'est pas assez testée, on n'a pas encore fait marcher ce truc. 
 +</​WRAP>​ 
 ====Installation de Burp-ui==== ====Installation de Burp-ui====
 Voir https://​burp-ui.readthedocs.io/​en/​latest/​installation.html Voir https://​burp-ui.readthedocs.io/​en/​latest/​installation.html
Ligne 348: Ligne 387:
  
 Ici aussi, tuez le processus ET supprimez le certificat actuel : Ici aussi, tuez le processus ET supprimez le certificat actuel :
-  sudo /etc/burp/rm ssl_cert-*+  sudo rm /​etc/​burp/​ssl_cert*
  
 En relançant la commande, cela le régènerera. En relançant la commande, cela le régènerera.
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/burp.1608116428.txt.gz · Dernière modification: 2020/12/16 11:00 par zatalyz

Licences Mentions légales Accueil du site Contact