CoffeeITWorks.ansible_burp2_server

Démarrage

Consultez la documentation ajoutée à :

https://github.com/CoffeeITWorks/ansible-generic-help#getting-started

Liste complète des rôles : https://github.com/grke/burp/wiki/Automated-deploy-and-maintenance

Tests

Molecule

Démarrage rapide

Installer ansible sur votre machine de contrôle (voir démarrage). Installer python-minimal (pour Ubuntu 16.04+) sur la machine distante (ou en local si vous utilisez ansible localement).

Copier l'inventaire d'exemple et les fichiers : https://github.com/CoffeeITWorks/ansible-generic-help/tree/master/example1 (Vous pouvez télécharger le dépôt et copier le dossier example1.)

Voir aussi Quickstart.md

Exemple de playbook

---

- name: serveurs burp2
  become: yes
  become_method: sudo
  # environment: "{{ proxy_env }}"  # exemple d'utilisation derrière un proxy
  hosts: burp2_servers
  # Définissez la liste des serveurs et ajoutez des balises pour pouvoir filtrer l'appel à une balise :
  roles:
    - role: coffeeitworks.burp2_server
      tags:
        - "burp2_server_all"
        - "burp2_server"

Installez ce rôle, exemple :

ansible-galaxy install -r requirements.yml
- téléchargement du rôle 'burp2_server', possédé par CoffeeITWorks
- téléchargement du rôle depuis https://github.com/CoffeeITWorks/ansible_burp2_server/archive/master.tar.gz
- extraction de coffeeitworks.burp2_server dans /home/pablo/.ansible/roles/coffeeitworks.burp2_server
- coffeeitworks.burp2_server (master) installé avec succès

Modifiez l'adresse IP dans inventory/test.

Exécutez ansible-playbook :

ansible-playbook -i inventory/ roles.burp2_servers.yml -v -u pablo --ask-pass

Plus tard, vous pourrez personnaliser certaines variables en ajoutant vos propres valeurs dans les variables group_vars ou host_vars.

Exigences

Installez ce rôle si vous souhaitez l'utiliser avec CentOS > 8

- src: https://github.com/robertdebock/ansible-role-powertools
  name: ansible-role-powertools

Nom du rôle

Rôle de déploiement et de maintenance d'ansible burp2_server.

Ce rôle construit la version de burp spécifiée dans defaults/main.yml. Il la configure également pour la faire fonctionner et la maintenir de manière centralisée.

Voir FEATURES.md

Installation de ce rôle


Installez le rôle sur le système :

ansible-galaxy install coffeeitworks.burp2_server

Consultez plus d'informations à : https://github.com/CoffeeITWorks/ansible-generic-help#installing-roles

Exigences

Préparation des variables


Nous avons un inventaire et un playbook pour appeler les rôles, mais nous devons personnaliser les variables avant d'exécuter le playbook.

Ici, nous organiserons les fichiers de variables dans le répertoire group_vars :

mkdir -p group_vars/burp2_servers

À l'intérieur, vous pouvez ajouter un fichier avec le nom du groupe ou de l'hôte où vous souhaitez ajouter des options spécifiques à ce rôle.

Exemple de fichier group_vars/burp2_servers/burp2_server_vars.yml

Vérifiez également toutes les variables dans defaults/main.yml que vous pouvez remplacer par vos host/group_vars.

Variables du rôle : liste complète des modules

Modules


Configurer l'agent Burp UI

L'agent burp-ui a été déplacé vers un autre rôle : https://github.com/CoffeeITWorks/ansible_burpui_agent

Il est fortement recommandé d'utiliser burpui-agent avec python3. Si vous connaissez un rôle pour ajouter python3/pip3 sur centos, veuillez me contacter pour mettre à jour cette information.

Configurer la suppression manuelle de Burp

(Activé par défaut)


 burp_manual_delete_enabled: true

Configurer la mise à jour automatique de Burp

(Activé par défaut)


 burp_server_autoupgrade_enabled: true

Port par opération

(Activé par défaut)


Depuis la version 2.1.10

burp_server_port_per_operation_bool: true

