SFTPシェル スクリプト ファイル転送の構成

Document created by RSA Information Design and Development on Feb 16, 2017
Version 1Show Document
  • View in full screen mode
  

概要

sasftpagent.shシェル スクリプトを使用して、テキスト ベースのログ データをLinuxシステムから転送します。このスクリプトは、アクティブなログ ファイルからデータを取得しますが、スクリプトを実行するたびに前回実行時から追加された新しいデータのみを転送します。

RSA Security Analytics Log Collectorへログ データを送信する頻度に合わせて、スクリプトの実行スケジュールをcronで設定します。スクリプトは、SFTPまたはSCPプロトコルを使用してデータを転送します。

次の点に注意してください。

  • すべての接続は、イベント ソース側のシステムからSecurity Analyticsに対して開始されます。
  • このスクリプトは、すべてのPOSIX準拠のUnix/Linuxシステムおよびシェルで実行されます。

    注:OpenSSHバージョン4.4p1以降を使用する必要があります。

  • RSAは、一定の間隔でスクリプトを実行するためにcronジョブを設定することを推奨します。ただし、cronジョブを設定する場合は、Security Analyticsに送信するログへのアクセス権限を持ったユーザーで実行する必要があります。

このトピックでは、次の情報について説明します。

  • エージェントのバージョン3の機能拡張
  • エージェントをアップグレードするための手順:エージェントのバージョン2.7を現在実行している場合には、これらのステップに従います
  • エージェントをインストールするための手順:初めてエージェントをダウンロードする場合には、これらのステップに従います
  • シェル スクリプト パラメータの詳細
  • ログ ファイルを受信するようRSA Security Analytics Log Collectorを構成する手順

エージェントのインストールと構成を完了するには、次のステップを実行する必要があります。

  1. エージェントを現在実行しているかどうかに応じて、エージェントをインストールまたはアップグレードします。
  2. ログ ファイルを受信するようRSA Security Analytics Log Collectorを構成します。

バージョン3の機能拡張

  • このスクリプトは、すべてのPOSIX準拠のUnix/Linuxシステムおよびシェルで実行されます。
  • 構成ファイルは、/etc/rsa/sasftpagent.confにあると想定します。
  • 構成ファイルは、スクリプト ソースから分離した場所に配置することを推奨します。ユーザーが従わない場合には、警告が記録されます。
  • 継続ステータスは、デフォルトで、/var/lib/rsaに書き込まれます。
  • ユーザーの操作が、次のように強化されました。

    • root権限を持たないスクリプトの実行をサポートします。
    • エージェントをより柔軟に構成できるようになりました。実行する場所や、継続ステータスを保存するディレクトリを構成によって変更できます。たとえば、構成ファイルに代替の継続ステータス保存ディレクトリを指定することにより、非rootユーザーのホーム ディレクトリに継続ステータスを保存することができます。
    • 非rootユーザーとして実行する場合は、非rootユーザーのホーム ディレクトリに保存された構成ファイル(例:~/sasftpgent.conf)から自動的に構成を取得します。
    • エージェントにカスタム構成ファイルの使用を指示するコマンド ライン オプション(-Cまたは--config)が追加されました。
  • ログは/var/log/rsa/sasftpagent.logに書き込まれます。ログにログ レベルが設定されました。これにより、警告、エラー、致命的のレベルでログ エントリーをフィルタし、トラブルシューティングに役立てることができます。エラー後のトラブルシューティングで、ログ エントリーを使用できるようになりました。
  • ユーザーが構成ファイルの編集を忘れた場合は、致命的のログ エントリーが生成されます。このエントリーには、スクリプトを使用する前に構成を編集する必要があるという明瞭なメッセージが含まれています。

エージェントのアップグレード

バージョン3以前のsasftpagent.shを使用している場合は、このセクションの指示に従い最新のバージョンにアップグレードする必要があります。

主なステップを次に示します。

  1. SCOLから新しいエージェントをダウンロードします。
  2. /etc/rsa/sasftpagent.confに構成情報を移動します。
  3. mvpersinfo.shスクリプトをダウンロードします。
  4. mvpersinfo.shスクリプトを実行して、継続ステータスをバージョン3で使用する場所に移動します。
  5. エージェントのバージョン3を実行します。

構成情報の移動

バージョン2.7では、ユーザーの構成は次の2つの場所のいずれかで指定されました。

  • /usr/local/sa/sasftpapgent.shの中にインラインで構成を追加する(またはスクリプトを配置した場所)。
  • sasftpagent.shスクリプト内のCONFIG_FILEパラメータで指定した任意のファイルに、個別に構成を追加する。

スクリプトに追加したり、個別の構成ファイルに記載しているパラメータはすべて、/etc/rsa/sasftpagent.confに移動する必要があります。

