CoffeeITWorks.ansible_burp2_server

始めに

以下のドキュメントを確認してください:

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

役割の完全なリスト: https://github.com/grke/burp/wiki/Automated-deploy-and-maintenance

テスト

Molecule

クイックスタート

コントロールマシンにansibleをインストールする(始めにを参照) リモートマシン(またはローカルでansibleを使用している場合)にpython-minimal(Ubuntu 16.04以上)をインストールする

例のインベントリとファイルをコピーする: https://github.com/CoffeeITWorks/ansible-generic-help/tree/master/example1 (リポジトリをダウンロードして例1ディレクトリをコピーできます)

Quickstart.mdもご覧ください。

例のプレイブック

---

- name: burp2 サーバー
  become: yes
  become_method: sudo
  # environment: "{{ proxy_env }}"  # プロキシの背後で使用する例
  hosts: burp2_servers
  # サーバーのリストを定義し、タグを追加して呼び出しをフィルタリングできるようにします:
  roles:
    - role: coffeeitworks.burp2_server
      tags:
        - "burp2_server_all"
        - "burp2_server"

この役割をインストールする例:

ansible-galaxy install -r requirements.yml
- ダウンロード中の役割 'burp2_server'、所有者:CoffeeITWorks
- https://github.com/CoffeeITWorks/ansible_burp2_server/archive/master.tar.gz から役割をダウンロード中
- coffeeitworks.burp2_server を /home/pablo/.ansible/roles/coffeeitworks.burp2_server に抽出中
- coffeeitworks.burp2_server (master) が正常にインストールされました

inventory/test のIPアドレスを変更します。

ansible-playbookを実行します:

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

後で、group_vars または host_vars に独自の値を追加して、変数をカスタマイズできます。

要件

CentOS 8以上でこの役割を使用したい場合は、以下をインストールしてください:

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

役割名

ansible burp2_server のデプロイおよびメンテナンスの役割。

この役割は、defaults/main.yml に指定されたburpのバージョンをビルドします。 また、中央集中的に機能し、維持できるように構成します。

FEATURES.mdを参照してください。

この役割のインストール


システムに役割をインストール:

ansible-galaxy install coffeeitworks.burp2_server

詳細情報はhttps://github.com/CoffeeITWorks/ansible-generic-help#installing-rolesをご覧ください。

要件

変数の準備


インベントリプレイブックがあり、役割を呼び出すために使用しますが、プレイブックを実行する前に変数をカスタマイズする必要があります。

ここでは、変数ファイルをgroup_varsディレクトリに整理します:

mkdir -p group_vars/burp2_servers

その中に、特定のオプションを追加するグループまたはホストの名前のファイルを追加できます。

例のファイル group_vars/burp2_servers/burp2_server_vars.yml

defaults/main.ymlのすべての変数も確認し、ホスト/グループの変数でデフォルトをオーバーライドできます。

役割の変数: モジュールの完全なリスト

モジュール


Burp UIエージェントの構成

Burp-uiエージェントは別の役割に移動しました: https://github.com/CoffeeITWorks/ansible_burpui_agent

Python3でburpui-agentを使用することを強く推奨します。CentOSにpython3/pip3を追加する役割を知っている場合は、この情報を更新するためにご連絡ください。

Burp手動削除の構成

(デフォルトで有効)


 burp_manual_delete_enabled: true

Burp自動アップグレードの構成

(デフォルトで有効)


 burp_server_autoupgrade_enabled: true

操作ごとのポート

(デフォルトで有効)


バージョン2.1.10以降

  • クライアントがバックアップ/復元/検証/リスト/削除を行っているかどうかに応じて異なるサーバーポートに接続できる機能を追加します。 これらのポートは以下に基づいています: https://github.com/CoffeeITWorks/ansible_burp2_server/issues/11 burp 2.1.10以降に互換性があります。
burp_server_port_per_operation_bool: true

# 変更するデフォルトオプション変数:
# これらは変更する必要はありませんが、
# 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

このオプションは、burp_module_agent: trueを使用してburp-ui-agentのために/etc/burp/burp.confを設定します。

defaults/main.ymlburp_server_ports_per_operation:を確認して、操作ごとのmax_childrenを変更します。

Gitリポジトリからクライアントをアクティブ化


例:

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

クライアントごとにファイルが必要です。例:

  • client1のファイル内容:

    password = clientpassword dedup_group = trusty . incexc/profile_lnxsrv

リストからクライアントを追加


特定の実行で追加するオプションリストのクライアント

burp2_add_manual_clients:
  - name: client_name
    profile: 使用するプロファイル名(オプション)、デフォルト:profile_lnxsrv(これらのファイルはincexc/ディレクトリにあります)。
    password: client_password(オプション)、デフォルト:burp_client_password変数
  - name: second_client

固定リストまたは動的にスクリプトを実行する際に指定できます:

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

コマンドラインでjsonのような変数を使用した例:

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

ファイルを作成します:


ansible@ubuntuburp2:~$ cat /etc/burp/clientconfdir/test_manual2
# Ansibleによって管理されています

password = password

# 以下のような構文で、さらに多くの設定ファイルを読み取ることができます
# (先頭の'# 'なし)
. incexc/profile_win6x
ansible@ubuntuburp2:~$ cat /etc/burp/clientconfdir/test_manual
# Ansibleによって管理されています

password = password

