MSSQL

このドキュメントでは、Microsoft SQL Server を Google Security Operations SOAR と統合する方法について説明します。

統合バージョン: 14.0

始める前に

このセクションでは、Kerberos 認証を使用して SQL Server で動作するように Google SecOps リモート エージェント(RHEL、CentOS、Docker)を構成する方法について説明します。

Google SecOps リモート エージェント(RHEL または CentOS)を構成する

SQL Server で動作するように Google SecOps リモート エージェント(RHEL または CentOS)を構成するには、リモート エージェントの Linux シェルで次の手順を完了します。

  1. /etc/resol.conf ファイルに DNS サーバーを追加します。#vi /etc/resolv.conf

  2. CentOS 7 用の krb5 パッケージをインストールします。#yum install krb5-workstation

  3. /etc/krb5.conf ファイルを開き、ドメインを大文字の default_realm として追加します。#vi etc/krb5.conf

  4. Active Directory との接続をテストします。SQL Server データベースへのアクセス権を持つユーザー(#kinit sql_user)を使用します。

  5. ユーザー パスワードを入力します。

  6. 取得したチケットを表示します。#klist

  7. 省略可: Kerberos チケットを削除します。#kdestroy -A

Microsoft SQL 統合を使用して CentOS にリモート エージェントを作成する方法については、CentOS 用インストーラを使用してエージェントを作成するをご覧ください。

Google SecOps リモート エージェント(Docker)を構成する

SQL Server で動作するように Google SecOps リモート エージェント(Docker)を構成するには、リモート エージェントの Linux シェルで次の操作を行います。

  1. Docker コンテナでシェルを実行します。docker exec -it siemplify /bin/bash

  2. ドメインの DNS サーバーを /etc/resol.conf ファイルに追加します。 #vi /etc/resolv.conf

  3. CentOS 7 用の krb5 パッケージをインストールします。#yum install krb5-workstation

  4. /etc/krb5.conf ファイルを開き、ドメインを大文字の default_realm として追加します。#vi etc/krb5.conf

  5. Kerberos チケットを取得します。SQL Server データベースにアクセスできるユーザーを使用します。#kinit sql_user

  6. ユーザー パスワードを入力します。

  7. 取得したチケットを表示します。#klist

  8. 省略可: Kerberos チケットを削除します。#kdestroy -A

Docker でリモート エージェントを作成する方法については、Docker でエージェントを作成するをご覧ください。

省略可: デバッグ用に SQL Server ツールをインストールする

デバッグ用の SQL Server ツールをインストールするには、リモート エージェントの Linux シェルで次の操作を行います。

  1. Microsoft リポジトリを追加します。# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo

  2. SQL Server ツールをインストールします。# yum install mssql-tools unixODBC-devel

    バイナリは /opt/mssql-tools/bin ディレクトリにインストールされます。

  3. SQL Server への接続をテストします。#kinit sql_user

  4. 次のコマンドを実行します。/opt/mssql-tools/bin/sqlcmd -S sqlserver.yourdomain.com -E

MSSQL を Google SecOps と統合する

統合には次のパラメータが必要です。

パラメータ 説明
Server Address 必須

SQL Server インスタンスのアドレス。

デフォルト値は sqlserver.DOMAIN.com です。

Username Optional

SQL Server インスタンスのユーザー名。

Password Optional

ユーザーのパスワード。

Port Optional

インテグレーションで使用するポート。

Windows Authentication Optional

選択すると、統合は Windows 認証を使用して認証します。

デフォルトでは選択されていません。

Use Kerberos Authentication Optional

選択すると、統合は Kerberos 認証を使用して認証します。

デフォルトでは選択されていません。

Kerberos Realm Optional

Kerberos レルムの値。

Kerberos Username Optional

Kerberos 認証のユーザー名。

Kerberos Password Optional

Kerberos 認証のパスワード。

Verify SSL Optional

選択すると、統合によって SQL Server への接続用の SSL 証明書が有効かどうかが検証されます。

デフォルトで選択されています。

このパラメータは、SQL Server 用 Microsoft ODBC ドライバ バージョン 18 にのみ適用されます。Google SecOps サーバーホストで以前のバージョンの ODBC ドライバが実行されている場合、このパラメータは無視されます。

Google SecOps で統合を構成する手順については、統合を構成するをご覧ください。

必要に応じて、後の段階で変更できます。統合インスタンスを構成すると、ハンドブックで使用できるようになります。複数のインスタンスの構成とサポートの詳細については、複数のインスタンスのサポートをご覧ください。

操作

SQL Server インテグレーションには、次のアクションが含まれています。

Ping

Ping アクションを使用して、SQL Server への接続をテストします。

このアクションはすべてのエンティティに対して実行されます。

アクション入力

なし

アクションの出力

[Ping] アクションでは、次の出力が提供されます。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用不可
出力メッセージ 利用不可
スクリプトの結果 利用可能
スクリプトの結果

次の表に、Ping アクションを使用した場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_success True または False

SQL クエリを実行する

SQL クエリを実行するには、[SQL クエリを実行] アクションを使用します。

このアクションはすべてのエンティティに対して実行されます。

アクション入力

[SQL クエリを実行] アクションには、次のパラメータが必要です。

パラメータ 説明
Database Name 必須

クエリを実行するデータベース名。

必須

実行するクエリ。

デフォルト値は SELECT * FROM <> です。

アクションの出力

[SQL クエリを実行する] アクションは、次の出力を提供します。

アクションの出力タイプ 対象
ケースウォールのアタッチメント 利用不可
ケースウォールのリンク 利用不可
ケースウォール テーブル 利用不可
拡充テーブル 利用不可
JSON の結果 利用可能
出力メッセージ 利用不可
スクリプトの結果 利用可能
JSON の結果

次に、[SQL クエリを実行] アクションを使用した場合に受信される JSON 結果出力の例を示します。

[
    {
        "Name": "Actions Monitor System",
        "Creator": "System",
        "Integration": "Example",
        "VersionId": "VERSION_ID",
        "ModificationTimenixTimeInMs": 1558278307098,
        "Description": "Notifies of all the actions, that have individually failed at least 3 times, in the last 3 hours"
    },{
        "Name": "Jobs Monitor System",
        "Creator": "System",
        "Integration": "Example",
        "VersionId": "VERSION_ID",
        "ModificationTimenixTimeInMs": 1558278307098,
        "Description": "Notifies of all the jobs, that have individually failed at least 3 times, in the last 3 hours"
    }
]
スクリプトの結果

次の表に、[SQL クエリを実行] アクションを使用する場合のスクリプト結果出力の値を示します。

スクリプトの結果名
is_blocked True または False

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。