CoffeeITWorks.ansible_burp2_server

Erste Schritte

Überprüfen Sie die Dokumentation unter:

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

Vollständige Liste der Rollen: https://github.com/grke/burp/wiki/Automated-deploy-and-maintenance

Tests

Molecule

Schnellstart

Installieren Sie Ansible auf Ihrem Steuercomputer (siehe Erste Schritte).

Installieren Sie python-minimal (für Ubuntu 16.04+) auf dem Remote-Computer (oder lokal, wenn Sie Ansible lokal verwenden).

Kopieren Sie die Beispieldatei und die Dateien: https://github.com/CoffeeITWorks/ansible-generic-help/tree/master/example1 (Sie können das Repository herunterladen und das Beispielverzeichnis example1 kopieren.)

Siehe auch Quickstart.md

Beispiel-Playbook

---

- name: burp2-Server
  become: yes
  become_method: sudo
  hosts: burp2_servers
  roles:
    - role: coffeeitworks.burp2_server
      tags:
        - "burp2_server_all"
        - "burp2_server"

Installieren Sie diese Rolle, Beispiel:

ansible-galaxy install -r requirements.yml
- downloading role 'burp2_server', owned by CoffeeITWorks
- downloading role from https://github.com/CoffeeITWorks/ansible_burp2_server/archive/master.tar.gz
- extracting coffeeitworks.burp2_server to /home/pablo/.ansible/roles/coffeeitworks.burp2_server
- coffeeitworks.burp2_server (master) wurde erfolgreich installiert

Ändern Sie die IP-Adresse in inventory/test.

Führen Sie das Ansible-Playbook aus:

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

Später können Sie einige Variablen anpassen, indem Sie Ihre eigenen Werte in group_vars Variablen oder host_vars hinzufügen.

Anforderungen

Installieren Sie diese Rolle, wenn Sie sie mit CentOS > 8 verwenden möchten:

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

Rollenname

Ansible burp2_server Bereitstellungs- und Wartungsrolle.

Diese Rolle erstellt die burp-Version, die in defaults/main.yml angegeben ist. Sie konfiguriert auch, sodass sie zentral verwaltet wird.

Siehe FEATURES.md

Installation dieser Rolle

Installieren Sie die Rolle im System:

ansible-galaxy install coffeeitworks.burp2_server

Weitere Informationen finden Sie unter: https://github.com/CoffeeITWorks/ansible-generic-help#installing-roles

Anforderungen

Vorbereitung der Variablen

Wir haben ein Inventory und ein Playbook, um die Rollen aufzurufen, müssen aber die Variablen anpassen, bevor wir das Playbook ausführen.

Hier organisieren wir die Variablen in das Verzeichnis group_vars:

mkdir -p group_vars/burp2_servers

Darin können Sie eine Datei mit dem Namen der Gruppe oder des Hosts hinzufügen, bei dem Sie spezifische Optionen dieser Rolle hinzufügen möchten.

Beispiel-Datei group_vars/burp2_servers/burp2_server_vars.yml

Überprüfen Sie auch alle Variablen in defaults/main.yml. Sie können jede Standardvariable mit Ihrer host/group_vars überschreiben.

Rollenvariablen: Vollständige Liste der Module

Module

Burp UI Agent konfigurieren

Der Burp-UI-Agent wurde in eine andere Rolle verschoben: https://github.com/CoffeeITWorks/ansible_burpui_agent

Es wird dringend empfohlen, burpui-agent mit Python3 zu verwenden. Wenn Sie eine Rolle kennen, um Python3/pip3 auf CentOS hinzuzufügen, kontaktieren Sie mich bitte, um diese Informationen zu aktualisieren.

Burp manuelles Löschen konfigurieren

(Standardmäßig aktiviert)

burp_manual_delete_enabled: true

Burp Autoupgrade konfigurieren

(Standardmäßig aktiviert)

burp_server_autoupgrade_enabled: true

Port pro Operation

(Standardmäßig aktiviert)

Seit Version 2.1.10

  • Fügen Sie die Möglichkeit hinzu, dass der Client sich mit verschiedenen Serverports verbindet, je nachdem, ob er ein Backup / eine Wiederherstellung / Überprüfung / Auflistung / Löschung durchführt. Diese Ports basieren auf: https://github.com/CoffeeITWorks/ansible_burp2_server/issues/11 Kompatibel seit Burp 2.1.10
burp_server_port_per_operation_bool: true

# Standardoptionale Variablen zum Ändern:
# Diese müssen nicht geändert werden, aber hier sind die
# Standardwerte, die wir in defaults/main.yml haben:
burp_server_port_operation_restore: 4975
burp_server_port_operation_verify: 4976
burp_server_port_operation_list: 4977
burp_server_port_operation_delete: 4978

Diese Option richtet /etc/burp/burp.conf für burp-ui-agent ein, wenn sie mit burp_module_agent: true verwendet wird, um die Leistung von burp-ui zu verbessern.

Überprüfen Sie auch burp_server_ports_per_operation: in defaults/main.yml, um die max_children pro Operation zu ändern.

Clients aus dem Git-Repository aktivieren

Beispiel:

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

Sie benötigen nur Dateien pro Client. Beispiel:

  • client1 Dateiinhalte:
password = clientpassword
dedup_group = trusty
. incexc/profile_lnxsrv

Clients aus einer Liste hinzufügen

Optionale Liste von Clients, die bei einer spezifischen Ausführung hinzugefügt werden sollen.

burp2_add_manual_clients:
  - name: client_name
    profile: profile name to use (optional), default: profile_lnxsrv (diese Dateien befinden sich im incexc/-Verzeichnis).
    password: client_password (optional), default: burp_client_password var
  - name: second_client

