2016まで1ヶ月を切りましたね!今年はどんな発表があるのか、今から楽しみですね。Cloud第6回目になります。Security(ES)」についてSCSK内藤様にご紹介頂きます。Model)という情報共通化標準を使って、異なるソースのログを表示できるように定義されています。そこで必要なのがデータモデルという機能です。データモデルは、マシンデータのアクセス方法と役割を表したもので、データの関係性を定義します。検知、調査に必要なデータのフィールドをデータモデルと紐付けることで、ダッシュボードやレポートをそのまま利用できるようになります。今回は、無償で7日間使うことができるSANDBOX環境を使ってデータモデルの作成とピボットツールを使った検索、そしてESのダッシュボードを使った操作感などをご紹介したいと思います。SANDBOX」を選択し、「CONTINUE」をクリックします。http://splunk.force.com/SplunkCloud?prdType=EnterpriseSecuritySplunk.comのアカウントでログインしましょう。INSTANCE」をクリックするとSplunkWebが開きます。次の画面が表示されたらチェックを入れてOKをクリックします。以下の画面が表示されれば、準備完了です!ここで少し余談となりますが、URLの「en-US」の部分を「ja-JP」に置き換えると日本語の画面に切り替わります。デフォルトでは「en-US」となっておりますので、「ja-JP」に置き換えてみてください。以降の手順は全て日本語画面を使って説明させていただきます。2)データモデルを作成データモデルでは非構造データからオブジェクト指向可能な階層を作ることができるため、Splunkの技術も経験もないユーザーやデータアナリストなどが、レポートやダッシュボードを作れるようになります。試しにサンプルログを使って新しいデータモデルを作成してみましょう。「設定」タブでデータモデルをクリックします。タイトルとIDに任意の名前を入力し、「作成」をクリックします。3)親オブジェクトを作成データモデルは一個以上のオブジェクトで構成され、オブジェクトに対してある条件を割り当てていきます。データモデルの中では、オブジェクトは親子関係で構成されます。■参考情報:データモデルについてhttp://docs.splunk.com/Documentation/Splunk/latest/Knowledge/Aboutdatamodels「オブジェクトの追加」からルートイベントを選択します。「オブジェクト名」「オブジェクトID」には任意の名前、「制約」には親となるサーチ文を入力します。ここでは以下のように入力します。「プレビュー」を表示して問題がなければ「保存」をクリックします。-----------------------------------------------オブジェクト名:root_objectオブジェクトID:root_object制約:sourcetype=linux_secure-----------------------------------------------続いて、属性を修正します。属性は利用可能なフィールドをルートレベルで定義します。「属性の追加」を展開して自動抽出を選択します。追加するフィールドにチェックを入れます。フィールドが表示されない場合は「名前で追加」をクリックして手入力で追加します。名前変更の欄にはフィールドと同じ名前を入力してください。追加フィールド:action,app,USER,src_ip,src_portここで、「編集」をクリックしてsrc_portのタイプを「文字列」から「数値」へ変更します。修正が終わりましたら、「保存」をクリックします。親オブジェクトの作成と属性の変更完了後は以下のような画面となります。今回は自動抽出を使って属性を追加しましたが、evalを使って新たなフィールドを作成することも可能です。4)子オブジェクトを作成linux認証失敗の子オブジェクトを作成します。オブジェクトの編集画面から「オブジェクトの追加」を展開して「チャイルド」を選択します。「オブジェクト名」「オブジェクトID」には任意の名前、「追加の制約」には以下サーチ文を入力します。「プレビュー」を表示して問題がなければ「保存」をクリックします。FailureオブジェクトID:Access_Failure追加の制約:action=”failure”-----------------------------------------------続けて認証成功の子オブジェクトを作成します。今度は以下の内容を入力し、同じように「プレビュー」を表示して問題がなければ「保存」をクリックします。10」という子オブジェクトも作成します。Failure」を選択します。5)データモデル権限を変更データモデルの権限を変更するため、データモデル「test_linux」のアクション編集から「権限の編集」を選択します。表示「すべてのApp」の読み取り権限(全員)にチェックを入れて保存をクリックします。6)ピボットを使ってデータモデルを検索してみようピボットは選択したデータモデルのさまざまな側面を表すテーブルやデータの視覚エフェクトを持つレポートを素早く設計することができるツールです。サーチ言語を使用せずにレポートを作成することができるツールです。オブジェクトを利用して、データモデル「test_linux」のアクション欄で「ピボット」をクリックします。Failure」をクリックします。検索途中でかまいませんので、行の分割で「src_ip」を選択し、「テーブルに追加」をクリックします。続いて、フィルタの条件を追加します。以下の通り、入力して「テーブルに追加」をクリックします。制限:最も高い10カウント-----------------------------------------------IPごとにイベントの数が集計され、認証失敗のイベントが多いTop10のIPが一覧で表示されます。そのままクリック1つで可視化もできます。「横棒」を選択すると先ほどの集計結果が横棒グラフで表示されます。他にも単一値、円グラフ、折れ線グラフなど統計結果にあわせてグラフを選択することができます。7)データモデルとフィールドの紐付け設定を確認では、ESのAppsと共にインストールされるデータモデルの一部を確認していきます。「設定」をクリックして「データモデル」の一覧画面を開きます。一覧のタイトルから「Authentication」をクリックします。この「Authentication」データモデルは通常の認証成功、失敗だけでなく、特権認証やインセキュアな認証が子オブジェクトとして定義されています。以下画面をご覧いただくとわかりますが、Authenticationオブジェクトの制約には「tag=authentication」という記述があります。このタグというものは、一連のフィールド情報を管理、標準化するために使用されています。実は第2回の記事でご紹介したエイリアスという機能も同じ目的で使用されています。エイリアスは異なるフィールド名を使用する2つの異なるソースにデータを参照させるために使用しました。それに対してタグは複数ソースのイベントをグループ化するために使用します。Security(ES)の画面を見てみましょう!前置きが長くなりましたが、ES画面の一部をご紹介します。Review」をクリックします。Domain、Time、Tagを入力し、「実行」ボタンをクリックすると、自動的に5段階のUrgency(緊急度)で振り分けられた結果とイベントが表示されます。これにより緊急度が高い場合にアラート通知を行うといった設定も可能になります。緊急度がHIGH以上のイベントを通知対象とすることで余分なアラート通知を抑制することが可能です。Posture」をクリックします。次の画面では自動的に5段階に振り分けられた緊急度の情報を使って、ソース全体での統計結果を1つの画面にまとめて表示しています。ソース全体で何件のイベントが発生しているか、昨日と比較してどのくらいイベント数が増減しているかなど、直感的に見てわかるようなダッシュボードの画面です。Security(ES)のレポート最後にESのレポートをいくつかご紹介します。ESでは、様々な用途・シーンで使うことができるようにレポートも多数用意されています。Malwareでは28個、IDSでは24個ものレポートが用意されています。以下にレポート画面の一部を掲載いたします。Security(ES)」をご紹介しました。ESは複数のデータモデルで構成されていているため、ESの仕組みを少しでもわかってもらえるようにデータモデル作成の演習を行いました。実際に構築する際は、タグ、エイリアスなどを使用してフィールドとの紐付けが必要です。紐付けを行うことですぐにダッシュボードやレポート画面が使えるようになります。ESは不正な通信、怪しい通信を検知するための検知アルゴリズムを独自で持っているため、SIEMとして使うことができる便利なAppsです。ESではどんなことができるのかをSANDBOX環境を使って確認してみてください。Intelligence」を使って、サーバ運用やシステム運用でSplunkを活用する方法をご紹介します。Cloud活用事例は以下サイトをご参照下さい。Cloudは1日に取り込むデータ量に応じた課金体系となっています。Cloudご利用に際してのお問い合わせは下記宛先までお願いいたします。Splunk製品担当(https://www.scsk.jp/product/common/splunk/)splunk-sales@ml.scsk.jp03-5166-2826SCSKでは、Splunk導入に関する設計、構築、サポート等トータルサービスをご提供いたします。業種問わず様々なお客様への幅広い導入実績から、ニーズに合った最適なサービスをご提案させていただきます。サポート体制も整っておりますので、導入後の運用もご安心下さい。お気軽に上記お問い合わせ先までご連絡ください。Cloudでの設定やサーチに関しての技術的なご質問は、以下コミュニティサイトもぜひご利用ください。日本語でのご質問も可能です。Searchチュートリアル(日本語)※パート2以降をご参照ください。メインページはこちら。クラウド運用にご興味ある方は、こちらからOpsJAWSに登録ください。Cloud第5回目です。Logsの可視化についてSCSK内藤様にご紹介頂きます。AWSは様々なサービスがログを残すため、こういった一元管理ができると運用もともてシンプルでパワフルになりますね!みなさん、こんにちは。AWS)を用いた可視化画面のご紹介です。今回はさらにAWSのリソースやユーザー操作の監査を行う画面やAWSネットワーク上のフローデータを使った監視の画面などをご紹介していきます。LogsのログをSplunkへ取込み、統計結果を可視化画面に表示するAWSでの設定が正しくできれば、Splunk側での取込み手順は非常に簡単です。Part4の取込み手順とほとんど同じです。リソース設定を自動的にチェックするルールを作成します。ruleで新しいルールを追加します。新しいルールはAWS上にテンプレートがあるため、必要なRuleを選択します。今回は「restricted-common-ports」を追加します。AWS」のアイコンをクリックします。Input」ボタンをクリックします。Rules」を選択してください。Nameには、任意の名前を入力してください。Regionはそれぞれプルダウンメニューから該当するものを選択します。Namesで「restricted-common-ports」を選択します。Settingsタブからデフォルトの設定値を確認し、必要に応じて変更して下さい。ここではデフォルト設定(既定値)のまま「Create」ボタンをクリックします。正常に設定完了した場合、下図のように表示されます。ログの取得結果を確認してみようホーム画面に戻り、「サーチとレポート」のアイコンをクリックします。以下サーチを実行します。sourcetype=aws:config:ruleサーチ結果は返ってきましたでしょうか?もしサーチ結果が返ってこなくても大丈夫、安心してください。Rulesのトリガーとなるようなアクションがまだ行われていないからです。AWSの特定のセキュリティグループに対して以下ポートを許可する設定の操作をしてみてください。Rulesのログが発生し、Splunkへのログ取込みも開始されるはずです。AWS」のアイコンをクリックします。Rulesを選択します。統計結果のパネルをまとめたダッシュボード画面が表示されています。これによってConfigルール違反かどうかが一目瞭然ですね。Rulesが用意されています。ご興味がありましたらぜひ他のログ取込みも試してみてください。以下表にいくつかピックアップしておきます。Logsの取り込み設定を行います。LogsはEC2インスタンスのVPCやサブネット、各ネットワークインタフェース間を流れる通信のフローをキャプチャできるようにするAWSの機能です。新しいロールの作成で、IAMロールを作成します。少なくとも以下のアクセス権限が含まれている必要があります。コンソールを使用して、フローログが操作できます。今回はCloudWatchに「CloudWatch/VPCFlow」という名前のロググループを作成しました。VPCまたはサブネットのフローログを作成VPC、サブネットまたは各ネットワークインタフェースに対してフローログを作成することができます。ここではサブネットのフローログを作成します。先ほど作成したIAMロールと送信先ロググループを選択し、「フローログの作成」をクリックします。AWS」をクリックします。Input」ボタンをクリックします。Logs」を選択してください。Nameには、他ログのInput設定と同じように任意の名前を入力してください。Regionはそれぞれプルダウンメニューから該当するものを選択します。Groupにロググループ名「CloudWatch/VPCFlow」を入力します。Settingsタブからデフォルトの設定値を確認し、必要に応じて変更して下さい。ここではデフォルト設定(既定値)のまま「Create」ボタンをクリックします。AWS」をクリックします。Analysis」を選択します。Rejected(拒否された)通信のトラフィック量サマリーやアクセス元IPアドレスからロケーションを特定してMAPに表示しています。他にもRejectedトラフィックのポートのTop10やアクセス元IPアドレス毎のRejectedランキング、アクセス元IPアドレスと宛先IPアドレスの組み合わせでのRejectedランキングなどもあります。Logsを使うことによって、不正にアクセスを試みる通信が発生しているかどうかはすぐに見分けがつくようになります。AWS」を使って、ログ収集の設定とログの統計結果を確認していきました。Logsは、設定が簡単に行えてトラフィックの監視ができる非常に便利な機能です。ルータやファイアウォールなどのネットワーク機器から個別にトラフィックを収集する場合は、各機器からログ転送の設定をしなければならず、手間もかかります。AWS」のAppsをすべて無料で使うことができます。Security」を使って、セキュリティ分析の方法などをご紹介していきます。Cloud活用事例は以下サイトをご参照下さい。Cloudは1日に取り込むデータ量に応じた課金体系となっています。Cloudご利用に際してのお問い合わせは下記宛先までお願いいたします。Splunk製品担当(https://www.scsk.jp/product/common/splunk/)splunk-sales@ml.scsk.jp03-5166-2826SCSKでは、Splunk導入に関する設計、構築、サポート等トータルサービスをご提供いたします。業種問わず様々なお客様への幅広い導入実績から、ニーズに合った最適なサービスをご提案させていただきます。サポート体制も整っておりますので、導入後の運用もご安心下さい。お気軽に上記お問い合わせ先までご連絡ください。Cloudでの設定やサーチに関しての技術的なご質問は、以下コミュニティサイトもぜひご利用ください。日本語でのご質問も可能です。Searchチュートリアル(日本語)※パート2以降をご参照ください。メインページはこちら。クラウド運用にご興味ある方は、こちらからOpsJAWSに登録ください。