[PYTHON] Essayez le serveur Taxii (1. Paramètres du serveur)

Déclencheur

Voir touching libtaxii (http://qiita.com/KoriCori/items/03baefe7ece59050da75).

Cette fois, nous allons construire un serveur taxii et préparer l'environnement client / serveur.

environnement

# 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)

installer

Obtenez un exemple de fichier de configuration dans le référentiel Eclectic IQ sur Github et configurez-le.

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

Le fichier de configuration du serveur se trouve dans ʻ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:

Pour tester cette fois, vérifiez la base de données avec sqlite. De plus, il est compatible avec PostgreSQL / MySQL.

ʻOpentaxii-run-dev` vous permet de tester avec les paramètres par défaut du serveur.

# 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

J'ai pu le confirmer correctement. La prochaine fois, j'aimerais bien mettre en place le service / la collecte.

Site de référence

Recommended Posts

Essayez le serveur Taxii (1. Paramètres du serveur)
Essayez le serveur Taxii (paramètres 3.gunicorn)
Essayez d'utiliser l'API Twitter
Essayez d'utiliser l'API PeeringDB 2.0
Lancez le serveur de notebook IPython
Essayez de doubler le curseur PyODE
Paramètres du serveur Python (nginx + Gunicorn)
Paramètres à effectuer lors du démarrage du serveur Linux centos7
Paramètres de démarrage du projet Dango sur le serveur avec Pycharm
Essayez le mécanisme de verrouillage du noyau Linux
Essayez d'introduire le thème sur Pelican
Essayez Ajax sur la page Django
[Serveur de location Sakura] Essayez d'utiliser flask.
Essayez d'utiliser le module Python Cmd
Essayez Cython dans les plus brefs délais
Essayez de brouiller l'image avec opencv2
Le moyen le plus rapide d'essayer EfficientNet
L'histoire du remontage du serveur d'application
Remarques sur l'utilisation de matplotlib sur le serveur
Redémarrez le serveur pendant le traitement Fabric
La façon la plus simple d'essayer PyQtGraph
Essayez d'utiliser le framework web de Python Django (1) - De l'installation au démarrage du serveur