Sie können es als feste Liste oder dynamisch angeben, während Sie den ansible-playbook-Befehl ausführen:

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

Beispiel unter Verwendung von JSON-ähnlichen Variablen in der Befehlszeile:

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

Es werden die Dateien erstellt:

ansible@ubuntuburp2:~$ cat /etc/burp/clientconfdir/test_manual2
# Ansible managed

password = password

# Zusätzliche Konfigurationsdateien können gelesen werden, mit einer Syntax wie der folgenden
# (ohne das führende '# ').
. incexc/profile_win6x

Eigene Profile konfigurieren

Überprüfen Sie die Datei defaults/main.yml, um den Inhalt zu kopieren und Ihre eigenen Profile mit der profiles_templates-Var zu erstellen.

Ein kleines Beispiel:

profiles_templates:

  - name: profile_lnxsrv
    content:
      - "#hard_quota Nicht erlauben Backup von Clients mit mehr als xxGb im gesamten Backup"
      - "hard_quota=65Gb"

Fügen Sie Ihre eigenen Zeilen zu burp-server.conf hinzu

burp_server_custom_lines:
- "someextra=line"

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

Clients aus einer Liste entfernen

Es gibt jetzt eine Funktion, mit der Sie einen Client aus einer Liste entfernen können. Die verwendete Variable ist:

burp_remove_clients:
  - name: client_to_remove
  - name: other_client_to_remove

Sie können diese Variable in einer statischen Var-Datei wie group_vars oder zur Laufzeit verwenden. Beispiel:

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

Abhängigkeiten

Dienste

Sie können zwischen [systemd, supervisor, systemd_unprivileged] mit der Variablen wählen:

burp_sv_type: systemd

Alle Systemd-Installationen verwenden den Dienst 'burp-server' Namen. Und Sie können systemctl start/stop burp-server verwenden, um den Dienst zu steuern.

Um Dienste/Dämonen zu verwalten, verwenden Sie Supervisor:

Um installierte Dienste/Dämonen neu zu starten, sollten Sie Folgendes verwenden:

sudo supervisorctl restart buiagent/burp-server/burp-restore  (hängt von dem Dienst ab, den Sie neu starten möchten)

Logs:

Supervisor erlaubt auch eine korrekte Umleitung von stdout und stderror in Logs, sodass alle Logs unter /var/logs/supervisor sind.

Logs werden auch automatisch von logrotate rotiert.

Aktualisierung Ihrer OS

Bitte beachten Sie, dass es, wenn Sie die kompilierte Version von burp mit dieser Rolle verwenden, nach einem Upgrade Ihrer Linux-Distribution sehr empfohlen wird, die Kompilierung und Installation von burp erneut durchzuführen.

Beispiel, um es einmal auszuführen:

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

Die Variable burp_force_reinstall: yes wird dies für Sie tun.

Lizenz

MIT

Autoreninformation

Diese Rolle wurde von Diego Daguerre mit der Zusammenarbeit von Pablo Estigarribia (pablodav at gmail) erstellt. Der Hauptentwickler ist derzeit Pablo Estigarribia.

Burp Backup und Wiederherstellung

Hauptseite: http://burp.grke.org/

Testen des Master-Zweigs

Nun müssen nur die Gruppen-/Host-Variablen geändert werden:

burpsrcext: "zip"
burp_version: "master"

Leistungsverbesserungen

  • Optimierungen beim Kompilieren.

Diese Rolle wird nun mit einigen besseren Konfigurationen für Leistungsverbesserungen kompiliert, Sie können auch die Variable burp_configure_line mit Ihren eigenen Konfigurationsflags ändern. Siehe https://github.com/CoffeeITWorks/ansible_burp2_server/issues/24.

Backup-Skript-Tool von deajan

Das Backup-Skript-Tool von @deajan wurde als optionale Installation hinzugefügt. Sie können die Variable install_backup_tool_script: true setzen, um es zu installieren. Weitere Optionen finden Sie in defaults/main.yml. https://github.com/CoffeeITWorks/ansible_burp2_server/issues/26

Aktualisierungen

Um aus einer vorherigen Version oder auch von der apt/yum/dnf/zypper-Installation auf diese Rolle zu aktualisieren, können Sie das Playbook in resources/upgrade.yml ausführen.

Führen Sie es aus:

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

Mitwirkende

Setzen Sie hier Ihren Namen ein.

Entwickler

Wie testet man diese Rolle?

Ich habe ein Skript und Molekül-Tests vorbereitet. Installieren Sie einfach Docker auf Ihrem System und starten Sie es, und führen Sie dann das Skript aus: Deaktivieren Sie selinux, um die setattr-Befehle beim Wiederherstellen zuzulassen (deaktivieren und neu starten, permissiv funktioniert auch nicht).

sudo systemctl start docker
./run_local_molecule_basic.sh

Sobald die Tests abgeschlossen sind, löschen Sie die erstellten Instanzen mit (nach einem Neustart löschen Sie auch):

./run_local_molecule_destroy.sh

Da es Docker-Images verwendet, brauchen Sie nichts zu installieren.

Für Burp-Wartende und -Entwickler gibt es auch eine separate Rolle, um Tests auf jedem Burp-Server durchzuführen: https://github.com/CoffeeITWorks/ansible_burp2_tests

Über das Projekt

ansible role to deploy and maintain burp backup

Installieren
ansible-galaxy install CoffeeITWorks.ansible_burp2_server
Lizenz
mit
Downloads
2.2k
Besitzer
IT Works group