# Splunk

## 概要

Keeperでは、Splunk CloudおよびSplunk Enterpriseへのイベントストリームがサポートされています。外部ログはリアルタイムで発生し、新しいイベントはほぼ即座に表示されます。

以下は構成の例です。ホストフィールドには、コレクターURLのドメイン部分のみを含める必要があります。

<figure><img src="https://3468650114-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeJwa6ByNJ2qindnPknCW%2Fuploads%2F5ybv6n4x3nASgP43CKtk%2F2024-10-16_splunk.png?alt=media&#x26;token=53a3ace4-7df8-4be7-899e-5008b458b441" alt=""><figcaption></figcaption></figure>

## Splunk Cloud (セルフサービス)

Keeperでは、Splunk CloudのHTTP Event Collector (HEC) 機能がサポートされています。

以下は、Splunk CloudセルフサービスのHEC URLの標準形式です。

```
<host>:<port>/<endpoint>
```

Keeperでは、以下のようにURLのドメイン部分のみを指定します。

**ホスト**: input-prd-p-2dm85a8f6db.cloud.splunk.com\
**ポート**: 8088\
**トークン:** Splunkで生成されたHECトークン

## Splunkマネージドクラウド

Keeperでは、SplunkマネージドクラウドのHTTP Event Collector (HEC) 機能がサポートされています。

以下は、SplunkマネージドクラウドのHEC URLの標準形式です。

```
http-inputs-<host>:<port>/<endpoint>
```

Keeperでは、以下のようにURLのドメイン部分のみを指定します。

**ホスト**: http-inputs-prd-p-2dm85a8f6db.splunkcloud.com\
**ポート**: 443\
**トークン**: Splunkで生成されたHECトークン

{% hint style="warning" %}
エンドポイントで「Indexer Acknowledgement」機能が無効になっていることを確かにしてください。
{% endhint %}

## Splunk Enterprise

Keeperでは、Splunk EnterpriseおよびSplunk CloudのHTTP Event Collector (HEC) 機能がサポートされています。 SplunkでKeeperを構成するには、以下の点にご注意ください。

