OpenTAXII icon indicating copy to clipboard operation
OpenTAXII copied to clipboard

How to configure Opentaxii to use TAXII2

Open Tyrell20 opened this issue 2 years ago • 1 comments

Hello, I am facing an issue to configure opentaxii to use taxii2. Below my configuration file:

default.yml `---

domain: "myserver.com:9000"

support_basic_auth: yes return_server_error_details: no

auth_api: class: opentaxii.auth.sqldb.SQLDatabaseAPI parameters: db_connection: sqlite:////tmp/auth.db create_tables: yes secret: SECRET-STRING-NEEDS-TO-BE-CHANGED token_ttl_secs: 3600

taxii1:

taxii2: persistence_api: class: opentaxii.persistence.sqldb.SQLDatabaseAPI parameters: db_connection: sqlite:////tmp/data.db create_tables: yes

logging: opentaxii: info root: info `

data-configuration.yml (version 1 tested) `apiroots:

  • id: test_api_root default: true title: Test API Root description: Main API Root is_public: true

collections:

  • id: collection api_root_id: test_api_root title: Main Collection description: Main collection Information is_public: true is_public_write: true

accounts:

  • username: test password: test permissions: collection-a: modify
  • username: admin password: admin is_admin: yes `

data-configuration.yml (version 2 tested)

`---

domain: myserver.com:9000

services: - id: inbox type: inbox address: /services/inbox description: Inbox Service destination_collection_required: yes accept_all_content: yes authentication_required: yes supported_content: - urn:stix.mitre.org:json:2.1 protocol_bindings: - urn:taxii.mitre.org:protocol:http:1.0

- id: discovery
  type: discovery
  address: /services/discovery
  description: Discovery Service
  advertised_services:
    - inbox
    - discovery
    - collection_management
    - poll
  protocol_bindings:
    - urn:taxii.mitre.org:protocol:http:1.0

- id: collection_management
  type: collection_management
  address: /services/collection-management
  description: Collection Management Service
  protocol_bindings:
    - urn:taxii.mitre.org:protocol:http:1.0
 - id: poll
  type: poll
  address: /services/poll
  description: Poll Service
  subscription_required: no
  max_result_count: 100
  max_result_size: 10
  authentication_required: yes
  protocol_bindings:
    - urn:taxii.mitre.org:protocol:http:1.0

collections:

  • name: test available: true accept_all_content: true supported_content:
    • urn:stix.mitre.org:json:2.1 service_ids:
    • inbox
    • collection_management
    • poll

accounts:

  • username: test password: test permissions: test: modify `

With both data-configuration.yml the command: opentaxii-sync-data opentaxii/data-configuration.yml do not work, reporting the error: AttributeError: 'NoneType' object has no attribute 'persistence'

Starting server with gunicorn: gunicorn opentaxii.http:app --bind myserver.com:9000 --config python:opentaxii.http does not show any error. Trying to query the server via taxii2-client I obtained the error below: requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http://myserver.com:9000/taxii2/

Could you please help me to validate the configuration files e and how can I start and use the taxii2 on opentaxii?

Tyrell20 avatar Dec 14 '22 17:12 Tyrell20

I've been playing around with the same thing and there are some undocumented options and fixes required. I'm in the process of submitting PRs for the issues I can find as I work through them but out of the box you're going to have a bad time.

I'm not sure how quickly PRs get accepted by the project, but in the mean time my source branch is here: https://github.com/andrewbeard/OpenTAXII/tree/dev

andrewbeard avatar Jan 11 '23 15:01 andrewbeard