# Variables optionnelles par défaut à modifier :
# Ces variables ne nécessitent pas de modification, mais montrent ici les
# valeurs par défaut que nous avons dans defaults/main.yml
burp_server_port_operation_restore: 4975
burp_server_port_operation_verify: 4976
burp_server_port_operation_list: 4977
burp_server_port_operation_delete: 4978

Cette option configurera /etc/burp/burp.conf pour burp-ui-agent lorsqu'il est utilisé avec burp_module_agent: true pour améliorer les performances de burp-ui.

Vérifiez également burp_server_ports_per_operation: dans defaults/main.yml pour changer max_children par opération.

Activer les clients depuis le dépôt git


Exemple :

 burp_repos:
  - { repo: "http://host/group/repo.git", version: "master", dir: "linux_clients"}

Vous avez juste besoin de fichiers par client, exemple :

  • contenu du fichier client1 :

    password = clientpassword dedup_group = trusty . incexc/profile_lnxsrv

Ajouter des clients depuis une liste


Liste optionnelle de clients à ajouter lors d'une exécution spécifique

burp2_add_manual_clients:
  - name: client_name
    profile: nom du profil à utiliser (optionnel), par défaut : profile_lnxsrv (ces fichiers se trouvent dans le dossier incexc/).
    password: mot de passe_client (optionnel), par défaut : burp_client_password var
  - name: second_client

Vous pouvez l'utiliser comme une liste fixe ou dynamique en le spécifiant lors de l'exécution de la commande ansible-playbook :

http://docs.ansible.com/ansible/playbooks_variables.html#passing-variables-on-the-command-line

Exemple utilisant une variable en format json en ligne de commande :

--extra-vars '{ "burp2_add_manual_clients": [ { "name": "test_manual" }, { "name": "test_manual2", "profile": "profile_win6x" } ] }'

Cela créera les fichiers :


ansible@ubuntuburp2:~$ cat /etc/burp/clientconfdir/test_manual2
# Géré par Ansible

password = password

# D'autres fichiers de configuration peuvent être lus, en utilisant la syntaxe suivante
# (sans le '# ').
. incexc/profile_win6x
ansible@ubuntuburp2:~$ cat /etc/burp/clientconfdir/test_manual
# Géré par Ansible

password = password

# D'autres fichiers de configuration peuvent être lus, en utilisant la syntaxe suivante
# (sans le '# ').
. incexc/profile_lnxsrv

Configurer vos propres profils


Vérifiez le fichier defaults/main.yml, pour copier le contenu et créer vos propres profils avec profiles_templates var.

Un petit exemple :

# Voir aussi les fichiers/incexc, ceux de ce dépôt sont copiés dans /etc/burp/clientconfdir/incexc
# Ce modèle crée chaque modèle dans : /etc/burp/clientconfdir/incexc/name
profiles_templates:

  - name: profile_lnxsrv
    content:
      - "#hard_quota Ne pas autoriser les sauvegardes aux clients avec plus de xxGb dans la sauvegarde totale"
      - "#hard_quota Do not allow to backup clients with more than xxGb in the whole backup"
      - "hard_quota=65Gb"
      - ""
      - "#soft_quota envoyer WARNING aux sauvegardes de clients avec plus de xxGb dans la sauvegarde totale"
      - "#soft_quota send WARNING to backups clients with more than xxGb in the whole backup"
      - "soft_quota=50Gb"
      - ""
      - ". lnxsrv_global_inclusions"
      - ". lnxsrv_global_exclusions"
      - ". compressed_exclusions"
      - ". audio_compressed_exclusions"
      - ". generic_excluded_extensions"
      - ""
      - "cross_all_filesystems=1"
      - "dedup_group = lnxsrv"

Ajouter vos propres lignes à burp-server.conf


burp_server_custom_lines:
- "someextra=line"

Voir https://burp.grke.org/docs/manpage.html

Supprimer des clients d'une liste


Il existe désormais une fonctionnalité pour vous permettre de supprimer un client d'une liste, la variable utilisée est :

burp_remove_clients:
  - name: client_to_remove
  - name: other_client_to_remove

Vous pouvez utiliser cette variable dans un fichier de variable statique comme : group_vars, ou au moment de l’exécution. Exemple :