* HEC for Keeperの作成手順については、[Splunkのドキュメント](https://docs.splunk.com/Documentation/Splunk/8.1.1/Data/UsetheHTTPEventCollector)をご参照ください。<br>
* コレクタエンドポイントに認証局が署名した有効な証明書を持つSSLを使用する必要があります。 コレクタでSSLが使用されない場合、Keeperにより接続が拒否されます。<br>
* コレクタエンドポイントのURIは、Keeperのサーバーからアクセスできる必要があります。 IPアドレスの一覧については、以下の許可リストセクションをご参照ください。

### 1. コレクタの作成

Splunkインターフェースで、新規のHECコレクタを作成するか、既存のコレクタを選択します。

<figure><img src="https://3468650114-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeJwa6ByNJ2qindnPknCW%2Fuploads%2FZUt6rkKuYk5zS8oV4yra%2FScreen%20Shot%202020-12-12%20at%209.43.06%20PM.png?alt=media&#x26;token=05fd6aa6-e349-46de-ad3f-7f2f0a3b647d" alt=""><figcaption></figcaption></figure>

* トークンを生成し、手順2で使用するために保管します。
* **\[Global Settings]** (グローバル設定) 、**\[Enable SSL]** (SSLを有効化) がチェックされ、コレクタがSSLを使用するよう構成されていることを確かにします。

![HECでSSLを有効にする](https://3468650114-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeJwa6ByNJ2qindnPknCW%2Fuploads%2FiR6EZQnGyc3JDKc0F8DH%2Fassets_-LO5CAzpxoaEquZJBpYz_-MOPVs33jr8YZbWosaGt_-MOPbHG1BQFMyEGCJ8VS_Screen%20Shot%202020-12-12%20at%2011.webp?alt=media\&token=3e0d9626-d64d-4667-b273-1a709d9c6d57)

### 2. 統合の有効化

Keeper側で、HECからエンドポイントのホスト、ポート、トークンを指定します。Keeperでは、URLのドメイン部分のみを指定します。

![Splunkの設定](https://3468650114-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeJwa6ByNJ2qindnPknCW%2Fuploads%2F2Rmm1iH1gb4A0NT6IUsH%2FJP_Splunk.png?alt=media\&token=c18e829c-cc2f-4636-af46-244373b245c3)

* **\[テスト接続]** をクリックし、接続が成功することを確認します。 成功すると、**\[保存]** ボタンが有効になります。 通信エラーが発生した場合、何も発生しないかエラーメッセージが表示されます。
* **\[保存]** をクリックしてコレクタを有効化します。 Keeperでステータス表示がアクティブになります。

<figure><img src="https://3468650114-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeJwa6ByNJ2qindnPknCW%2Fuploads%2FPmX3vWDTMRTULONPB8LF%2Fimage.png?alt=media&#x26;token=9ed2cd7e-65d9-4695-a40a-5f9a01020767" alt=""><figcaption><p>アクティブ同期ステータス</p></figcaption></figure>

ステータス表示が **\[一時停止]** の場合、イベントをSplunkサーバーに送信する際に通信エラーが発生した可能性があります。通信エラーの原因は通常、HECで認証局 (CA) が署名した証明書を持つSSLが使用されていないためです。

## セットアップは完了です

KeeperからSplunkにSIEMログが送信されると、15分以内にデータが反映され始めます。

## トラブルシューティング

上記のように、Splunk EnterpriseのHECは、認証局によって署名された証明書を持つSSLで保護されている必要があります。 これを、MacまたはLinuxのコマンドラインで確認するには、(エンドポイントのURIとトークンを置き換えて) 以下のように入力します。

{% code overflow="wrap" %}

```
$ curl https://splunk.acme-demo.com:8088/services/collector -H "Authorization: Splunk b56ashdd-8b97-443b-1234-abcabcabcabc" -d '{"event": "hello world"}'
```

{% endcode %}

以下のようなSSL証明書に関するエラーが表示された場合は、正しく設定されていません。

```
curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.haxx.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
```

curlリクエストに「-k」を追加して証明書を無視する場合、成功の応答が表示されます。 これで、HEC証明書が無効であることがわかります。

コレクタのSSL向けにSplunk Enterpriseを構成するには、関連ドキュメントをご参照ください。 local/server.confファイルを変更して、バンドルされた証明書ファイルチェーンを使用してsplunkdサービスでSSLを有効にする\[sslConfig]セクションを含めます。

```
[sslConfig]
enableSplunkdSSL = true
serverCert = $SPLUNK_HOME/etc/auth/mycompany/my_bundle.pem
```

証明書ファイルチェーン (my\_bundle.pem) は、以下のように証明書、プライベートキー、CA証明書を連結して作成できます。

```
cat my_server.crt my_server.key ca_certs.crt >> my_bundle.pem
```

詳細については、SSLを利用したSplunkの保護に関するSplunk Enterpriseの以下のドキュメントをご参照ください。

{% embed url="<https://docs.splunk.com/Documentation/Splunk/8.1.1/Security/AboutsecuringyourSplunkconfigurationwithSSL>" %}

{% embed url="<https://docs.splunk.com/Documentation/Splunk/8.1.0/Security/Securingyourdeploymentserverandclients>" %}

## イベント表示

有効化すると、KeeperのバックエンドサーバーからSplunk HECにイベントログが自動的にストリーミングされるようになります。以下の画像に見られるように、イベントログにはイベントタイプ、クライアントアプリケーションバージョン、IPアドレス、タイムスタンプ、Keeperユーザーのユーザー名が含まれます。

<figure><img src="https://3468650114-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeJwa6ByNJ2qindnPknCW%2Fuploads%2FShVKIa1HDL4fghUlan6a%2Fassets_-LO5CAzpxoaEquZJBpYz_-MOPlRINN-hZBv8aAbo4_-MOPotAy6gPfRCfC_wn7_Screen%20Shot%202020-12-12%20at%209.webp?alt=media&#x26;token=adcc5352-cbb7-4ab9-99af-15793e1633f0" alt=""><figcaption></figcaption></figure>

## ネットワークルーティング

ファイアウォールで、Keeperサーバーからのトラフィックが許可されていることを確認します。詳しくは[ファイアウォールの設定](https://docs.keeper.io/enterprise-guide/event-reporting/firewall)ページをご参照ください。
