Skip to main content

A RabbitMQ backbone for threatbus.

Project description

Threat Bus RabbitMQ Backbone Plugin

PyPI Status Build Status License

A Threat Bus plugin to use RabbitMQ as message broker backbone.

RabbitMQ Properties

The plugin declares one fanout exchange with a configurable name and binds a single queue to it. Messages are all routed via that exchange. Multiple Threat Bus instances can bind to it, but per convention must use unique queue names. The queue name will be threatbus.<hostname> where <hostname> is the hostname of the machine running Threat Bus. You can overwrite this behavior in the configuration file.

Messages sent over RabbitMQ are all serialized JSON. Each object must specify a type field. Serialization, e.g., to STIX-2 objects or to Threat Bus internal data types, is implemented based on the type field.

Subscriptions

Application plugins can subscribe to topics and topic prefixes.

Installation

pip install threatbus-rabbitmq

Configuration

The plugin requires a RabbitMQ endpoint to start. You can configure endpoint details in the plugin configuration of the Threat Bus config.yaml. You can fine-tune resource behavior with the queue section of the config.

...
plugins:
  backbones:
    rabbitmq:
      host: localhost
      port: 5672
      username: guest
      password: guest
      vhost: /
      exchange_name: threatbus
      queue:
        name_suffix: "my_suffix" # this defaults to 'hostname' if left blank
        name_join_symbol: . # queue will be named "threatbus" + join_symbol + name_suffix
        durable: true
        auto_delete: false
        lazy: true
        exclusive: false
        max_items: 100000 # optional. remove property / set to 0 to allow infinite length
...

License

Threat Bus comes with a 3-clause BSD license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

threatbus-rabbitmq-2022.5.16.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

threatbus_rabbitmq-2022.5.16-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file threatbus-rabbitmq-2022.5.16.tar.gz.

File metadata

File hashes

Hashes for threatbus-rabbitmq-2022.5.16.tar.gz
Algorithm Hash digest
SHA256 3350c2bbc718da079ee420032610da5607212c8c76d8acb0fcaf8aa184d19ea3
MD5 426741e8217f867e5bac141b98b8f2fb
BLAKE2b-256 a03fdaa7fc7b871752f9c06247e11339e5b0689eea83a07e0e1a67aeaa2a0fa5

See more details on using hashes here.

File details

Details for the file threatbus_rabbitmq-2022.5.16-py3-none-any.whl.

File metadata

File hashes

Hashes for threatbus_rabbitmq-2022.5.16-py3-none-any.whl
Algorithm Hash digest
SHA256 edb585f413252f2ce0823a35dc2c6d63c93d340208d9c7cbc7bd5bfcb93532b0
MD5 3e2417303e45b9f8d77877758b45d5ac
BLAKE2b-256 7aa8984106540bb86c9f69c00f9840ae285a0e30d5f2415faa0bf762fee3244e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page