次のパラメータは、変更されることの多い構成パラメータです。

  • SA
  • DATA_DIRECTORY
  • FILESPEC
  • FLAG_REMOVE_AFTER_SEND(Log Collectorに転送した後にデータ ファイルを自動的に削除する場合にのみ設定)

継続ステータス情報の移動

バージョン2.7では、継続ステータスは、デフォルトでは/usr/local/saディレクトリで管理されます。また、PERSINFO_DIRECTORYパラメータで指定することもできます。

継続ステータスのディレクトリには、トラッキング ファイルが保存されます。トラッキング ファイルには、各ログ データ ファイルの何行目までをLog Collectorに転送済みかが記録されます。エージェントはこの情報を使用して、前回実行した後に、各ログ データ ファイルに追加された情報を判断します。その後、新しいデータのみを転送し、トラッキング ファイルを更新します。

エージェントのバージョン3.0.1を実行する前に、これらのファイルを新しい場所に移動することが重要です。RSAは、継続ステータスを移動するために、mvpersinfo.shスクリプトを提供しています。

移動スクリプトの実行

継続ステータスを新しい場所に移動するには、次のステップを実行します。

  1. mvpersinfo.shをエージェントのバージョン2.7を実行しているシステムにコピーします。
  2. テキスト エディタでmvpersinfo.shを開き、OLD_PERSINFO_DIRECTORYに、2.7のPERSINFO_DIRECTORYに設定された値を設定します。
  3. 次のコマンドを使用して、スクリプトを実行します。

    sh mvpersinfo.sh

エラーがなく、スクリプトが正常に実行された場合、出力は生成されません。

ファイルが移動されたことの確認

スクリプトを実行した後は、次の手順を実行し、正常に移動されたことを確認できます。

  1. 次のコマンドを実行して、古いトラッキング ファイルのリストを取得します。

    find /usr/local/sa -name "*-*last.line"

  2. 次のコマンドを実行して、新しいトラッキング ファイルのリストを取得します。

    find /var/lib/rsa/sasftpagent -name "*-*last.line"

  3. 2つのコマンドの出力を比較します。ファイルのパスが異なる点を除き、出力が一致する必要があります。継続ステータスを移動した後に、これらのコマンドを実行した結果の例を次に示します。

$ find /usr/local/sa -name "*-*last.line"

/usr/local/sa/opt/log/bar.log-sa.last.line
/usr/local/sa/opt/log/foo.log-sa.last.line
usr/local/sa/var/log/foo.log-sa.last.line
/usr/local/sa/var/log/fob.log-sa.last.line

$ find /var/lib/rsa/sasftpagent -name "*-*last.line"

/var/lib/rsa/sasftpagent/track/opt/log/bar.test-last.line
/var/lib/rsa/sasftpagent/track/opt/log/foo.test-last.line
/var/lib/rsa/sasftpagent/track/var/log/foo.test-last.line
/var/lib/rsa/sasftpagent/track/var/log/fob.test-last.line

エージェントのインストールおよび構成

エージェントを以前のバージョンからアップグレードしない場合は、このセクションのステップに従いエージェントのダウンロード、インストール、構成を行います。

  1. エージェントのダウンロード
  2. エージェントを実行するユーザー アカウントの作成または構成
  3. 構成ファイルの作成および更新
  4. エージェントの定期的実行をスケジュール:任意の間隔でスクリプトを自動的に実行するために、cronまたはOSのスケジュールを構成します。

エージェントのダウンロード

以下のステップに従い、SCOLからSA SFTP Agent(sasftpagent.sh)をダウンロードします。

  1. RSA SCOL(SecurCare Online)にログオンします。
  2. 検索ボックスに、RSA Security Analytics SFTP Agentsと入力します。
  3. 検索結果から、RSA Security Analytics SFTP Agentsを選択します。
  4. RSA Security Analytics Unix SFTP Agentをクリックして、ローカルの任意の場所にファイルを保存します。
  5. sasftpagent.shファイルに実行権限を設定します。たとえば、次のようなコマンドを実行します。

    chmod 755 /usr/local/sa/sasftpagent.sh

エージェントを実行するユーザー アカウントの作成または構成

エージェントを実行するユーザー アカウントには、ログが保存されるDATA_DIRECTORYに対する読み取り権限と、エージェントが継続ステータスを保存するPERSINFO_DIRECTORYに対する読み取り/書き込み権限が必要です。

構成ファイルの作成および更新

構成ファイルを、 /etc/rsa/sasftpagent.confに作成します。構成ファイルがない場合は、スクリプト ファイル(sasftpagent.sh)をコピーして、構成パラメータ以外の箇所をすべて削除します。使用環境に合わせて、構成ファイルの内容を更新します。詳細は、下のパラメータ表を参照してください。

