めずらしくAdvent Calendarでもないのに1つ記事を投稿してみます。KubernetesからNutanixのCSI Volume Pluginを通じてNFSを使うために、Nutanix Files(以下、Files)をデプロイしたのですが、その際に、Nutanix File Analyticsも(以下、Analytics)一緒にデプロイしたので、先にこのAnalyticsについて、とても便利な機能なので紹介してみます。
本記事は、2019年12月31日時点、File Analyticsのバージョン2.0.1に基づいています。そのため、今後新しいバージョンが提供された場合に、当該記載と異なる部分が生じる場合がありますのでご注意ください。
はじめに
Filesは、データを取り扱う代表的なサービスであるファイルストレージのサービスをNutanixがマネージドで提供するものですが、Analyticsは、そのファイルサーバーにおける「ファイルやディレクトリのアクセス監視」、「ユーザーの振るまいの監視」などを含む「証跡管理」の仕組みを提供するものです。
Filesについておさらい
ご存じのようにFilesはNutanixが提供するNutanix上にファイルサーバーを提供するための機能です。Filesは、スケールアウト型のファイルサーバーと、そのファイルサーバーのコントローラーとなるNASヘッドをNutanixが仮想アプライアンスの形でマネージドで提供するものです。
「マネージドで提供」に含まれるものとして、主に以下のようなものがあります。
- 負荷状況に応じたファイルサーバーのスケールアウト・イン、スケールアップ・ダウン
- ファイルサーバーのパッチ(ローリングアップデートによる実施)
- 設定不要で自動でのファイルサーバーのファイルバックアップとDR設定1
- ユーザーがセルフサービスでできるWPV2によるファイルリストア
- ABEによるアクセス制御、など
Filesは、前述のとおりマネージドで提供されること、またNutanixの持つ分散ストレージを利用してファイルサーバー領域を提供するため、ユーザーは、ノードやホスト上のどこにファイルがあるか、と言ったことを意識する必要なく利用することが可能です。
Filesは、Nutanix上にデプロイされるものですが、通常のファイルサーバーと変わりなく、Nutanix上にあるVMは勿論のこと、Nutanixの外にあるVMやベアメタルマシン、パソコンなどからもSMB/CIFS、NFS v3/v4で利用可能です。
また、冒頭でも述べたとおり、Nutanix上のKarbonによって管理されるKubernetes、そうでないKubernetes、Nutanixの外のKubernetesに対して、NutanixのCSI Volume Pluginを通じてNFSを提供可能です。
ファイルサーバーにおける「証跡管理」
インフラストラクチャーがImmutableにコードで管理できるようなアーキテクチャーになり、インフラストラクチャーを「手塩」に掛けて育てると言った行為があまり意味をなさず、インフラストラクチャーの構築や管理に対する「価値」が低下する中で、相対的に企業やアプリケーションが利用する「データ」の価値は上がり続けています。
インフラストラクチャーとデータは密結合し不可分なモノとしてセットで保護してきた時代から、それらを分離して管理する時代がやってきたことで、極端な言い方をすれば、アプリケーションやインフラストラクチャーは"as code"な管理によって容易に復旧できることから、データさえ失わなければ、事業継続は可能になってきています。
逆に言えば、個人情報や企業機密を含め、企業が活動をし続ける上で重要な情報が格納されている「データ」は、なんとしても保護する必要があり、その保護の手段の1つとしてデータへのアクセス履歴の追跡の重要性が増しています。
昨今、情報漏えいに関連する事故や退職者が悪意をもってデータを持ち出すと言った事件が後を絶ちません。これらのニュースになるレベルの事故・事件の裏には、その何倍もの公になっていない、または検出できていない同様の事故・事件があるとされています。
いつ・だれが・なにに・どこから・なにをした、と言ったデータへのアクセス履歴の追跡は、前述のような情報漏えいやデータの持ち出しに備え、常に把握しておくことが必要になりつつあります。そして、企業が企業活動において日常的、恒常的に利用し、企業活動における重要な情報を多数取り扱うファイルサーバーにおいては、ファイルサーバーに格納されているファイル対して「いつ・だれが・なにに・どこから・なにをした」を把握できるような仕組みを「証跡管理」として、導入する必要があります。
Nutanix File Analyticsとは
前置きが長くなりましたが、AnalyticsはFilesにおいて、ファイル対して「いつ・だれが・なにに・どこから・なにをした」を把握するための機能をNutanixらしい"1-Clickエクスペリエンス"で提供するものです。
実は、証跡管理の仕組みを導入することは、言うほど手軽ではありません。ファイルサーバー側で証跡をとれるような設定の導入や取得した証跡データの保存や管理、解析のためのデータ整形や可視化のための仕組みも新たに考える必要もあります。
そのため、証跡管理が重要であることを認識はしつつも、ファイルサーバーの管理のためのコストに加えて、上記のような証跡管理のための仕組みを導入することの手間やコストを捻出することができず、対策が何も行われていないケースや膨大な手間と時間を掛ければ証跡が把握できる「だけ」のデータを溜め込むだけの仕組みを表面的に導入したケースも多々散見されます。
Analyticsは、そんな証跡管理のこれまでの現実を課題をシンプルに解決するFilesのAdd-onプロダクトです。
Analyticsのデプロイ
Analyticsのデプロイはとても簡単です。PrismのFile Serverダッシュボードから「Deploy File Analytics」を選択します。
Nutanixのクラスターからインターネットへの接続が可能な場合は、Analyticsのデプロイ画面で、インターネット経由でバイナリをダウンロードし、そのままデプロイウィザードに進むことができます。
Nutanixのクラスターからインターネットに接続できないクローズド(Dark SiteまたはAir Gap)な環境の場合は、Prismへの接続用端末から、あらかじめダウンロード済みのAnalyticsバイナリとmetadetaファイルをアップロードすることで、デプロイウィザードに進むことができます。
Filesの証跡監査機能であるため、前提としてFilesがデプロイされていること、またはFilesのデプロイにおいて利用する想定のLDAP(Active Directory)があるこことが前提です。Analyticsのデプロイウィザードで入力が必要な項目は、AnalyticsのVM名と利用するNutanixのネットワーク(VLAN)、それにAnalyticsのVMのサイズを選択する程度です。
なお、一点、気をつけるべきところがあるとすると、ThinProvisioningによって、デプロイ時にはあまり気にする必要はありませんが、Analyticsは、長期間渡って膨大な証跡データを保管し分析・可視化できるように、ちょっとしたデータベースとなっている関係上、最小のストレージ容量の要件が割と大きめとなっているほか、CPUやメモリの要件も多少大きめとなっています。動作要件の詳細については、ドキュメント3を参照ください。
Analyticsができること
Analyticsには、主に以下のような機能があります。
- ファイルサーバー内のファイルのアクセストレンドを分析・可視化
- ファイルサーバー内のファイルの種類を分析・可視化
- ファイルサーバー内のファイルの増減を分析・可視化
- 検知したいアクティビティを個別に設定する
- ユーザーのファイルサーバーに対するアクティビティを分析・可視化
- ユーザーのファイルサーバーに対するアクセス違反を検知・可視化
- ファイルごとのアクセス履歴を分析・可視化
- ディレクトリごとのアクセス履歴を分析・可視化
- ユーザーごとのアクティビティを分析・可視化
ファイルサーバー内のファイルのアクセストレンドを分析・可視化
どのファイルにどれくらいのアクセスがあったかを確認することができます。オプションとして、過去24時間、過去7日間、過去3ヶ月間などの期間単位でのアクセスTop 50と言った可視化を行うことが可能です。
ファイルサーバー内のファイルの種類を分析・可視化
ファイルの種類を拡張子ごとに事細かく分析と言うことまではしませんが、ある程度の種類ごとに、どんなファイルがどの程度あるかを確認することが可能です。こちらも画面は、Analyticsのダッシュボード画面ですが、Microsoft Officeのファイル、アーカイブされたファイル、音楽ファイル、画像ファイル、PDFファイル、拡張子なしファイル、テキストファイルと言った粒度での分析となっています。
ファイルサーバー内のファイルの増減を分析・可視化
ファイルが、いつ追加・削除・変更されたと言った情報をグラフで可視化しています。オプションとして、過去24時間、過去7日間、過去3ヶ月間などの期間単位での確認が可能です。
ユーザーのファイルサーバーに対するアクティビティを分析・可視化
ユーザー全体で行っているファイルサーバーに対するアクティビティの数を確認することが可能です。ユーザーごとにさらに何を行っているかについては、ユーザー名がリンクになっており、リンクをクリックすることで、ユーザーごと個別のアクティビティを確認することが可能です。
検知したいアクティビティを個別に設定する
デフォルトでPermissionのDeniedは、カウントするようになっていますが、ユーザー全体または個別のユーザーごとに、ファイルの削除やパーミッションの変更、アクセス拒否の回数や比率のしきい値を個別に設定してアラート検出するための設定が可能です。
個別に設定したしきい値に基づくバイオレーションは、Analyticsのダッシュボード画面、右上にあるこちらに通知が行われるほか、あらかじめSMTPの設定を済ませておけば、指定したメールアドレスにアラートを飛ばすことも可能です。
ユーザーのファイルサーバーに対するアクセス違反を検知・可視化
ダッシュボードの画面にも「Permission Denials」のTop 5ユーザーが表示されます。そして、Anomaliesのダッシュボード上では、個別に設定した検知したいアクティビティで違反と規定したものを表示します。例えば、デフォルト設定でのPermission Denials設定ではなく、その企業のポリシーに従って監視者が明示的にPermission Denialsの回数や比率のしきい値を指定し、それに違反しているか否かを検知することが可能です。
また、Permission Denialsのターゲットファイルは何だったのか、Permission Denialsになった操作は何だったのか、どのIPからのアクセスだったのか、と言った情報も併せて確認することが可能となっています。
ファイルごとのアクセス履歴を分析・可視化
Audit Trailsのダッシュボードからは、ファイルごとのアクティビティについて確認することが可能です。アクティビティを確認したいファイル名を一部入力することでサジェスチョン検索が走るので、非常に簡単に対象のファイルを見つけることが可能です。
そして、ファイルに対するアクティビティも以下のようにどのIPアドレスから、どんな操作を行ったかを確認することが可能となっています。
ディレクトリごとのアクセス履歴を分析・可視化
ディレクトリに対する操作についても、Audit Trailsのダッシュボードから確認することが可能です。ファイルごとのアクセス履歴を分析・可視化の操作と同様に、ディレクトリ名の一部の文字列を入力するとサジェスチョン検索が走り、簡単に目的のディレクトリを確認することが可能になっています。
ユーザーごとのアクティビティを分析・可視化
もう1つ、ユーザーごとの個別のアクティビティを確認することも可能です。Audit Trailsのダッシュボードで、ユーザー名の一部の文字列を入力するとサジェスチョン検索が走り、ユーザーを選択することが可能です。ユーザーごとに、どのIPアドレスから(User IP Address)、どのファイルに(Target File)、どのような操作を行ったのか(Operation)、と言ったことをこのダッシュボードで確認することができます。
またAnalyticsのダッシュボード上で情報を確認するだけでなく、以下のようにAudit Trailsのダッシュボードで確認できる個別のファイルごとのアクセス履歴、ディレクトリごとのアクセス履歴、ユーザーごとのアクセス履歴のアクティビティの情報は、jsonファイルやcsvファイルなどにエクスポートすることも可能です。
まとめ
ここまで見てきたとおり、Analyticsは、Filesで管理されているデータ(ファイル)に対する証跡管理の機能を提供します。企業にとって重要な「データ」を守るために必要な証跡管の機能をこのAnalyticsを利用することが簡単に入手することが可能であるほか、利用にあたっても複雑なオペレーション等必要なく、直感的に容易に利用することが可能です。
欲を言えば、ファイルやディレクトリごとのアクセス履歴に対して、どのユーザーがと言った情報も欲しいところですが、現時点において、こちらは別途、ユーザーごとのアクティビティを分析・可視化と組み合わせての確認が必要となり、今後のAnalyticsのさらなるエンハンスに期待したいところです。
現在、NutanixでFilesを利用している方は、是非、一度、Analyticsを試してみてはいかがでしょうか。
-
DR先のNutanixクラスターがある場合 ↩
-
Windows Previous Version(Windowsのファイルの履歴機能)と連動してユーザーがファイルのリストアができる機能 ↩
-
https://portal.nutanix.com/#/page/docs/details?targetId=Release-Notes-Analytics-v2_0_1:Release-Notes-Analytics-v2_0_1 ↩