監査レコード保守スクリプトの構成とインストール

Document created by Seiji_Moriyama Employee on Jul 10, 2017Last modified by Seiji_Moriyama Employee on Jul 12, 2017
Version 1Show Document
  • View in full screen mode

文書番号: JTEC002601
製品名: CA API Gateway
バージョン: ALL
OS: ALL

 

概要:

 

デフォルトでは、CA APIゲートウェイは、使いやすさと簡単なストレージのためにローカルMySQLデータベースに監査レコードを格納します。これにより、ゲートウェイは管理者やオペレータによるレビューのためにローカルデータベースから監査レコードにすばやくアクセスできます。これらの監査レコードは、生成された監査レコードの数が環境に合わせて調整されていない限り、ますます大量のデータベース表スペースを消費します。従来、CA Technologiesは、パフォーマンスと可用性の理由からゲートウェイデータベース内で管理される監査レコードの数とサイズを最小限に抑えるように規定していました。 CA Technologiesは、特定の数量または品質の監査記録を一定期間維持することを義務付ける厳格な規制要件のもとで業務を行っている顧客もいることを理解しています。

 

特定の基準に基づいて監査レコードを管理するスクリプトがCA APIゲートウェイチームによって作成されました。具体的には:

 

  1. 構成可能な特定の経過時間(日単位)より古いすべての監査レコード。
  2. 重大度がSEVEREより低いすべての監査レコード。

 

手順:

 

監査レコード保守スクリプトは、実行されるたびに事前に決められた一連の設定を使用するように構成できます。 たとえば、MySQLサーバーの接続設定と監査の経過期間制限はこのスクリプト内で設定され、スクリプトが実行されるたびに適用されます。 これらの値を設定するには:

 

  1. テキストエディタでスクリプトを開きます。
  2. "Configurable settings"を含む行に移動します。
  3. 以下の変数を変更します。
    • 説明既定値
      AGE監査レコードの最長保存期間"10 days"
      LIMIT一回のクエリで削除される監査レコードの最大数5000
      PURGE制限を越えた監査レコードをパージ(削除)するかYES
      DB監査レコードを保持しているデータベースオブジェクトの名前"ssg"
      DBHOSTデータベースホストのFQDN"localhost"
      DBUSER特権のないデータベースユーザー名"gateway"
      DBPWD特権のないデータベースユーザーのパスワード"7layer"
  4. ファイルを保存して終了します。

 

このスクリプトは適切な場所に格納する必要があります。通常、スクリプトは/usr/local/bin/または/opt/SecureSpan/Appliance/bin/に置かれます。このスクリプトの呼び出しは、ゲートウェイアプライアンスのデフォルトのスケジュールされたタスクハンドラであるcrondによって通常は処理されます。このスクリプトの実行はcrontabにより設定されることが期待されます。このスクリプトをcron経由で実行するよう設定するのに支援が必要な場合は、CAサポートにお問合せください。

 

このスクリプトは、レプリケーションが機能している間に実行され、データベースから項目を削除することを意図しています。したがって、監査レコード保守スクリプトは、クラスタ内の1つのデータベースノードでのみ実行する必要があります。スクリプトが複数のデータベースノードで同時に実行された場合、各データベースノードは同じ監査レコードを削除しようとします。この競合状態はMySQLレプリケーションの失敗を引き起こします。

 

  1. この記事に添付されているファイル(audit_purge.sh)をワークステーションにダウンロードしてください。
  2. SFTPまたはSCP経由でssgconfigユーザーとしてスクリプトをゲートウェイアプライアンスにアップロードします。
  3. スクリプトをssgconfigユーザーのホームディレクトリから目的の場所に移動します。
  4. 実行可能にします( `chmod u+x audit_purge.sh`)
  5. 手動でスクリプトを実行するか、crondから目的のオプションを指定して実行するように設定します。

 

注:使用可能なオプションは、スクリプトを-hオプションで実行すると表示されます

 

保存されたパスワードの使用

 

保存されたパスワードを使用し、パージスクリプトでプレーンテキストのパスワードを使用しないようにするには、

  1. Policy ManagerでManage Stored Passwordsタスクを使用して、保存されたパスワードMySQLAdminPwdを作成し、"Permit use via context variable reference"オプションがチェックされていることを確認します
  2. 添付のポリシーgetPwd-1.0.xmlをインポートしたWeb APIをPublishし、解決パスが/getPwdであることを確認します
  3. audit_purge.shで以下の行をコメントアウトします:
    DBPWD = "7layer"
  4. 以下の行のコメントを解除します:
    # DBPWD = `/usr/bin/wget -O- -q --no-check-certificate https://localhost:8443/getPwd?p=dbadminpwd`
  5. (オプション)getPwdサービスと保存されたパスワードが正しく設定されているかどうかをテストするには、ゲートウェイサーバで次のコマンドを実行します。
    /usr/bin/wget -O- -q --no-check-certificate https://localhost:8443/getPwd?p=dbadminpwd
    保存されたパスワードMySQLAdminPwdに設定されたパスワードが表示されます。

 

Cronジョブの例

 

cronジョブを編集するには、
crontab -e

 

0 23 * * * /opt/SecureSpan/Appliance/bin/audit_purge.sh -v -p> /tmp/audit_purge.log

 

深夜(午後11時)に監査パージを毎日実行します。

 

注意:

  1. データベースバッチジョブは常にDBのパフォーマンスに影響するため、cronジョブは常に業務時間外にスケジュールする必要があります。
  2. パージジョブを頻繁に行えば、各回にの必要な時間は少なくなるため、日次または週次で週末に実施するのが良い考えです。
  3. パージの最初の時間が長時間かかることがあるため、ゲートウェイは停止しているように見えます。スケジュールされた時間枠で最初に手動でパージを実行することを推奨します。
    (デフォルトでは、毎回5000レコードしかパージされないため、最初にパージするときに-lオプションを指定するか、数回実行します)

 

 

この情報は、CA Support Online に掲載されている以下のナレッジベースを翻訳したものです。
TEC0000001279     Configuring and installing the audit record maintenance script

Attachments

Outcomes