remote_config

remote_config defines connections to remote AttackMate instances. This allows one AttackMate instance to act as a controller, dispatching playbooks or commands to remote nodes.

Note

The remote node must be running the AttackMate API Server. Refer to its README for installation and setup instructions. The AttackMate Ansible role also supports deploying AttackMate as an API server via a role variable.

Each connection is identified by a user-defined name that can be referenced in playbook commands via the connection field. If no connection is specified, the first entry in the configuration is used as the default.

remote_config:
  remote_server:
    url: "https://10.0.0.5:5000"
    username: admin
    password: securepassword
    cafile: "/path/to/cert.pem"
  another_server:
    url: "https://10.0.0.6:5000"
    username: user
    password: anotherpassword
    cafile: "/path/to/another_cert.pem"

The following example shows how to target a specific remote instance, and how the default connection is used when none is specified:

commands:
  # Executed on 'another_server'
  - type: remote
    connection: another_server
    cmd: execute_command
    remote_command:
      type: shell
      cmd: "whoami"

  # Executed on 'remote_server' (defaults to first remote_config entry))
  - type: remote
    cmd: execute_playbook
    playbook_path: path/to/playbook.yml
url

The base URL of the remote AttackMate REST API.

Type:

str

Required:

True

username

The username for authentication with the remote AttackMate instance.

Type:

str

Required:

False

password

The password for authentication with the remote AttackMate instance.

Type:

str

Required:

False

cafile

The path to a CA certificate file used to verify the remote server’s TLS certificate.

Type:

str

Required:

False