ansible-playbook --extra-vars '{ "burp_remove_clients": [ { "name": "test_manual" }, { "name": "test_manual2" } ] }' -i inventory roles.burp_servers.yml -u user -k

Dépendances

Services


Vous pouvez choisir entre [systemd, supervisor, systemd_unprivileged] en utilisant la variable :

burp_sv_type: systemd

Toutes les installations systemd installent le service 'burp-server' avec ce nom. Vous pouvez utiliser systemctl start/stop burp-server pour contrôler le service.

Pour contrôler le service avec supervisor, utilisez ce qui suit

Pour redémarrer les services/daemons installés, vous devez utiliser :

sudo supervisorctl restart buiagent/burp-server/burp-restore  (selon le service que vous souhaitez redémarrer)

Vous pouvez également utiliser la commande shell de supervisorctl :

sudo supervisorctl

Et ensuite utiliser toutes les options de manière interactive.

Logs :

Supervisord permet également la redirection des sorties stdout et stderror vers les logs, donc tous les logs sont sous /var/logs/supervisor.

Les logs sont également automatiquement tournés par logrotate.

Mettre à niveau votre OS

Veuillez noter qu'après avoir mis à jour votre distribution Linux, il est très recommandé de compiler et d'installer à nouveau burp si vous utilisez une version compilée de burp avec ce rôle.

Exemple à exécuter une fois :

ansible-playbook -i production burp-servers.yml -l client -e "burp_force_reinstall=yes"

La variable burp_force_reinstall: yes s'en chargera pour vous.

Licence

MIT

Informations sur l'auteur

Ce rôle a été créé par Diego Daguerre avec la collaboration de Pablo Estigarribia (pablodav@gmail.com) Le développeur principal actuel est Pablo Estigarribia.

Sauvegarde et restauration Burp

Page principale : http://burp.grke.org/

Tester la branche principale

Il suffit désormais de modifier cela en variables de groupe/hôte :

burpsrcext: "zip"
burp_version: "master"

Améliorations des performances

  • optimisations de compilation.

Ce rôle compile maintenant avec de meilleures configurations pour des améliorations de performance. Vous pouvez également modifier la variable burp_configure_line avec vos propres drapeaux de configuration. Voir https://github.com/CoffeeITWorks/ansible_burp2_server/issues/24.

Outil de script de sauvegarde de deajan

  • Ajoutez l'outil de script de sauvegarde de @deajan.

L'outil de script de sauvegarde est ajouté en tant qu'installation optionnelle. Vous pouvez utiliser la variable install_backup_tool_script: true pour l'installer, voir les variables dans defaults/main.yml pour plus d'options. https://github.com/CoffeeITWorks/ansible_burp2_server/issues/26

Voir https://github.com/grke/burp/wiki/Utils#backup-tool-script

Mises à niveau

Pour mettre à niveau une version précédente ou pour mettre à niveau une installation apt/yum/dnf/zypper vers ce rôle, vous pouvez exécuter le playbook situé dans : resources/upgrade.yml

Et l'exécuter :

ansible-playbook -i inventory upgrade.yml -u username -k

Collaborateurs

Mettez votre nom ici.

Développeurs

Comment tester ce rôle ?

J'ai préparé un script et des tests moléculaires, il vous suffit d'installer docker sur votre système et de le démarrer, puis d'exécuter le script : Désactivez selinux pour permettre les commandes setattr lors de l'utilisation de la restauration (désactivez et redémarrez, permissive ne fonctionne pas non plus)

sudo systemctl start docker
./run_local_molecule_basic.sh

Une fois les tests terminés, nettoyez les instances créées avec (après un redémarrage, utilisez également destroy) :

./run_local_molecule_destroy.sh

Étant donné que cela utilise des images docker, vous n'avez rien besoin d'installer.

Pour les mainteneurs et les développeurs de burp, il existe également un rôle distinct pour effectuer des tests sur n'importe quel serveur burp : https://github.com/CoffeeITWorks/ansible_burp2_tests

À propos du projet

ansible role to deploy and maintain burp backup

Installer
ansible-galaxy install CoffeeITWorks.ansible_burp2_server
Licence
mit
Téléchargements
2.2k
Propriétaire
IT Works group