2020年8月28日金曜日

syslog-ng Store Box大活用連載企画第10回「ログファイルを共有して、外部ホストからアクセスしてみる!」

SSB Sharesポリシー画面例

螺子です。syslog-ng Store Box(SSB)は、SSB内部のローカルディスクに保存されているログファイルをネットワーク共有して、外部ホストからアクセスすることができます。これは、外部のSIEMなどの解析ツールにログデータをアップロードするような場合に有益です。


SSBでは、NFS(Netowrk File System)またはCIFS(SMB)プロトコルを使用してアクセスすることができます。


今回は、SSBに保存されたログファイルを共有して、外部ホストからアクセスする方法について紹介します。この記事では、SSBのIPアドレスは"192.168.91.231"として説明しています。



これまでの連載記事:


NFSでの共有

まず、共有ポリシーを作成するのに[Policies]>[Shares]に移動して[Share policies]セクションの+ボタンをクリックします。

図1. [Share policies]セクション画面例

NFSでログファイルを共有するには、[Type]で"NFS"を選択します(ここでは、ポリシー名を"nfs"としています、必要に応じて適切なポリシー名を入力してください)。

図2. NFSポリシー設定例

共有するログスペース([Log]>[Logspaces])の[Policies]セクションの[Sharing policy]で、上述で設定した共有ポリシーを適用します。

図3. NFS共有ポリシー適用例

それでは、Linuxホストから共有ファイルにアクセスしてみます。


以下は、バイナリ形式の"center"ログスペースをマウントします。

mount -t nfs 192.168.91.231:/exports/center /mnt/ssb
図4. NFS共有マウント(バイナリ)例

ログファイルは、<YEAR>/<MM-DD>/以下に保存されます。

図5. バイナリ保存ログファイル例
図6. バイナリ保存ログファイルのツリー出力例

以下は、テキスト形式の"text_host"ログスペースをマウントします。

mount -t nfs 192.168.91.231:/exports/text_host /mnt/ssb
図7. NFS共有マウント(テキスト)例

ログファイルは、上述と同様に<YEAR>/<MM-DD>/以下に保存されますが、保存ファイル名はログスペース設定の[Filename template]フィールドで指定したファイル名になります。ログファイルのバイナリおよびテキスト形式の違いについては、過去記事"syslog-ng Store Box大活用連載企画第9回「ログをバイナリおよびテキスト形式で保存、違いを比較してみる」"を参照してください。

図8. テキスト保存ログファイル例
図9. テキスト保存ログファイルのツリー出力例

CIFSでの共有

次に、CIFSでログファイルを共有してみます。NFSと同様に共有ポリシーを作成するのに[Policies]>[Shares]に移動して[Share policies]セクションの+ボタンをクリックします。

[Type]で"CIFS"を選択します(ここでは、ポリシー名を"cifs"としています、必要に応じて適切なポリシー名を入力してください)。

図10. CIFSポリシー設定例

CIFS共有を使用する場合、[SMB/CIFS options]セクションで、"Domain"または"Standalone"を指定する必要があります。"Disabled"の場合、以下のエラーが出力され、コンフィグレーションは保存されません。

図11. CIFSポリシー設定エラー例

なお、"Allowed group"フィールドは必須で、"Search"権限を持つユーザーが含まれるユーザーグループを指定する必要があります。"admin"ユーザーは、"search"グループのメンバ―ではないので、共有ログスペースへのリモートアクセスはできません。ここでは、以下のように"search"ユーザーを"search"グループのメンバーにしています。

図12. ユーザー設定例

共有するログスペース([Log]>[Logspaces])の[Policies]セクションの[Sharing policy]で、上述で設定した共有ポリシーを適用します。

図13. CIFS共有ポリシー適用例

それでは、Windowsホストから共有ファイルにアクセスします。


以下は、net useコマンドを使用して、バイナリ形式の"center"ログスペースにアクセスしています。

net use z: \\192.168.91.231\center <password> /USER:ssb600¥search
図14. CIFS共有マッピング(バイナリ)例
※SSBは、SMB2.1以降のみサポートします。SMB2.1では認証方式が変更されました。/USER:<SSB-HOSTNAME>¥<SSB-USERE>になっていることに注意してください。
図15. CIFS共有マッピング(バイナリ)実行例
図16. CIFS共有マッピング(バイナリ)ツリー例

以下は、テキスト形式の"text_host"ログスペースをマッピングします。

net use z: \\192.168.91.231\text_host <password> /USER:ssb600¥search
図17. CIFS共有マッピング(テキスト)例
※SSBは、SMB2.1以降のみサポートします。SMB2.1では認証方式が変更されました。/USER:<SSB-HOSTNAME>¥<SSB-USERE>になっていることに注意してください。
図18. CIFS共有マッピング(テキスト)実行例
図19. CIFS共有マッピング(テキスト)ツリー例

いずれも、ログファイルは、<YEAR>/<MM-DD>/以下に保存され、テキスト形式の場合は、保存ファイル名はログスペース設定の[Filename template]フィールドで指定したファイル名になります(上述のNFSと同様です)。ログファイルのバイナリおよびテキスト形式の違いについては、過去記事"syslog-ng Store Box大活用連載企画第9回「ログをバイナリおよびテキスト形式で保存、違いを比較してみる」"を参照してください。


参考資料

詳細については、syslog-ng Store Box6 LTS管理者ガイドの「8.7 ネットワーク経由でのログファイルのアクセス」の各セクションをご覧ください。また、ユーザー権限とグループについては、「5.6 ユーザー権限とユーザーグループの管理」を参照してください。



いかがでしたでしょうか。SSBで保存したログファイルを共有することで、外部のSIEMなどの解析ツールにログデータをアップロードするような場合に利用できますね。


「おや、まてよ、バイナリ形式のログファイルはSIEMなどのツールでは読み込めないのでは?」と思われた読者の皆さん、安心してください。SSBではバイナリ形式で保存されたログファイルをテキストに戻す方法があります。これについては、今後の記事で紹介するつもりです。


それでは、次回の連載記事をお楽しみに!



SSBは、高信頼ログ管理アプライアンスです。様々なデバイスおよびアプリケーションからログメッセージを収集、分類、フィルタリング、正規化して安全に保存可能です。ログデータの信頼性を担保し、膨大なログが発生する高負荷環境、あるいはログロストが許されない企業・組織のログ管理に最適です。


syslog-ng Store Boxについての詳細は、製品紹介ページ・製品ガイドをご参照ください。


評価版のダウンロード

問合わせ