How to configure Opentaxii to use TAXII2
Tyrell20 opened this issue · 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
- urn:stix.mitre.org:json:2.1
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?
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