はじめに
今回は、予告通り去る12月5日にメーカー側でリリースされたSAM v2.0.0とエージェントのv5.8.0から可能となったSAM(Snare Agent Manager)によるエージェントの構成管理をご紹介します。
従来Snareでは、Snare Central付属のエージェント管理コンソール(AMC: Agent Management Console)に、エージェントの設定管理の機能がありました。しかし、今回の更新でSAMとAMCで分かれていたエージェント管理機能がSAMに一本化されました。同時に、エージェント設定管理の方式がAMCのプッシュ型からプル型に変更となり、より使いやすく安全になるように改良されました。
なおSnare CentralのSAM 2.0対応版は未発表ですが、近々リリースされる予定です。
エージェントの設定管理:SAM(Snare Agent Manager)とAMC(エージェント管理コンソール)の違い
SAM 2.0によるエージェント設定管理のAMCとの大きな違いは、このプッシュ型からプル型への変更です。考え方として、プルのSAM 2.0ではSAMにマスター設定があり、エージェントはそれを単純にコピーして使うだけで設定変更はできません。これは、従来のプシュッのAMCではマスターがAMCにあっても、エージェントのWeb UIで設定変更ができてしまい、マスターの存在か曖昧になる可能性があったのとは大きな違いです。
プッシュ型では、設定を管理するAMCからアクセスを開始して設定値をエージェントに押し出し(プッシュ)します。これに対して、プル型の場合は、設定を使う側のエージェントからアクセスを開始して、設定値をSAMから読み出し(プル)して、エージェント自身が自分の設定に反映します。
AMCでもSAMでも設定のマスターを持っているのは、中央で全体を管理するAMCやSAMです。プッシュ、プルというのは、そのマスターの設定値が、プッシュ(押し出)されるのか、プル(引き出)されるのかを指していると考えると分かり易いでしょう。
この変更に伴って、SAM 2.0によるエージェントの設定管理を使う場合は、従来のWeb UIによる設定変更がロックされてできないようになりました。これには設定の中央管理を徹底するという意味があります。中央で集中管理していてもローカルな変更を許していては、設定値の保証ができないからです。
また更に、SAM v2.0.0とエージェントv5.8.0により「ヘッドレスオペレーション」が可能となり、セキュリティが強化できます。この「ヘッドレス」というのは、エージェントのUIをすべて無効にして、SAMからのみ設定を制御するやり方のことで、潜在的な侵入経路が減るのでセキュリティが強化できます。
エージェント設定管理方法の相違点
AMCによる従来方式 | SAMによる新方式 | |
---|---|---|
管理ツール | AMC(エージェント管理コンソール) | SAM(Snare Agent Manager) 2.0 |
設定の配信方法 | スケジュールに従って設定をAMCからエージェントにプッシュ | エージェントがポーリング頻度に従ってSAMから設定をプル |
エージェントのWeb UIからの設定 | 有効 | 不可 |
ヘッドレスモード | なし | あり |
エージェント版数 | 主にV5.0.0以上(詳細はここ) | 5.8.0以上 |
SAMの版数 | ― | 2.0.0以上 |
Snare Centralの版数 | 7.0.x以上 | 8.6.0以上(予定) |
SAM v2.0.0とエージェントv5.8.0以上でできるエージェント設定管理の概要
このSAMとエージェントの最新版から可能となるエージェント設定管理の概要は、以下の通りです。
- エージェントをタイプやバージョン範囲、IPアドレスやホスト名正規表現などのフィルターで選別しエージェントの管理対象グループを作成します
- グループのフィルター設定に基づきエージェントを自動的にグループに割り当てます
- 特定エージェントの設定を直接またはJSON設定ファイルから読み出し、マスター設定を作成します
- SAMのWeb UI上でマスター設定を修正します
- グループ内のエージェントがSAMに接続する頻度を設定します
- SAMがグループのエージェントに更新された設定(監査ポリシーを含む)を提供します
- グループのエージェントを確認しその状態(ステータス)を確認します
- エージェント(v5.8.0以降)は、SAMからポリシーの更新を取得し反映します
詳細は、「Snare Agent Managerユーザーガイド」の1.SAM(Snare Agent Manager)2.0リリースノートを参照してください。
SAMによるエージェント設定管理の前提条件と運用イメージ
前提条件
- SAMは 2.0.0版以上、エージェントは5.8.0版以上であること
- SAMのあるマシンのファイアウォール設定で、エージェントからTCP 6161,6262ポートで受信が可能なこと
運用イメージ
ここでは、以下の図のWindowsのサーバー用のエージェントv5.8.0のグループを例に説明します。
マスターの管理はSAM上だけでもできますが、より便利なようにマスターにするエージェントを一つ選び、設定変更はその「マスター・エージェント」のWeb UIで変更することにします。
「マスター・エージェント」の設定をSAM 2.0のマスター設定に取り込み、更にグループ内のエージェント全部がSAMからマスター設定を取り込んで更新する運用を前提とします。このSAM上のマスター設定を「SAMのマスター(設定)」と呼ぶことにします。
上記の運用を行う場合は、「マスター・エージェント」はグループから除く設定が必要です。これは重要です。もし「マスター・エージェント」をSAM上の設定でグループに入れてしまうと、Web UIではSAMによってロックされている設定を変更ができなくなるからです。
SAMとエージェントのインストール及び初期設定
SAMとWindowsエージェントのインストール
Windows版の単独のSAMのインストールについては、「Snare Agent Manager インストールガイド」をご覧ください。
Snare Centralに付属のSAMは、Snare Centralと同時にインストールされます。インストール方法については、「Snare Centralインストールガイド」をご覧ください。ただし、現時点(2024年1月12日)で最新のSnare Central v8.5..4に付属のSAMでは、まだエージェントの設定管理の機能はサポートされておりません。
Windowsエージェントのインストールについては、「Snare Windows エージェント インストールガイド」をご覧ください。今回の説明では、4台のWindowsサーバーにSnare WindowsエージェントがウィザードのQuickインストールされた状態を前提として話を進めます。
SAMの初期設定
ここでは、WindowsサーバーにウィザードによりインストールしたSAMのデフォルト設定を前提にお話しします。
また、評価用もしくは正規のSAM KeyライセンスとWindowsエージェント用の機能ライセンスが少なくとも4台分インストールされているものとします。
SAMに対するライセンスの適用については、このシリーズのブログの第一回目「【Snare】ログ収集エージェント管理の合理化(1)Snare Agent Manager(SAM)によるライセンス管理」を参考にしてください。
各エージェントWeb UIでの設定作業
「マスター・エージェント」の設定
マスターとするWindowsエージェントを一つ選びます。今回の例では、SAM 2.0.0をインストールしているWindowsサーバー(91.74)のWindowsエージェントをマスターとしています。こうすれば、SAMとマスター・エージェントが容易に一か所で管理できます。
マスター・エージェントを設定する際のポイントは、Web UIのAccess Configurationのページで以下の設定をすることです。
- Restrict remote control of SNARE agent to certain hosts に☑を入れます
- IP Address allowed to remote control SNARE にSAMのIPを入れます
加えてもし各エージェントのローカルでWeb UIから設定が見たい場合は、127.0.0.1をカンマで区切って入れます。ここでは取り敢えずは確認のために、127.0.0.1も入れています。SAM 2.0のあるサーバーのIPだけでも、そこのブラウザでWeb UIを開いて値が反映されたかチェックできるので、十分でしょう - Require a password for remote control に☑を入れます。セキュリティ上入れるべきでしょう
- Password to allow remote control of SNARE セキュリティ上問題ないレベルの複雑さのパスワードを入れます。大文字、小文字、記号、数字・・・等、Snareエージェントとしては特に設定上の制限はありません
- Snare Agent Manager IP ここにSAM をインストールしているWindowsサーバーのIPを入れます
設定を入力したらChange Configurationをクリックの上、Apply Configuratiion & Restart Serviceを実行して反映します。
同じページにあるSnare Agent Manager(SAM)関連の以下の二つの設定は、少なくとも最初はデフォルトのまま変更しない方がよいでしょう。
- Snare Agent Manger Port ここは将来的にもデフォルトのまま6262で問題ないでしょう
- Snare Agent Manager Authentication Key このKeyを変更すると関連するKeyをすべて変更する必要があるので、まずはデフォルトのまま作業します。この設定は変更しないままであるとこの画面に「You have not configured Snare Agent Manager Authentication key yet. Using default Authentication key .」というWarningが出力されます。Warningを消すためには変更が必要ですので、そのやり方も後ほど紹介します
もちろん、その他にグループのエージェントに反映したい一般の設定を入れ込み動作確認しておくのがよいでしょう。例えば、Destination Configurationで、ログの送信先の設定を追加する、Audit Policy Configurationでイベントログのフィルタリングの設定を追加するなどです。
グループ内のマスター以外の各エージェントの設定
エージェントをQuickインストールした状態を前提とすると、Access Configuration | Snare Agent Manger IP にSAMのIP(この例では、192.168.91.74)を入力し反映することが重要です。
IPアドレスを入力したらChange Configurationをクリックの上、Apply Configuratiion & Restart Serviceを実行して反映します。
このようにSAMのIPをグループ内の全エージェントに設定しておくだけで、あとはSAMからマスター設定を反映できます。
繰り返しになりますが、一度でもSAMから設定を受け取って反映すると、Web UIでは設定変更できなくなるので注意してください。
SAMでのエージェントグループ作成
エージェントグループの作成とバージョン範囲等の設定
SAM 2.0で同じ設定を反映したいエージェントのグループを定義します。その前提としては、SAMが2.0.0版以上であることの他に、以下の二つの条件が必要です。
- AMC機能をサポートする機能ライセンス(IA_SAM_CONFIG)がSAMにアップロードされていること
- SAM | Agents | Agents Policy のEnableスイッチ(スライダー)がEnabledになっていること
同じ画面でEnableスイッチの右隣りにあるフォルダマークのAdd New Agent GroupのアイコンをクリックしてCreate New Groupのポップアップを開きます。ここでは分かり易い Group Name を入力し、 Parent Group, Type of Agent, Version Range, をプルダウンから選択します。
Polling Frequency (mins) にエージェントからSAMへのポーリング間隔を設定します。テストであれば短く最短の5分に設定するのがよいでしょう。運用では長めの90~120分がメーカーの推奨値です。
マスター・エージェントからマスター設定の取得
グループを定義するためには、最初のマスター設定を取得する必要があります。方法は二つあり、Create New Groupのポップアップの真ん中のMaster Configurationのエリアで、エージェントから読み込むのか、JSONファイルに保存された設定を読み込むのかボタンで選択します。
ここでは91.74のマスター・エージェントから直接読み込むので、ボタンでAgentを選択した状態でマスター・エージェントのIPとportを入力します。その際のポート番号は、マスター・エージェントのWeb Server Portに指定した番号を入れます。ここではデフォルト設定の6161を入れています。
更に91.74のWeb UIのパスワードをEnter Passwordの領域に入力して、赤いGET MASTER CONFIGのボタンをクリックすると、91.74の設定が読み込まれてグループの「SAMのマスター設定」となります。
グループのフィルター設定
フィルターは、IPアドレスによるものと、ホスト名の正規表現によるものと2種類あります。Create New Groupのポップアップの下のほうで設定できます。
IPアドレスのフィルターは最大5つ設定でき、いずれかのフィルターに一致したエージェントがグループに属することになります。IP Netmask、CIDR Block、IP Regexの三種類のフィルタータイプが用意されているのでプルダウンで選択の上、設定を入力してください。
Hostname Regexは、ホスト名の正規表現でのフィルターで、これはIPアドレスのフィルターとはANDで効きます。今回は91.74を「マスター・エージェント」として、グループには入れない設定とします。91.73、74、75のホスト名はそれぞれWIN-WORKGROUP-1, 2, 3なので、正規表現の[^2]+で74の”2″を除外しています。91.133は、WIN-g6ru0hjq1vpというWindowsが勝手につけたホスト名のままでしたので、g.*の部分でひっかけるようにしています。
なおこのWindowsのホスト名に関しては、大文字小文字の違いは無視されます。ここでは、
Win-(Workgroup-[^2]+|g.*) と記述しています。
フィルターを何も設定しないと、Parent Group, Type of Agent, Version Range、の指定だけで絞り込まれたエージェントが全部そのグループに含まれることになるので注意してください。
SAMのマスター設定のグループ内エージェントへの配布
最後に、赤いADDをクリックすると、グループが設定されます。このタイミングから、グループ内のエージェントからSAMにアクセスがあれば、そのエージェントにマスター設定が配布・反映されてロックされます。エージェントからSAMに通信できなくなる設定をマスターとすると、後の処理が面倒になりますので、慎重に注意してクリックするようにしてください。
SAM | Agents | Agent Groups | Supported Agents の中から、作成したエージェントグループを選択します。更に、一番右のペインの2つあるタブの左側のエージェントグループ名(この場合は、Windows Agents v5.8 )のタブを選択します。上記のようなグループ内のエージェントの状況が表示されます。
90分程度待ってもこのエージェントグループの状態表示の画面上で、STATUSがPendingからUp to Dateに変わらない場合は、問題がある可能性があります。詳しくは、各エージェント毎にLAST SEENの時刻から90分が目安です。
SAMのグループマスター設定の内容確認
Agents | Agents Policies | Agents Groups | Supported Agents で、先ほど作成したグループを選択します。右側のペインに、入力したグループ名のタブと歯車マークのMaster Configurationとの二つのタブが表示されます。ここで、Master Configurationタブを選択すれば、マスター設定の内容が表示できます。
この画面で変更可能な設定は、入力可能領域の枠が表示されます。枠がない設定、例えば上記のSAMの認証キー(Authentication Key)は、SAMのマスターからは設定変更できません。
各エージェントのWeb UIでの設定確認
今回のマスターの設定では、各エージェントがインストールされているWindowsサーバー上で、https://localhost:6161 を開けば、各エージェントの設定状況が確認できます。
Web UIで確認してSAMのマスター設定が反映されていない場合は、Restart Serviceを実行すればエージェントがSAMにアクセスし、その場で設定が反映されます。
SAM上のグループマスターでの設定変更と反映
SAM上のマスターの設定を変更し、グループ内エージェントの設定を変更する方法を紹介します。ここでは、TLSのバージョンをv1.3以上に制限してv1.2を無効にする設定である、Require at least TLS 1.3 for browser connections to Agent Website を有効にする変更を例に説明します。以下のようにSAMのマスターで□に✔を入れることができます。
SAMのマスターをこの画面で変更し、赤いEDITのボタンをクリックして抜けると、マスターが変更されます。そして、グループ内のエージェントがSAMにポーリングしてきたタイミングでエージェントに反映されます。
この設定は、SAMとグループのエージェントとでチェックの有無が食い違っていても通信ができるので、どのように変更しても問題はありません。
この設定変更の場合は、エージェントグループのポーリング間隔設定が各エージェントに反映済みです。ですから、そのポーリング間隔+5分程度待って、PendingがUp to Dateになれば問題ありません。
グループに入れないマスター・エージェントを立てる運用の場合は、SAMのマスターだけを操作するのは混乱の原因となるので、やらない方がよいでしょう。
SAMとエージェント間の通信の認証キー(Authentication Key)の変更
先にご紹介したようにSAMの認証キー(Authentication Key)は、SAMのマスターからは変更できません。また、SAMの認証キーの設定変更を行って、グループのエージェントに反映すると、そのままでは認証キーが不一致となりSAMとエージェントとの間で通信ができなくなります。
一方、この設定を変更しないとエージェントのWeb UIには、以下の警告メッセージが出力されます。本来この設定はデフォルト値から変更すべきものです。
そこで、以下にSAMの認証キーの設定のマスターを更新して、グループに反映する方法を説明します。
「マスター・エージェント」の設定変更とJSONファイルの採取
グループ外としていたマスター・エージェントのWeb UIで、Access configuration | Snare Agent Manager Authentication Key の入力でSAMの認証キーの値を変更します。赤いChange Configuration のボタンをクリックして設定変更を確定し、Apply Configuratiion & Restart Service をクリックしてこの設定変更を反映します。
上記の例では、デフォルトのKeyの値に “_TEST”を追加しています。
この更新された設定を、エージェントのプログラムであるSnareCore.exeでJSONファイルに落とします。
- 管理者権限でコマンドプロンプトを開きます
- Snareをインストールしたディレクトリに移動します。通常は、c:\Program Files\Snare です
- 次のコマンドを実行します
SnareCore.exe -j settings.json - SnareCore.exeのところは、エージェントがDesktop専用ならSnareDesktop.exeに変えてください
SAMのマスターへのJSONファイルの取り込みと反映
既存のSAMのマスター設定を変更する際に、JSONファイルに落とされたマスター・エージェントの設定を取り込む方法を説明します。
SAM | Agents | Agent Policies の画面でSupported Agentsの中から目的のエージェントグループ(ここでは、Windows Agents v5.8)の … をクリックしてUpdate Agent Groupの画面を開きます。
Master Configurationの枠の中で、Select Master Configuration fromのところで、Fileをクリックして選択します。Browseをクリックして、Windowsのアップロードファイルの選択画面で先ほどエージェントから読み出したJSONファイル(settings.json)を選択します。
赤いGET MASTER CONFIGボタンをクリックすると、JSONファイルが読み込まれます。この段階ではまだ、JSONファイルの設定はSAMのマスターには反映されていません。
最後に赤いEDITボタンをクリックすると、マスターがそっくりJSONに書かれたマスター・エージェントの設定に変更されます。グループのエージェントのSTATUSを確認するとPendingとなっているはずです。
設定されていたポーリング間隔+5分程度で、以下のようにグループのエージェントが全部Up to Dateになります。
ところがこの設定の更新のためにSAMとグループ内のエージェントおよびマスター・エージェントとの間が認証キーの相違で通信できなくなっています。上記の例では、LAST SEENの時刻が更新されないため、LAST UPDATEの時刻とポーリング間隔を大きく超えても一致したままとなります。
SAMの設定変更と通信の回復
実際のところ一日後には、SAMで確認するとマスター・エージェントとグループのエージェントの全部で4つがUnreachableとなっていました。
これを解決するには、SAM自身の認証キー(Authentication Key)をエージェントの変更したキーと一致させる必要があります。ですから、エージェントグループの認証キーを変更した場合は、忘れずにすぐにSAM自身の認証キーも変更することが重要です。また、SAM自身の認証キーは一つしかないので、複数のグループを一つのSAMで管理する場合は、全てのグループで同一の認証キーを使う必要があります。
SAM | Settings | General の画面を開き、一番上にあるAuthentication Keyの目玉マークをクリックします。キーの文字列が表示されるので、🔑マークをクリックして自動生成するか、手で書き換えるかします。
この画面をスクロールした一番下に赤いUpdateボタンがあるのでクリックして更新した設定を書き込みます。画面の一番上にRestart Requiredの表示が出るので、Restart SAMのボタンをクリックしてSAMを再起動します。これで、認証キーの更新が完了しました。
再度SAMにログインして、エージェントのポーリング間隔+5分程度待てば、エージェントはReachableに戻り、LAST SEENの時刻がポーリング間隔で更新されるようになります。
おわりに
今回は昨年12月にリリースされました、SAM 2.0.0とエージェントの5.8.0で可能となったSAMからのエージェントの設定管理機能をご紹介しました。予定より1回多い4回シリーズとなりましたが、いかがでしたでしょうか。皆様のログ統合管理のお役に立てれば幸いです。
最後までお読みいただき、ありがとうございました。
参考資料
- 「Snare Agent Manager ユーザーガイド」
- 「Snare Agent Manager インストールガイド」
- 「Snare Agent Manager ライセンスガイド」
- 「Snare Centralインストールガイド」
- 「Snare Windows エージェント インストールガイド」
- 【Snare】ログ収集エージェント管理の合理化(1)Snare Agent Manager(SAM)によるライセンス管理
- 【Snare】ログ収集エージェント管理の合理化(2)Snare Agent Manager(SAM)によるエージェント一括アップグレード
- 【Snare】ログ収集エージェント管理の合理化(3)Snare Central エージェント管理コンソールによる設定管理
お問合せ
30日無償でご利用いただける評価版を以下ダウンロードリンクにご用意しております。簡単に検証が開始できますので、ぜひお気軽にお試しください。