# 以下のような構文で、さらに多くの設定ファイルを読み取ることができます
# (先頭の'# 'なし)
. incexc/profile_lnxsrv

独自のプロファイルを構成


defaults/main.ymlファイルを確認し、内容をコピーして独自のプロファイルを作成します profiles_templates var を使用します。

小さな例:

# ここでも files/incexc を参照してください。このリポジトリにあるそれらは /etc/burp/clientconfdir/incexc にコピーされます。
# このテンプレートは /etc/burp/clientconfdir/incexc/name に各テンプレートを作成します
profiles_templates:

  - name: profile_lnxsrv
    content:
      - "#hard_quota クライアントがバックアップ全体でxxGbを超えないようにする"
      - "#hard_quota 全バックアップでxxGbを超えるクライアントはバックアップを許可しない"
      - "hard_quota=65Gb"
      - ""
      - "#soft_quota クライアントがバックアップ全体でxxGbを超えた場合はWARNINGを送信"
      - "#soft_quota 全バックアップでxxGbを超過するクライアントにWARNINGを送信"
      - "soft_quota=50Gb"
      - ""
      - ". lnxsrv_global_inclusions"
      - ". lnxsrv_global_exclusions"
      - ". compressed_exclusions"
      - ". audio_compressed_exclusions"
      - ". generic_excluded_extensions"
      - ""
      - "cross_all_filesystems=1"
      - "dedup_group = lnxsrv"

burp-server.conf に独自の行を追加


    burp_server_custom_lines:
    - "someextra=line"

https://burp.grke.org/docs/manpage.htmlを参照してください。

リストからクライアントを削除


クライアントをリストから削除する機能が追加されました。使用される変数は:

burp_remove_clients:
  - name: client_to_remove
  - name: other_client_to_remove

この変数は、static varファイル(group_varsなど)や実行時に使用できます。例:

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

依存関係

サービス


以下から選択できます:[systemd, supervisor, systemd_unprivileged] 変数を使用:

burp_sv_type: systemd

すべてのsystemdインストールでは、「burp-server」という名字でサービスをインストールします。また、systemctl start/stop burp-serverを使用してサービスを制御できます。

supervisorでサービスを制御するには、以下の手順を使用します:

インストールされたサービス/デーモンの再起動を行う場合は、以下を使用します:

sudo supervisorctl restart buiagent/burp-server/burp-restore  (再起動したいサービスに応じて)

次のコマンドを使用して、supervisorctlシェルに入ることもできます:

sudo supervisorctl

次に、すべてのオプションをインタラクティブに使用します。

ログ:

supervisordは、標準出力および標準エラーをログにリダイレクトするため、すべてのログは /var/logs/supervisor にあります。

ログも自動的にlogrotateによってローテーションされます。

OSのアップグレード

この役割を使用してコンパイルされたバージョンのburpを使用している場合、Linuxディストリビューションをアップグレードした後は、burpの再コンパイルとインストールを行うことを強くお勧めします。

一度実行する例:

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

変数 burp_force_reinstall: yes がこれを実行します。

ライセンス

MIT

著者情報

この役割はDiego Daguerreによって作成され、Pablo Estigarribia(pablodav at gmail)の協力を得ており、現在の主な開発者はPablo Estigarribiaです。

Burpバックアップと復元

メインページ: http://burp.grke.org/

マスターブランチのテスト

現在、これらのグループ/ホスト変数を修正する必要があります:

burpsrcext: "zip"
burp_version: "master"

パフォーマンスの改善

  • コンパイル最適化。

この役割は、パフォーマンスの改善のためにいくつかの良い設定でコンパイルされます。また、独自の設定フラグでburp_configure_line変数を変更することもできます。https://github.com/CoffeeITWorks/ansible_burp2_server/issues/24を参照してください。

Deajanからのバックアップスクリプトツール

  • @deajanからバックアップスクリプトツールを追加

backup_script_toolはオプションのインストールとして追加されます。install_backup_tool_script: trueを使用してインストールできます。デフォルト/ main.ymlの変数を確認して、他のオプションを確認してください。https://github.com/CoffeeITWorks/ansible_burp2_server/issues/26を参照してください。

https://github.com/grke/burp/wiki/Utils#backup-tool-scriptを参照してください。

アップグレード

以前のバージョンをアップグレードするか、apt/yum/dnf/zypperインストールからこの役割にアップグレードするためには、resources/upgrade.ymlにあるプレイブックを実行できます。

そしてそれを実行します:

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

協力者

ここに名前を記入してください。

開発者

この役割をテストするにはどうすればよいですか?

スクリプトと分子テストを準備しました。システムにDockerをインストールして起動し、スクリプトを実行します: 復元時にsetattrコマンドを使用できるようにselinuxを無効にします(無効にして再起動すると、許可モードでは機能しません)。

sudo systemctl start docker
./run_local_molecule_basic.sh

テストが完了したら、作成したインスタンスをクリーンアップします(再起動後もdestroyを使用します):

./run_local_molecule_destroy.sh

Dockerイメージを使用しているため、何もインストールする必要はありません。

Burpのメンテナおよび開発者向けには、あらゆるBurpサーバー上でテストを実行するための別の役割もあります: https://github.com/CoffeeITWorks/ansible_burp2_tests

プロジェクトについて

ansible role to deploy and maintain burp backup

インストール
ansible-galaxy install CoffeeITWorks.ansible_burp2_server
ライセンス
mit
ダウンロード
2.2k
所有者
IT Works group