Taxii サーバを試してみる(2.Service/Collection設定)


[前回](http://qiita.com/KoriCori/items/75bd5a6abd995fcdf1e3)に引き続き、taxii serverを試してみる。

今回は、services とcollectionsの設定を確認する。

- services の設定

設定ファイルの中身を見ていこうと思う。
設定ファイルは、 `examples/services.yml` を参考にする。

1. inbox

	|設定|説明|
	|:---|:---|
	|id: inbox|サービスの名前を指す<br>任意の名称に変更可能|
	|type: inbox|taxiiサーバ上でどの種類のサービスを受け持つかを記載する<br>- inbox: サーバにデータを投稿する際に受け入れる|
	|address: /services/inbox|どのURLでクライアントからのレスポンスを受けるかを指定する|
	|description: Custom Inbox Service Description|サービスの説明|
	|destination_collection_required: yes|宛先となるcollectionが必要か否かを指定する(yes/no)|
	|accept_all_content: yes|全てのコンテンツにアクセス可能か指定する(yes/no)|
	|authentication_required: yes|認証が必要か否かを指定する(yes/no)<br>認証する場合、鍵認証か、ID/Passを指定する|
	|protocol_bindings:<br>&nbsp;&nbsp;- urn:taxii.mitre.org:protocol:http:1.0|サーバにアクセスするプロトコルを指定する|


2. discovery

	|設定|説明|
	|:---|:---|
	|id: discovery|サービスの名前を指す<br>任意の名称に変更可能|
	|type: discovery|taxiiサーバ上でどの種類のサービスを受け持つかを記載する<br>- DISCOVERY: サーバがどのようなサービス(機能)を参照する|
	|address: /services/discovery|どのURLでクライアントからのレスポンスを受けるかを指定する|
	|description: Custom Discovery Service description|サービスの説明|
	|advertised_services:<br>&nbsp;&nbsp;- inbox<br>&nbsp;&nbsp;- discovery<br>&nbsp;&nbsp;- collection_management<br>&nbsp;&nbsp;- poll|クライアントがどのサービスを利用可能か指定する|
	|protocol_bindings:<br>&nbsp;&nbsp;- urn:taxii.mitre.org:protocol:http:1.0<br>&nbsp;&nbsp;- urn:taxii.mitre.org:protocol:https:1.0|サーバにアクセスするプロトコルを指定する|
	
	
3. collection_management

	|設定|説明|
	|:---|:---|
	|id: collection_management|サービスの名前を指す<br>任意の名称に変更可能|
	|type: collection_management|taxiiサーバ上でどの種類のサービスを受け持つかを記載する<br>- COLLECTION_MANAGEMENT: サーバが提供するデータフィードを参照する|
	|address: /services/collection-management|どのURLでクライアントからのレスポンスを受けるかを指定する|
	|description: Custom Collection Management Service description|サービスの説明|
	|protocol_bindings:<br>&nbsp;&nbsp;- urn:taxii.mitre.org:protocol:http:1.0<br>&nbsp;&nbsp;- urn:taxii.mitre.org:protocol:https:1.0|サーバにアクセスするプロトコルを指定する|

4. poll

	|設定|説明|
	|:---|:---|
	|id: poll|サービスの名前を指す<br>任意の名称に変更可能|
	|type: poll|taxiiサーバ上でどの種類のサービスを受け持つかを記載する<br>- POLL: サーバに蓄積されたデータを参照する|
	|address: /services/poll|どのURLでクライアントからのレスポンスを受けるかを指定する|
	|description: Custom Poll Service description|サービスの説明|
	|subscription_required: no|(まだ内容が理解できてません)(yes/no)|
	|max_result_count: 100|クライアントに渡すデータの最大数を指定する|
	|max_result_size: 10|クライアントに渡す最大データサイズを指定する|
	|protocol_bindings:<br>&nbsp;&nbsp;- urn:taxii.mitre.org:protocol:http:1.0|サーバにアクセスするプロトコルを指定する|

	`# opentaxii-create-services -c examples/services.yml`

	本コマンドにて、serviceが作成される。
	修正する場合も本コマンドを実行することで修正される。

- collections の設定

設定ファイルは、 `examples/collections.yml` を参考にする。

|設定|説明|
|:---|:---|
|name: collection|collection の名前|
|available: true|利用可能か否か(true/false)|
|accept_all_content: true|全てのデータにアクセス可能か否か(true/false)|
|type: DATA_SET|collectionでのデータの取り扱い(DATA_SET/DATA_FEED)|
|service_ids:<br>&nbsp;&nbsp;- inbox<br>&nbsp;&nbsp;- collection_management<br>&nbsp;&nbsp;- poll|適用するサービス|
|supported_content:<br>&nbsp;&nbsp;- urn:stix.mitre.org:xml:1.1.1<br>&nbsp;&nbsp;- urn:custom.bindings.com:json:0.0.1|投稿コンテンツがサポートする形式|

`# opentaxii-create-collections -c examples/collections.yml`

本コマンドにて、collectionが作成される。
修正する場合も本コマンドを実行することで修正される。

次回は、サーバを本番環境として立ち上げる設定を確認したいと思います。

## 参照サイト

- OpenTAXII http://www.opentaxii.org/en/stable/

- EclecticIQ/OpenTAXII https://github.com/EclecticIQ/OpenTAXII