[PYTHON] Probieren Sie den Taxii-Server aus (1. Servereinstellungen)

Auslösen

Siehe Berühren von libtaxii (http://qiita.com/KoriCori/items/03baefe7ece59050da75).

Dieses Mal werden wir einen Taxii-Server erstellen und die Client / Server-Umgebung vorbereiten.

Umgebung

# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core)
# uname -a
Linux localhost.localdomain 3.10.0-327.13.1.el7.x86_64 #1 SMP Thu Mar 31 16:04:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
# python -V
Python 2.7.5
# pip -V
pip 9.0.1 from /usr/lib/python2.7/site-packages (python 2.7)

installieren

--Opentaxii Installation

Holen Sie sich eine Beispielkonfigurationsdatei aus dem Eclectic IQ-Repository auf Github und konfigurieren Sie sie.

# cd /home
# git clone https://github.com/EclecticIQ/OpenTAXII.git
# cd OpenTAXII
# pip install -r requirements.txt
# python setup.py install

--Opentaxii Servereinstellungen

Die Serverkonfigurationsdatei befindet sich in opentaxii / defaults.yml.

---

domain: "localhost:9000"
support_basic_auth: yes
save_raw_inbox_messages: yes

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

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

logging:
  opentaxii: info
  root: info

xml_parser_supports_huge_tree: yes

hooks:

Überprüfen Sie zum Testen dieses Mal die Datenbank mit SQLite. Darüber hinaus ist es mit PostgreSQL / MySQL kompatibel.

--Test, ob der Opentaxii-Server ausgeführt wird

Sie können mit den Standardservereinstellungen mit opentaxii-run-dev testen.

# discovery_client --url http://127.0.0.1:9000/services/discovery-a
Request:

Message Type: Discovery_Request
Message ID: 8106670413668492641

Response:

Message Type: Discovery_Response
Message ID: 9138330222858032445; In Response To: 8106670413668492641
  === Service Instance ===
    Service Type: INBOX
    Service Version: urn:taxii.mitre.org:services:1.1
    Protocol Binding: urn:taxii.mitre.org:protocol:http:1.0
    Service Address: http://localhost/services/inbox-a
    Message Binding: urn:taxii.mitre.org:message:xml:1.0
    Message Binding: urn:taxii.mitre.org:message:xml:1.1
    Inbox Service AC: []
    Available: True
    Message: Custom Inbox Service Description A
  === Service Instance ===
    Service Type: INBOX
    Service Version: urn:taxii.mitre.org:services:1.1
    Protocol Binding: urn:taxii.mitre.org:protocol:http:1.0
    Service Address: http://localhost/services/inbox-b
    Message Binding: urn:taxii.mitre.org:message:xml:1.0
    Message Binding: urn:taxii.mitre.org:message:xml:1.1
    Inbox Service AC: ['urn:stix.mitre.org:xml:1.1.1', 'urn:custom.example.com:json:0.0.1']
    Available: True
    Message: Custom Inbox Service Description B
  === Service Instance ===
    Service Type: DISCOVERY
    Service Version: urn:taxii.mitre.org:services:1.1
    Protocol Binding: urn:taxii.mitre.org:protocol:http:1.0
    Service Address: http://localhost/services/discovery-a
    Message Binding: urn:taxii.mitre.org:message:xml:1.0
    Message Binding: urn:taxii.mitre.org:message:xml:1.1
    Available: True
    Message: Custom Discovery Service description
  === Service Instance ===
    Service Type: DISCOVERY
    Service Version: urn:taxii.mitre.org:services:1.1
    Protocol Binding: urn:taxii.mitre.org:protocol:https:1.0
    Service Address: https://localhost/services/discovery-a
    Message Binding: urn:taxii.mitre.org:message:xml:1.0
    Message Binding: urn:taxii.mitre.org:message:xml:1.1
    Available: True
    Message: Custom Discovery Service description
  === Service Instance ===
    Service Type: COLLECTION_MANAGEMENT
    Service Version: urn:taxii.mitre.org:services:1.1
    Protocol Binding: urn:taxii.mitre.org:protocol:http:1.0
    Service Address: http://localhost/services/collection-management-a
    Message Binding: urn:taxii.mitre.org:message:xml:1.0
    Message Binding: urn:taxii.mitre.org:message:xml:1.1
    Available: True
    Message: Custom Collection Management Service description
  === Service Instance ===
    Service Type: COLLECTION_MANAGEMENT
    Service Version: urn:taxii.mitre.org:services:1.1
    Protocol Binding: urn:taxii.mitre.org:protocol:https:1.0
    Service Address: https://localhost/services/collection-management-a
    Message Binding: urn:taxii.mitre.org:message:xml:1.0
    Message Binding: urn:taxii.mitre.org:message:xml:1.1
    Available: True
    Message: Custom Collection Management Service description
  === Service Instance ===
    Service Type: POLL
    Service Version: urn:taxii.mitre.org:services:1.1
    Protocol Binding: urn:taxii.mitre.org:protocol:http:1.0
    Service Address: http://localhost/services/poll-a
    Message Binding: urn:taxii.mitre.org:message:xml:1.0
    Message Binding: urn:taxii.mitre.org:message:xml:1.1
    Available: True
    Message: Custom Poll Service description

Ich konnte es richtig bestätigen. Das nächste Mal möchte ich Service / Sammlung fest einrichten.

Referenzseite

Recommended Posts

Probieren Sie den Taxii-Server aus (1. Servereinstellungen)
Probieren Sie den Taxii-Server aus (3.gunicorn-Einstellungen)
Versuchen Sie es mit der Twitter-API
Versuchen Sie es mit der PeeringDB 2.0-API
Starten Sie den IPython-Notebook-Server
Versuchen Sie, den PyODE-Schieberegler zu verdoppeln
Python-Servereinstellungen (Nginx + Gunicorn)
Einstellungen, die beim Starten des Linux-Servers centos7 vorgenommen werden müssen
Einstellungen zum Starten des Dango-Projekts auf dem Server mit Pycharm
Probieren Sie den Linux-Kernel-Sperrmechanismus aus
Versuchen Sie, das Thema Pelican vorzustellen
Probieren Sie Ajax auf der Django-Seite aus
[Sakura-Mietserver] Versuchen Sie es mit einer Flasche.
Versuchen Sie es mit dem Python Cmd-Modul
Probieren Sie Cython in kürzester Zeit aus
Versuchen Sie, das Bild mit opencv2 zu verwischen
Der schnellste Weg, EfficientNet auszuprobieren
Die Geschichte des erneuten Bereitstellens des Anwendungsservers
Hinweise zur Verwendung von matplotlib auf dem Server
Starten Sie den Server während der Fabric-Verarbeitung neu
Der einfachste Weg, PyQtGraph auszuprobieren
Versuchen Sie es mit Pythons Webframework Django (1) - Von der Installation bis zum Serverstart