スクリプトを最初に実行する場合は、次のコマンドを実行します。collector-IPはSecurity Analytics Log CollectorのIPアドレスです。

sftp collector-IP

注意:スクリプトの実行を自動化するときの実行ユーザーで、このコマンドを実行する必要があります。

シェル スクリプト パラメータ

次の表では、スクリプトの構成で設定する必要がある最も重要なパラメータについて説明します。

                                                             
パラメータ説明
SA名前またはIPアドレスRSA Security Analytics Log Collectorホストの名前またはIPアドレスです。
DATA_DIRECTORYディレクトリ パス。複数の場合はコロン(:)区切り。

ログ データのローカル ソースです。次に例を示します。

DATA_DIRECTORY=/var/log:/var/log/audit

1つまたは複数のフォルダを指定することができます。

注:指定されたすべてのフォルダで、FILESPECパラメータで指定されたファイル名が検索されます。

FILESPECファイル名。複数の場合はコロン(:)区切り。

スクリプトが処理するログ ファイルを指定するファイル マスクです。

注: このスクリプトは、行単位のテキスト データをサポートしています。そのため、.xml、.zip、.gz、.exeなどの非テキスト形式はサポートされていません。

たとえば、フォルダ内のすべてのファイルを処理するには次のように指定します。

FILESPEC=isi_webui.log:smb.log:/etc/logs/*.*

注: 指定したファイルは、別のフォルダに置くことができます。DATA_DIRECTORYパラメータに必要なすべてのフォルダのリストを追加してください。

SA_DIRECTORYSecurity Analytics Log Collectorホストのディレクトリ名

宛先フォルダ名です。次に例を示します。

/upload/apache/muditapache

TRANSFER_METHODSFTP、またはSCPSFTPがデフォルト(および推奨)転送プロトコルです
USEHEADヘッダー行の数を示す、正の整数

各ログファイル内のヘッダー情報をLog Collectorに毎回転送する必要がある場合は、行数を指定します。

ヘッダーがない場合には、0を設定します。

DEPTHフォルダ レベルの数を表す、正の整数

構成されたDATA_DIRECTORYの下でログを検出するためにスクリプトが検索するレベルの深さを決定します。

デフォルトはDEPTH=1で、DATA_DIRECTORYに構成されたディレクトリの直下でスクリプトがデータ ファイルを検索しますが、サブ フォルダーは検索しません。

SFTPおよびSCPの設定
USERNAMEsftp Security AnalyticsプラットフォームでのSSHデーモンのデフォルト設定です。
IDENTITYファイル パス

Security Analyticsへの接続に使用される秘密鍵の場所です。鍵の生成手順については、次のトピックを参照してください:SFTP Agentのインストールと更新.

デフォルト値は次のとおりです。

$HOME/.ssh/id_rsa

構成スクリプトの情報

すべての構成設定は、スクリプトから分離した構成ファイルを使用してロードすることができます。このファイルには、各行に1つの設定と1つの値が含まれています(コロン区切りで複数のエントリーを指定できるDATA_DIRECTORYとFILESPECを除きます)。

構成ファイルは、シェル スクリプト内のSA_DIRECTORYで指定した場所、またはスクリプトを呼び出すシェルのパスに配置する必要があります。SA_DIRECTORYを構成ファイルで上書きすることができますが、シェル スクリプトは、スクリプト内のSA_DIRECTORYに指定された構成ファイルを開こうとします。

たとえば、構成ファイルには次の情報が含まれます。

SA=10.31.246.168
DATA_DIRECTORY=/var/log/httpd
SA_DIRECTORY=/upload/apache/muditapache
USERNAME=sftp
FILESPEC=*_log*
FLAG_REMOVE_FILE_AFTER_SEND=no

ログ ファイルを受信するRSA Security Analytics Log Collectorの構成

Log Collectorを構成する前に、Security Analyticsが一度もSFTPまたはSCPを使用してログを収集したことがない新しいイベント ソースでは、忘れずに次のコマンドを実行してください。

sftp collector-IP

collector-IPはSecurity Analytics Log CollectorのIPアドレスです。

ログ ファイルを受信するためにSecurity Analyticsを構成するには:

  1. LinuxまたはUnixのイベント ソースで、次のコマンドを実行して公開/秘密鍵のペアを生成します。

    ssh-keygen -b 1024 -t rsa

    このコマンドは、id_rsaをRSA Security Analyticsが使用するOpenSSH形式で作成します。LinuxシステムがデフォルトでIETF SECSH形式を作成する場合は、次のコマンドを実行して変換します。

    ssh-keygen -f ~/.ssh/id_rsa.pub -i

  2. Log Collectorに公開鍵を追加します。手順は、次のトピックを参照してください:SFTP Agentのインストールと更新.

You are here
Table of Contents > SFTPシェル スクリプト ファイル転送の構成

Attachments

    Outcomes