コンテンツにスキップ

HTTP Ingestの設定🔗

以下の手順は、Secureworks® Taegis™ XDR HTTP Ingestを設定し、HTTPサーバーにログを送信できるデータソースからの取り込みを可能にするためのものです。

  1. Taegis Menuからインテグレーション → クラウドAPIを選択します。

  2. ページ上部のインテグレーションの追加を選択します。

    インテグレーションの追加

  3. カスタムタブを選択し、HTTP Ingestカードからセットアップを選択します。

  4. インテグレーションの名前を入力し、完了を選択します。

    HTTP Ingestインテグレーション

  5. インテグレーションキーURLをコピーします。

    重要

    インテグレーションキーURLは、このダイアログボックスを閉じると再表示できませんので、必ず保存してください。

    HTTP IngestインテグレーションキーとURLのコピー

  6. OKを選択します。HTTP IngestインテグレーションがクラウドAPIインテグレーションのテーブルに表示されます。

  7. ステップ4でXDRからコピーしたインテグレーションキーURLを使用して、データソースをHTTPSサーバーにログを送信するように設定します。

🔗

以下は、ファイルの内容を設定済みのXDR HTTP Ingestインテグレーションに送信するスクリプトの例です。

Python🔗

Pythonスクリプトを実行する前に、HTTP_URLとACCESS_TOKENの環境変数を設定してください。

export HTTP_URL="your_http_ingest_url"
export ACCESS_TOKEN="your_access_token"
#!/usr/bin/env python

import requests
import os
from os import sys

def upload_file(url,token,filename):
    contents = ""
    if os.path.exists(filename):
        content_length = os.path.getsize(filename)
        try:
            with open(filename,"rb") as fd:
                contents = fd.read()
        except OSError as err:
            print("OS error: {0}".format(err))
            sys.exit(2)
    else:
        print("The file does not exist")
        sys.exit(2)

    # Set the headers for the request
    headers = {}
    if "{" in contents.decode(encoding='UTF-8',errors='strict'):
        headers["Content-Type"] = "application/json"
    else:
        headers["Content-Type"] = "text/plain"

    headers['Authorization'] = 'Bearer ' + token

    # Send the POST request with the data
    response = requests.post(url, data=contents, headers=headers)

    if response.status_code == 200:
        print("Upload success of file {0}".format(filename))
    elif response.status_code == 403:
        print("Unauthorized access credentials provided, please check your token and url for accuracy.")
    else:
        print("Upload failed with error {0}".format(response.text))

if __name__ == "__main__":
    token = os.environ.get('ACCESS_TOKEN')
    url = os.environ.get("HTTP_URL")
    filename = sys.argv[1]
    upload_file(url,token,filename)

cURL🔗

#!/bin/bash

#Set the HTTP_URL and ACCESS_TOKEN environment variables before running the Bash script.

export HTTP_URL="your_http_ingest_url"
export ACCESS_TOKEN="your_access_token"

# URL and Bearer token environment variables

url=$HTTP_URL
token=$ACCESS_TOKEN

# File to read

filename="$1"

# Perform a POST request with JSON data

echo "Performing POST request to $url"

response_code=$(curl $url -o /dev/null -w "%{http_code}" -H "Authorization: Bearer $token" --data-binary @$filename)

if [[ $response_code -eq 200 ]]; then
    echo "Request successful"
else
    echo "Request failed with response code $response_code"
fi