JP6680028B2 - Monitoring system, monitoring method, and monitoring program - Google Patents
Monitoring system, monitoring method, and monitoring program Download PDFInfo
- Publication number
- JP6680028B2 JP6680028B2 JP2016059528A JP2016059528A JP6680028B2 JP 6680028 B2 JP6680028 B2 JP 6680028B2 JP 2016059528 A JP2016059528 A JP 2016059528A JP 2016059528 A JP2016059528 A JP 2016059528A JP 6680028 B2 JP6680028 B2 JP 6680028B2
- Authority
- JP
- Japan
- Prior art keywords
- monitoring
- communication
- container
- result
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、監視システム、監視方法および監視プログラムに関し、特にコンテナの機密性を向上させる監視システム、監視方法および監視プログラムに関する。 The present invention relates to a monitoring system, a monitoring method and a monitoring program, and more particularly to a monitoring system, a monitoring method and a monitoring program that improve the confidentiality of a container.
仮想ソフトウェア単位の1つにコンテナがある。コンテナ型仮想化では、サーバのOS(Operating System)内のユーザ空間が仮想的に分割された空間をそれぞれ有し、OS内のカーネル空間を共用する複数のインスタンスがサーバで実行される。なお、起動したコンテナを特にインスタンスと呼ぶこともある。 A container is one of the virtual software units. In container-type virtualization, a user space in an OS (Operating System) of a server has virtual divided spaces, and a plurality of instances that share a kernel space in the OS are executed in the server. The started container may be called an instance in particular.
各インスタンスは、それぞれが他の環境と完全に独立した環境で実行される。よって、インスタンスが自身のコンテナ以外のコンテナのファイルにアクセスする可能性がないため、コンテナ型仮想化が導入されたサーバの機密性は、通常のサーバに比べて高い。また、コンテナ型仮想化では全てのインスタンスが同じカーネル空間を共用するため、他の仮想化に比べてリソースの利用効率が高い。 Each instance runs in an environment that is completely independent of the other environments. Therefore, since the instance has no possibility to access files in containers other than its own container, the confidentiality of the server in which the container-type virtualization is introduced is higher than that of a normal server. Also, in container-type virtualization, all instances share the same kernel space, so the resource utilization efficiency is higher than in other virtualizations.
コンテナは、例えばLinux(登録商標)コンテナ技術とaufs(AnotherUnionFS)のような特殊なファイルシステムが利用されたコンテナ型仮想化で実現される。コンテナ型仮想化には、ハードウェアまで含めた完全な仮想化であるハイパーバイザー型仮想化に比べて、ディスク使用量が少ない、インスタンスの作成やインスタンスの起動に係る時間が短い、性能劣化が少ないという利点がある。 The container is realized by container-type virtualization using a Linux (registered trademark) container technology and a special file system such as aufs (AnotherUnionFS). Compared to the hypervisor type virtualization, which is a complete virtualization that includes hardware, container type virtualization uses less disk, takes less time to create an instance and starts an instance, and has less performance degradation. There is an advantage.
コンテナは、データを永続的に保持しない一時的なオブジェクトである。すなわちコンテナ型仮想化では、コンテナが起動すると実行中に限りインスタンス内に情報が保持される。また、コンテナの停止と共にインスタンス内に保持されていた情報は破棄される。 A container is a temporary object that does not hold data permanently. That is, in container-type virtualization, when a container is started, information is retained in the instance only during execution. In addition, the information held in the instance is destroyed when the container is stopped.
コンテナを配備してサービスを提供する主体であるサービスプロバイダは、1個以上のコンテナを組み合わせることによって1つのサービスを構成する。図16は、データセンタに配備されるコンテナの例を示す説明図である。図16に示すデータセンタ100には、コンテナ20、コンテナ30、およびコンテナ40が含まれている。
A service provider, which is a main body that provides a service by deploying a container, configures one service by combining one or more containers. FIG. 16 is an explanatory diagram showing an example of a container provided in a data center. The
図16に示すデータセンタ100は、コンテナを起動させるためのプラットフォームである。データセンタ100は、PaaS(Platform as a Service)とも呼ばれる。データセンタ100は、例えばPaaSを構築するための基盤ソフトウェアの1つであるCloud Foundryに基づいて構築されていてもよい。
The
また、データセンタ100は、Cloud Foundry等がIaaS(Infrastructure as a Service)において実行されることによって構築されていてもよい。コンテナには、プライベートなIP(Internet Protocol)アドレス、またはパブリックなIPアドレスが割り当てられる。
Further, the
データセンタ100は、外部と通信ネットワークを介して通信可能に接続されたコンテナ実行サーバを1つ以上有する。データセンタ100は、コンテナ実行サーバにおいてコンテナを起動させる。コンテナの配備および実行には利用可能なコンテナ実行環境を要するため、コンテナ実行サーバには、OSの他にコンテナ実行環境が導入されている。
The
コンテナを配備する際、データセンタ100は、コンテナが配備された領域を他のコンテナが配備された領域等と物理的に、または仮想的に分離してもよい。以下の説明において、データセンタ100における領域の区画の存在を明記しないが、データセンタ100に領域の区画が存在すると解釈してもよい。
When deploying a container, the
サービスプロバイダは、例えばサービスプロバイダに与えられたデータセンタ100の区画に1つ以上のコンテナを配備できる。サービスプロバイダは、データセンタ100に配備対象のコンテナのコンテナイメージを与える。なお、コンテナイメージは、実行されているコンテナから生成されたイメージファイルである。
A service provider may, for example, deploy one or more containers in a partition of the
データセンタ100は、与えられたコンテナイメージを用いて、コンテナを起動できる。データセンタ100は、コンテナ実行サーバでコンテナを起動させる。コンテナが起動することによって、コンテナが有するコードに基づいた様々なアプリケーション機能が提供される。
The
図16に示すコンテナ20は、ウェブサーバの機能を提供する。また、コンテナ30は、アプリケーションサーバの機能を提供する。また、コンテナ40は、ストレージに接続されたデータベースの機能を提供する。例えば、コンテナ20とコンテナ30とコンテナ40とを組み合わせることによって、サービスプロバイダは、ウェブサービスを構成できる。
The
ウェブサーバの機能を提供するコンテナ20は、通信ネットワーク等を介してクライアント端末と通信可能に接続されている。また、コンテナ同士も、通信ネットワーク等を介して通信可能に接続されている。図16に示す例において、クライアント端末からのリクエストは、例えばゲートウェイを介してコンテナ20に受信される。
The
ウェブサーバの機能を提供するコンテナ20は、コンテンツをクライアント端末に提供する機能を有する。提供されるコンテンツの少なくとも一部は、クライアント端末からのリクエストに応じたアプリケーションロジックの実行結果である。アプリケーションロジックは、例えば、HTML(HyperText Markup Language)内の記載や、各種スクリプトプログラムの記載に基づいて定義されている。
The
アプリケーションロジックは、アプリケーションサーバの機能を提供するコンテナ30で実行される。図16に示す例において、アプリケーションロジックの少なくとも一部は、データベースを利用するロジックである。データベースを利用するアプリケーションロジックを実行する場合、コンテナ30は、データベースの機能を提供するコンテナ40に通信ネットワーク等を介して問い合わせる。
The application logic runs in a
上記のように、コンテナ同士が通信を行うことによって、クライアント端末への応答内容が作成される。なお、本明細書において起動したコンテナであるインスタンス間で行われる通信を、便宜的にコンテナ間で行われる通信という。 As described above, the contents of the response to the client terminal are created by the containers communicating with each other. Note that the communication performed between the instances, which are the activated containers in this specification, is referred to as the communication performed between the containers for convenience.
図16に示すデータセンタ100の構成は、(ウェブサーバの機能を提供するコンテナ:アプリケーションサーバの機能を提供するコンテナ:データベースの機能を提供するコンテナ)=(1:1:1)の構成である。しかし、データセンタ100には、データベースの機能を提供するコンテナが複数含まれてもよい。
The
また、データセンタ100の構成は、(ウェブサーバの機能を提供するコンテナ:アプリケーションサーバの機能を提供するコンテナ:データベースの機能を提供するコンテナ)=(n:m:k)の構成でもよい。なお、n、m、kは、それぞれ1以上の整数である。
The configuration of the
図17は、データセンタに配備されるコンテナの他の例を示す説明図である。図17に示すように、データセンタ100には、コンテナ201〜コンテナ20n、コンテナ301〜コンテナ30m、コンテナ401〜コンテナ40kが含まれている。
FIG. 17 is an explanatory diagram showing another example of the container provided in the data center. As shown in FIG. 17, the
コンテナ201〜コンテナ20nは、全て同じ機能を提供する。コンテナ301〜コンテナ30m、コンテナ401〜コンテナ40kもそれぞれ同様である。ただし、コンテナ201〜コンテナ20nが提供する機能、コンテナ301〜コンテナ30mが提供する機能、コンテナ401〜コンテナ40kが提供する機能は異なる。
The
図17に示すコンテナ間で行われる通信は、負荷分散の対象である。例えば、コンテナ301〜コンテナ30mが提供する機能を機能Aとする。また、コンテナ間で行われる通信が、ラウンドロビンで分散されるとする。図17に示す例において、コンテナ201がコンテナ301と通信を行った後、機能Aを提供するコンテナと通信を再度行う場合、コンテナ201は、コンテナ302と通信を行う。
The communication performed between the containers shown in FIG. 17 is the target of load balancing. For example, the function provided by the
また、コンテナ実行サーバは、コンテナをスケールアウトすることによって、コンテナが処理可能な処理量を増やすことができる。また、コンテナ実行サーバは、コンテナをスケールインすることによって、コンテナが処理可能な処理量を減らすことができる。すなわち、スケールアウトおよびスケールインは、コンテナの並列度の制御処理である。 Further, the container execution server can increase the amount of processing that the container can process by scaling out the container. Further, the container execution server can reduce the amount of processing that the container can process by scaling in the container. That is, scale-out and scale-in are control processes for the degree of parallelism of containers.
スケールアウトは、コンテナで実行可能な処理を実行できるインスタンス(すなわち、典型的には実行中のインスタンスのコピー)を、同一または異なるコンピューティングリソースに配備し、処理要求を配備されたインスタンスに分散させる制御処理である。スケールアウトが実行された場合、コンテナが処理可能な処理量が増大する。 Scale-out deploys instances (that is typically a copy of running instances) that can perform work that a container can perform on the same or different computing resources and distributes processing requests to the deployed instances. This is a control process. When scale-out is executed, the amount of processing that the container can process increases.
スケールインは、スケールアウトで配備されたインスタンスの配備を解除する処理である。スケールインが実行された場合、例えばコンピューティングリソースの消費量が処理量に対して適正な量に調整される。すなわち、リソースの消費量が抑えられる。 Scale-in is a process of undeploying the instance deployed by scale-out. When the scale-in is executed, for example, the consumption amount of computing resources is adjusted to an appropriate amount with respect to the processing amount. That is, the consumption of resources can be suppressed.
後述のように、メッセージングサービスは、スケールインおよびスケールアウトによるインスタンスの増減に合わせてインスタンス間で負荷分散を行う。インスタンス間で負荷分散が行われる場合、高負荷に耐久可能なサービスが提供される。 As described later, the messaging service balances the load among the instances as the number of instances increases or decreases due to scale-in and scale-out. When load balancing is performed between instances, a service that can endure high load is provided.
例えば、実行時にリソースを多く消費するアプリケーションロジックを含むウェブサービスを構成するアプリケーションサーバの機能を提供するコンテナを考える。コンテナに対応するインスタンスの数が単位時間当たりのリクエスト数に応じて1から複数に増やされることによって、クライアント端末からの全てのリクエストに即座に応答可能な高負荷対応型サービスが提供される。 For example, consider a container that provides the functionality of an application server that makes up a web service that includes application logic that consumes many resources at runtime. By increasing the number of instances corresponding to the container from one to a plurality according to the number of requests per unit time, it is possible to provide a high-load compatible service that can immediately respond to all requests from client terminals.
1つの組織には、1つ以上のコンテナグループが含まれる。また、コンテナグループには、1つ以上のインスタンスが含まれる。同じグループに属する各コンテナに対応するインスタンスは、通常同じコンテナイメージから生成されたインスタンスであるコピーインスタンスである。さらに、コンテナまたはコンテナグループを束ねる上位の単位として、サービスが定義される。 One organization includes one or more container groups. Further, the container group includes one or more instances. The instance corresponding to each container belonging to the same group is usually a copy instance which is an instance generated from the same container image. Furthermore, a service is defined as a higher-level unit that bundles containers or container groups.
コンテナ間で行われる通信を監視し、監視結果を用いてコンテナに対応するインスタンス等の不正動作を検出する手段は提供されていない。 No means is provided for monitoring communication performed between containers and detecting unauthorized operation of an instance or the like corresponding to the container by using the monitoring result.
特許文献1には、多重テナント用の多数のミドルウェア構成要素を間貸し(ホスト)する手法が記載されている。特許文献1に記載されている手法では、サンドボックスで実行されるコンテナの通信に処理を追加することが想定されている。なお、サンドボックスは、プログラムがシステムの他の部分に悪影響を及ぼすことがないように設計された環境である。しかし、特許文献1に記載されている手法では、メッセージングサービスがコンテナの通信を監視することは想定されていない。 Patent Document 1 describes a method of lending (hosting) a large number of middleware components for multiple tenants. The method described in Patent Document 1 is supposed to add processing to the communication of the container executed in the sandbox. The sandbox is an environment designed so that the program does not adversely affect other parts of the system. However, the method described in Patent Document 1 does not assume that the messaging service monitors the communication of the container.
また、特許文献2には、通信監視の結果に基づいて通信の異常の有無を判定する手法が記載されている。しかし、特許文献2に記載されている手法では、コンテナ間で行われる通信が監視対象に含まれていない。
Further,
そこで、本発明は、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる監視システム、監視方法および監視プログラムを提供することを目的とする。 Therefore, an object of the present invention is to provide a monitoring system, a monitoring method, and a monitoring program that can detect an unauthorized operation by using a monitoring result of communication performed between containers.
本発明による監視システムは、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視手段と、監視手段が通信を監視した結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段とを含み、監視手段は、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めることを特徴とする。 Monitoring system according to the present invention includes a monitoring means for monitoring the communications user space within the server's operating system is performed across multiple instances sharing the kernel space of the operating system has a virtually divided spaces respectively And a detection unit that detects abnormal communication among the plurality of instances using the monitoring result that is the result of monitoring the communication by the monitoring unit, and the monitoring unit includes the communication performed between the plurality of instances. It is characterized in that the message amount in the above is aggregated, and the result of the aggregated message amount is included in the monitoring result .
本発明による監視方法は、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視し、通信が監視された結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出し、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めることを特徴とする。 Monitoring method according to the invention monitors the communication user space within the server's operating system is performed between a plurality of instances sharing kernel space in the operating system has a virtually divided spaces respectively, communication Abnormal communication is detected among the communication performed between multiple instances using the monitoring result, which is the result of monitoring, and the message amount of the communication performed between multiple instances is totaled, and the result of totaling the message amount Is included in the monitoring result .
本発明による監視プログラムは、コンピュータに、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視処理、および通信が監視された結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出処理を実行させるための監視プログラムであって、監視処理で、複数のインスタンス間で行われる通信におけるメッセージ量を集計させ、メッセージ量が集計された結果を監視結果に含めさせることを特徴とする。 A monitoring program according to the present invention monitors a computer for communication performed between a plurality of instances each having a virtual space of a user space in an operating system of a server and sharing a kernel space in the operating system. A monitoring program for executing a monitoring process and a detection process for detecting an abnormal communication among the communication performed between a plurality of instances by using the monitoring result which is the result of monitoring the communication. The feature is that the message amount in the communication performed between a plurality of instances is totaled, and the result of totaling the message amount is included in the monitoring result .
本発明によれば、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。 According to the present invention, an unauthorized operation can be detected by using the monitoring result of communication performed between containers.
実施形態1.
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による監視システムの第1の実施形態の構成例を示すブロック図である。本発明による監視システム10は、サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有しオペレーティングシステム内のカーネル空間を共用する複数のインスタンス(例えば、起動したコンテナ)間で行われる通信を監視する監視手段11(例えば、メッセージングサービス140)を含む。
Embodiment 1.
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration example of a first embodiment of a monitoring system according to the present invention. The
以下、監視システム10による監視処理を説明する。図2は、第1の実施形態の監視システム10による監視処理の動作を示すフローチャートである。
Hereinafter, the monitoring process by the
監視手段11は、監視対象のコンテナが起動したインスタンス間で行われる通信を監視する(ステップS11)。監視した後、監視システム10は、監視処理を終了する。
The monitoring means 11 monitors the communication performed between the instances activated by the container to be monitored (step S11). After monitoring, the
そのような構成により、監視システムは、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。 With such a configuration, the monitoring system can detect an unauthorized operation by using the monitoring result of the communication performed between the containers.
また、監視システム10は、監視手段11が通信を監視した結果である監視結果を用いて複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段(例えば、通信解析サービス160)を含んでもよい。
The
そのような構成により、監視システムは、コンテナ間で行われる異常な通信を検出できる。 With such a configuration, the monitoring system can detect abnormal communication between containers.
また、監視手段11は、複数のインスタンス間で行われる通信におけるメッセージ量を集計し、メッセージ量が集計された結果を監視結果に含めてもよい。
Further, the
そのような構成により、監視システムは、コンテナ間で行われる通信におけるメッセージ数またはバイト数の集計値を用いて異常な通信を検出できる。 With such a configuration, the monitoring system can detect abnormal communication by using the aggregate value of the number of messages or the number of bytes in the communication performed between the containers.
また、検出手段は、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出してもよい。 Further, the detection means may detect communication in which the value indicated by the result of totaling the message amount exceeds a predetermined threshold as abnormal communication.
そのような構成により、監視システムは、正常な通信の範囲に対応する所定の閾値を用いて異常な通信を検出できる。 With such a configuration, the monitoring system can detect abnormal communication using a predetermined threshold value corresponding to the range of normal communication.
また、検出手段は、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出してもよい。 Further, the detection unit may detect communication in which a plurality of values indicated by the result of totaling the message amount do not satisfy a predetermined relational expression, as abnormal communication.
そのような構成により、監視システムは、正常な通信に対応する所定の関係式を用いて異常な通信を検出できる。 With such a configuration, the monitoring system can detect abnormal communication using a predetermined relational expression corresponding to normal communication.
また、監視手段11は、検出手段により検出された異常な通信の内容を所定の方法で報告してもよい。 Further, the monitoring means 11 may report the content of abnormal communication detected by the detection means by a predetermined method.
そのような構成により、監視システムは、コンテナの利用者に発生した異常な通信の内容を報告できる。 With such a configuration, the monitoring system can report the content of abnormal communication that has occurred to the user of the container.
また、監視手段11は、複数のインスタンス間で行われる通信のうち所定の条件を満たす通信を監視してもよい。
Further, the
また、所定の条件を満たす通信は、予め定義されたPublisherリスト、またはSubscriberリストに示されているコンテナに対応するインスタンス間で行われる通信でもよい。 Further, the communication satisfying the predetermined condition may be communication performed between the instances corresponding to the containers shown in the publisher list or the subscriber list defined in advance.
また、所定の条件を満たす通信は、予め定義されたサービスを構成するコンテナに対応するインスタンス間で行われる通信でもよい。 Further, the communication satisfying the predetermined condition may be communication performed between the instances corresponding to the containers configuring the predefined service.
そのような構成により、監視システムは、通信の監視に係る負担を軽減できる。 With such a configuration, the monitoring system can reduce the burden of monitoring communication.
また、監視手段11は、予め定義されたサンプリングルールに基づいてサンプリングされた監視結果を検出手段に入力してもよい。 Further, the monitoring means 11 may input the monitoring result sampled based on a predefined sampling rule to the detection means.
そのような構成により、監視システムは、所定の条件を満たす監視結果を用いて異常な通信を検出できる。 With such a configuration, the monitoring system can detect abnormal communication by using the monitoring result satisfying a predetermined condition.
実施形態2.
[構成の説明]
次に、本発明の第2の実施形態を、図面を参照して説明する。図3は、本発明による監視システムの第2の実施形態の構成例を示すブロック図である。図3に示すように、本実施形態の監視システム10は、データセンタ100と、クライアント端末201〜クライアント端末20Kと、通信ネットワーク300とを含む。なお、Kは1以上の整数である。
[Description of configuration]
Next, a second embodiment of the present invention will be described with reference to the drawings. FIG. 3 is a block diagram showing a configuration example of the second embodiment of the monitoring system according to the present invention. As shown in FIG. 3, the
また、図3に示すように、データセンタ100は、ゲートウェイ110と、コンテナ実行サーバ121〜コンテナ実行サーバ12Mと、コンテナ131〜コンテナ13Nと、メッセージングサービス140と、構成管理手段150と、通信解析サービス160とを含む。なお、M、Nは、それぞれ1以上の整数である。
Further, as shown in FIG. 3, the
ゲートウェイ110は、クライアント端末からの接続を受け付ける機能を有する。ゲートウェイ110は、例えばTLS(Transport Layer Security)を用いてクライアント端末からの接続を受け付けることによって、クライアント端末が通信ネットワーク300を介して送受信するデータを暗号化してもよい。
The
また、ゲートウェイ110は、物理的な装置でもよいし、VM(Virtual Machine:仮想マシン)でもよい。また、ゲートウェイ110は、冗長に構成されていてもよく、さらにクライアント端末からの接続が負荷分散されるように構成されていてもよい。さらに、ゲートウェイ110は、他のデータセンタと接続可能なインタフェースでもよい。
The
コンテナ実行サーバ121〜コンテナ実行サーバ12Mには、コンテナを配備し、コンテナを実行するためのプラットフォームソフトウェアが含まれる。プラットフォームソフトウェアは、例えばDockerである。
The
コンテナ実行サーバは、例えばクラスタサーバである。また、コンテナ実行サーバは、物理サーバでもよいし、仮想サーバでもよい。また、コンテナ実行サーバ121〜コンテナ実行サーバ12Mは、通信ネットワーク等を介して通信可能に接続されている。
The container execution server is, for example, a cluster server. The container execution server may be a physical server or a virtual server. The
コンテナ実行サーバは、CPU(Central Processing Unit)、メモリ、ディスク、ネットワーク等のリソースを物理的、または仮想的に有する。コンテナ実行サーバで実行されるOSに、コンテナ実行サーバが有するリソースが提供される。 The container execution server physically or virtually has resources such as a CPU (Central Processing Unit), memory, disk, and network. The resources of the container execution server are provided to the OS executed by the container execution server.
OSは、プラットフォームソフトウェアにリソースを提供する。OSからリソースを提供されると、プラットフォームソフトウェアは、コンテナ実行環境にコンテナを配備し、配備されたコンテナを実行する。 The OS provides resources to the platform software. When the resource is provided from the OS, the platform software deploys the container in the container execution environment and executes the deployed container.
メッセージングサービス140は、コンテナ131〜コンテナ13N間で行われる通信を媒介する機能を有する。すなわち、メッセージングサービス140は、コンテナ131〜コンテナ13Nに対してメッセージバスとして振る舞う。また、メッセージングサービス140は、受け付けられたクライアント端末からのリクエストをコンテナへ伝送してもよい。
The
本実施形態においてコンテナ間で行われる通信は、メッセージングサービス140を介したメッセージ交換形式で行われる。なお、コンテナ間で行われる通信は、他の形式で行われてもよい。
In the present embodiment, the communication performed between the containers is performed in a message exchange format via the
また、信頼性の向上等を目的として、メッセージの伝送には、Publish/Subscribe型のメッセージキューが用いられてもよい。Publish/Subscribe型のメッセージキューが用いられる場合、メッセージを送信するコンテナは、メッセージバスにPublishの処理を行った後にメッセージバスにメッセージを送る。メッセージを受信するコンテナは、メッセージバスにSubscribeの処理を予め行い、所定の条件を満たすメッセージの受信を予約する。 For the purpose of improving reliability, a Publish / Subscribe type message queue may be used for message transmission. When a Publish / Subscribe type message queue is used, the container that sends the message sends the message to the message bus after performing the Publish process on the message bus. The container that receives the message performs the Subscribe process on the message bus in advance and reserves the reception of the message that satisfies the predetermined condition.
図4は、Publish/Subscribe型のメッセージキューが用いられた場合のメッセージの伝送処理の例を示す説明図である。図4に示すように、メッセージを送信するコンテナ131は、メッセージバスにPublish”aaa”の処理を行った後にメッセージバスにメッセージを送る。また、メッセージを受信するコンテナ133は、メッセージバスにSubscribe”aaa”の処理を予め行う。従って、コンテナ131からコンテナ133に、”aaa”に関するメッセージが確実に伝送される。
FIG. 4 is an explanatory diagram showing an example of message transmission processing when a Publish / Subscribe type message queue is used. As shown in FIG. 4, the
メッセージングサービス140は、メッセージが宛先のコンテナに届けられるために使用されるコンテナの配備先に関する情報を保持している。なお、メッセージングサービス140は、コンテナがメッセージバスにSubscribeの処理を行った際にコンテナの配備先に関する情報を取得してもよい。
The
メッセージングサービス140は、例えばデータベースにコンテナ131〜コンテナ13Nの配備先に関する情報を保持する。データベースは、例えばオンメモリデータベースである。
The
後述のように、コンテナに対してスケールアウトの処理が実行され、複数のインスタンスが実行されている場合、コンテナグループが形成される。データベースには、コンテナグループに含まれるコンテナに対応するインスタンスそれぞれの配備先に関する情報が保持される。 As will be described later, when a scale-out process is executed on a container and a plurality of instances are executed, a container group is formed. The database holds information about the deployment destination of each instance corresponding to the container included in the container group.
クライアント端末からのアクセス要求に含まれるURL(Uniform Resource Locator)がスケールアウトの処理が実行されたコンテナに対応するインスタンスを示す場合、メッセージングサービス140は、例えばコンテナグループに含まれるいずれかのインスタンスを所定の規則に従って選択する。次いで、メッセージングサービス140は、選択されたインスタンスにアクセス要求を振り分ける。所定の規則は、例えばラウンドロビンである。
When the URL (Uniform Resource Locator) included in the access request from the client terminal indicates an instance corresponding to the container in which the scale-out process is executed, the
また、メッセージングサービス140は、メッセージを監視する機能を有する。メッセージングサービス140は、所定のメッセージを監視対象にすることができる。
Further, the
例えば、メッセージングサービス140は、全てのメッセージを監視対象にすることができる。全てのメッセージが監視対象である場合、メッセージングサービス140は、漏れなくメッセージを監視できる。
For example, the
また、例えばメッセージングサービス140は、Publisherリスト、またはSubscriberリストのうち少なくとも1つのリストを有してもよい。リストを有する場合、メッセージングサービス140は、リストに含まれるPublisherに関するメッセージ、またはSubscriberに関するメッセージを監視対象にすることができる。リストに関連するメッセージが監視対象である場合、メッセージングサービス140の監視に係る負荷が軽減される。
Further, for example, the
また、例えばメッセージングサービス140は、サービスを構成するコンテナに対応するインスタンスのリストを有してもよい。リストを有する場合、メッセージングサービス140は、管理者等が予め指定したサービスを構成するコンテナに対応するインスタンスに関するメッセージを監視対象にすることができる。
Also, for example, the
リストに関連するメッセージが監視対象である場合、メッセージングサービス140の監視に係る負荷が軽減されつつ、重要なサービス等の所望のサービスを構成するコンテナに関するメッセージが監視される。
When the message related to the list is the monitoring target, the load related to the monitoring of the
また、メッセージングサービス140は、監視対象のメッセージを監視した際、様々な処理を行うことによって監視結果を作成する。
In addition, the
例えば、メッセージングサービス140は、メッセージ数を集計することによって監視結果を作成してもよい。メッセージングサービス140が通信解析サービス160に監視結果であるメッセージ数の集計値を提供する場合、通信解析サービス160は、コンテナ間で行われる通信の粗密の度合いを解析できる。例えば、通信解析サービス160は、通常殆ど通信が行われないコンテナ間で通信が多く行われている特殊な事象を抽出できる。
For example, the
また、例えばメッセージングサービス140は、ポリシに基づいて抽出されたメッセージを取得することによって監視結果を作成してもよい。ポリシにはアクセスポリシ、セキュリティポリシ等が含まれる。例えば、他の情報に比べて機密性の高い情報が格納されているデータソースへの不正なアクセスを禁じるポリシが予めメッセージングサービス140に与えられる場合を想定する。
Further, for example, the
不正なアクセスを禁じるポリシが予め与えられると、メッセージングサービス140は、例えばポリシが示すデータソースへのアクセス要求を取得する。データソースへのアクセス要求は、例えば所定のURLへのアクセス要求、所定のファイルへのアクセス要求、または所定のテーブルへのアクセス要求である。メッセージングサービス140は、例えばデータソースへのアクセス回数やアクセス頻度を取得する。
When a policy for prohibiting unauthorized access is given in advance, the
メッセージングサービス140は、監視結果を通信解析サービス160に送信できる。監視結果が提供されると、通信解析サービス160は、例えば、通信が行われたコンテナ間に関するコンテキストに基づいて監視結果を解析できる。例えば、通信解析サービス160は、通常より高い頻度で所定のテーブルへのアクセスが行われている事象を検出できる。
The
構成管理手段150は、コンテナイメージを保存および管理する機能を有する。構成管理手段150は、サービスの状況、コンテナグループの状況、およびコンテナの状況をそれぞれ把握した上でコンテナイメージを管理する。
The configuration management means 150 has a function of storing and managing a container image. The
なお、構成管理手段150は、コンテナに対応するインスタンスの配備先に関する情報を保持してもよい。インスタンスの配備先に関する情報を保持する場合、構成管理手段150は、保持されている情報をメッセージングサービス140に提供してもよい。また、構成管理手段150は、後述するサービスの構成情報を管理してもよい。
The
通信解析サービス160は、メッセージングサービス140から受信した監視結果を解析する機能を有する。通信解析サービス160は、例えば以下の方法のうち少なくともいずれか1つの方法で監視結果を解析する。
The
例えば、通信解析サービス160は、コンテナに関するネットワークトラフィック(通信量)の状況を示すプロファイル(分析結果)を作成し、作成されたプロファイルから悪意のあるソフトウェア(マルウェアともいう。)、ウィルス、または異常事象を特定する。
For example, the
また、例えば、通信解析サービス160は、ポリシに反する操作を特定する。ポリシに反する操作は、例えば標準ポート以外のポートを用いたアプリケーションの実行、コンテナやユーザによる重要なコンテナやサーバへの平文のユーザ名とパスワードでのログオン、ネットワーク内の機密領域での非暗号化プロトコルの使用である。
Further, for example, the
また、例えば、通信解析サービス160は、コンテナに関する通信データと、セキュリティデバイスから送信されたイベントを示すログを比較することによって、発見されない可能性がある重大な脅威を発見する。
In addition, for example, the
具体的には、通信解析サービス160は、例えば以下のように通信状態を分析できる。
Specifically, the
例えば、通信解析サービス160は、メッセージングサービス140から提供されたメッセージ数の集計値に基づいて異常事象を検出できる。絶対量や頻度等のコンテナ間の通信量は、クライアント端末からのアクセスの種別およびアクセス頻度にほぼ依存する。
For example, the
上記のコンテナ間の通信量の性質を用いて、通信解析サービス160は、コンテナ間の通信量の正常な範囲を定義できる。定義された正常な範囲を超えたコンテナ間の通信量が検出された場合、通信解析サービス160は、監視結果に関連するコンテナに関する異常を通知する。
The
コンテナ間の通信量の正常な範囲は、例えば以下のいずれかの方法で定義される。正常な範囲は、以下のいずれかの方法が単独で利用された上で定義されてもよいし、複数の方法が組み合わせられて利用された上で定義されてもよい。 The normal range of the communication volume between the containers is defined by, for example, one of the following methods. The normal range may be defined by using any one of the following methods alone, or may be defined by using a plurality of methods in combination.
1)閾値型;例えば、通信解析サービス160は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の上限または下限を定義する。コンテナ間の通信量が定義された上限または下限を超えた場合、通信解析サービス160は、例えば組み合わせられたコンテナ、送信コンテナ、または受信コンテナのいずれかに関する警報を通知する。なお、通信解析サービス160は、通信量の上限と下限の両方を定義してもよい。
1) Threshold type: For example, the
2)ベースライン型;例えば、通信解析サービス160は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の、時刻、曜日、月、年等の周期的単位毎の正常な範囲(以下、ベースラインという。)を定義する。すなわち、通信解析サービス160は、周期的に変化する閾値を定義する。
2) Baseline type; for example, the
メッセージのメッセージ数またはバイト数の集計結果は、サービスが安定して提供されている間、リクエスト数に応じた範囲で推移する。通信解析サービス160は、例えば所定の期間が1周期であるベースラインをN周期分の平均値を用いて作成する。所定の期間は、例えば1日である。
The aggregation result of the number of messages or the number of bytes of a message changes within the range according to the number of requests while the service is provided stably. The
コンテナ間の通信量がベースラインを超えた場合、通信解析サービス160は、例えば組み合わせられたコンテナ、送信コンテナ、または受信コンテナのいずれかに関する警報を通知する。
If the amount of communication between the containers exceeds the baseline, the
3)統計型;例えば、通信解析サービス160は、コンテナの組み合わせ毎、送信コンテナ毎、または受信コンテナ毎に、コンテナ間の通信量の2以上の値に対して相関関係を定義する。
3) Statistical type; for example, the
通信解析サービス160は、所定期間における時系列の値を用いて相関関係を定義してもよい。モデル化された相関関係を定義するために、通信解析サービス160は、線形関数、自己回帰線形関数、確率分布等を用いてもよいし、マハラノビス距離等の統計手法を用いてもよい。なお、マハラノビス距離は、マハラノビスモデルにおける距離である。
The
定義された相関関係が維持されなくなった時、通信解析サービス160は、例えば相関関係を維持しない値に関連するコンテナに関する警報を通知する。相関関係に線形関数、または自己回帰線形関数が用いられた場合、通信解析サービス160は、例えば相関関係に基づいて一方の通信量から予測される他方の通信量の予測値が、観測値と所定値以上乖離した場合に警報を通知する。
When the defined correlation is no longer maintained, the
また、相関関係に確率分布が用いられた場合、通信解析サービス160は、例えば一方の通信量に対して他方の通信量の観測値が得られる確率が所定値以下である場合に警報を通知する。すなわち、通信解析サービス160は、他方の通信量の観測値が通常観測されない値である場合に警報を通知する。
Further, when the probability distribution is used for the correlation, the
また、相関関係にマハラノビス距離が用いられた場合、通信解析サービス160は、例えばコンテナ間の通信量の2以上の値を用いて算出されるマハラノビス距離が所定値以上である場合に警報を通知する。
Further, when the Mahalanobis distance is used for the correlation, the
[動作の説明]
以下、本実施形態の監視システム10の動作を図5〜図14を参照して説明する。
[Description of operation]
Hereinafter, the operation of the
図5は、データセンタ100の構成例を示すブロック図である。図5に示すように、コンテナ実行サーバ121は、コンテナ131とコンテナ132を実行している。また、コンテナ実行サーバ122は、コンテナ133とコンテナ134を実行している。なお、コンテナ131、コンテナ132、コンテナ133、およびコンテナ134の各名称は、それぞれContainer_101、Container_102、Container_200、Container_300である。
FIG. 5 is a block diagram showing a configuration example of the
また、図5に示すように、Container_101とContainer_102は、コンテナグループであるContainer_Group_1に属している。また、図5に示すように、Container_101は、通信経路171を介してContainer_200と通信可能に接続されている。また、Container_102は、通信経路172を介してContainer_200と通信可能に接続されている。また、Container_200は、通信経路173を介してContainer_300と通信可能に接続されている。
Further, as shown in FIG. 5, Container_101 and Container_102 belong to Container_Group_1 which is a container group. Further, as shown in FIG. 5, Container_101 is communicatively connected to Container_200 via a
本例におけるデータセンタ100の構成が図5に示すような構成であることを前提に、監視システム10の動作を説明する。最初に、メッセージングサービス140がコンテナ間で行われる通信の監視の設定を行う処理を説明する。図6は、第2の実施形態のメッセージングサービス140による通信監視設定処理の動作を示すフローチャートである。
The operation of the
メッセージングサービス140は、ユーザから指定されたサービスの構成情報を取得する(ステップS101)。
The
図7は、サービスの構成情報の例を示す説明図である。ステップS101で、メッセージングサービス140は、図7に示すような構成情報を取得する。
FIG. 7 is an explanatory diagram showing an example of service configuration information. In step S101, the
図7に示すように、サービスの構成情報は、コンテナの階層構造を示す。コンテナの階層構造において、サービスは、最上位の構成単位である。また、サービスは、サービス詳細を含む。すなわち、サービスは、サービス詳細の検索キーとして用いられる。 As shown in FIG. 7, the service configuration information indicates a hierarchical structure of containers. In the hierarchical structure of the container, the service is the highest-level constituent unit. The service also includes service details. That is, the service is used as a search key for the service details.
また、図7に示すように、サービス詳細は、コンテナグループおよびコンテナを含む。また、コンテナグループは、コンテナグループ詳細を含む。すなわち、コンテナグループは、コンテナグループ詳細の検索キーとして用いられる。 Moreover, as shown in FIG. 7, the service details include a container group and a container. Also, the container group includes details of the container group. That is, the container group is used as a search key for details of the container group.
また、図7に示すように、コンテナグループ詳細は、コンテナを含む。メッセージングサービス140は、ユーザから指定されたサービスを検索キーとして用いることによって、サービスを構成するコンテナの情報を得ることができる。
Further, as shown in FIG. 7, the container group details include containers. The
次いで、メッセージングサービス140は、各通信経路にコンテナ間で行われる通信に対する監視設定を行う(ステップS102)。なお、メッセージングサービス140は、設定対象の通信経路が削除された監視設定が存在する場合、ステップS102で対象の監視設定を削除する。
Next, the
例えば、全てのメッセージを監視する場合、メッセージングサービス140は、メッセージングサービス140に入力された全てのメッセージが監視対象になるような監視設定を行う。
For example, when monitoring all the messages, the
また、例えば、Publisherリスト、またはSubscriberリストに基づいて監視する場合、メッセージングサービス140は、Publisherリスト、またはSubscriberリストを予め取得する。図8は、PublisherリストとSubscriberリストの例を示す説明図である。
Further, for example, in the case of monitoring based on the Publisher list or the Subscriber list, the
Publisherリスト、またはSubscriberリストが与えられた場合、メッセージングサービス140は、入力されたメッセージの送信元、またはメッセージの宛先を与えられたリストと照合する。照合することによって、メッセージングサービス140は、入力されたメッセージが監視対象のメッセージであるか否かを判断する。
Given a Publisher or Subscriber list, the
また、管理者等が予め指定したサービスが監視対象になる場合、メッセージングサービス140は、サービスとコンテナの対応関係を示すリストを予め取得する。また、メッセージングサービス140は、監視対象のサービスのリストも予め取得する。メッセージングサービス140は、監視対象のサービスを構成するコンテナに関するメッセージであるか否かを判断する。
In addition, when a service designated in advance by an administrator or the like is to be monitored, the
図9は、サービスとコンテナの対応関係の例を示す説明図である。図9に示すサービス名は、図7に示す定義されたサービス名である。また、図9に示す監視は、監視対象のサービスと監視対象外のサービスのいずれであるかを示す。Trueは、監視対象のサービスであることを意味する。また、Falseは、監視対象外のサービスであることを意味する。また、図9に示すコンテナリストには、サービス名が示すサービスにおける監視対象のコンテナが含まれる。 FIG. 9 is an explanatory diagram showing an example of the correspondence relationship between services and containers. The service name shown in FIG. 9 is the defined service name shown in FIG. Further, the monitoring shown in FIG. 9 indicates whether the service is a monitoring target service or a non-monitoring service. True means that it is a monitored service. False means that the service is not monitored. Further, the container list shown in FIG. 9 includes containers to be monitored in the service indicated by the service name.
また、ユーザは、画面インタフェースを介して監視対象のサービスおよびコンテナをメッセージングサービス140に入力してもよい。図10は、監視対象が選択されるサービス選択画面の例を示す説明図である。図10には、サービス選択画面と、コンテナ選択画面が示されている。
The user may also enter the service and container to be monitored into the
図10に示すサービス選択画面を用いる場合、ユーザは、サービスが列挙されたリストの中から監視対象のサービスを選択し、「OK」ボタンを押下して選択内容を確定させる。次いで、コンテナ選択画面が表示される。 When using the service selection screen shown in FIG. 10, the user selects a service to be monitored from the list of services and presses the “OK” button to confirm the selection. Then, the container selection screen is displayed.
コンテナ選択画面が表示された後、ユーザは、サービスを構成する全コンテナが監視対象になるようにコンテナを選択し、「OK」ボタンを押下して選択内容を確定させる。または、コンテナ選択画面が表示された後、ユーザは、サービスを構成する全コンテナのうちの一部のコンテナが監視対象になるようにコンテナをさらに選択し、「OK」ボタンを押下して選択内容を確定させてもよい。 After the container selection screen is displayed, the user selects the containers so that all the containers that make up the service are to be monitored, and presses the "OK" button to confirm the selection. Alternatively, after the container selection screen is displayed, the user further selects a container so that a part of all the containers that make up the service becomes a monitoring target, and presses the “OK” button to select the contents. May be confirmed.
次いで、メッセージングサービス140は、監視設定を行う対象の通信経路、および通信経路が存在しない削除対象の監視設定があるか否かを確認する(ステップS103)。まだ監視設定が行われていない通信経路、および削除されていない監視設定がある場合(ステップS103におけるYes)、メッセージングサービス140は、再度ステップS102の処理を行う。
Next, the
監視設定が行われていない通信経路、および削除されていない監視設定がない場合(ステップS103におけるNo)、メッセージングサービス140は、通信監視設定処理を終了する。
If there is no communication path for which monitoring setting has not been performed and no monitoring setting that has not been deleted (No in step S103), the
メッセージングサービス140は、例えばコンテナグループに対してスケールアウトが実行された場合、すなわちインスタンスが追加された場合、追加されたインスタンスを監視対象に追加するために図6に示す通信監視設定処理を実行する。
The
また、メッセージングサービス140は、例えばコンテナグループに対してスケールインが実行された場合、すなわちインスタンスが削除された場合、削除されたインスタンスを監視対象から削除するために図6に示す通信監視設定処理を実行する。
In addition, for example, when scale-in is executed for the container group, that is, when the instance is deleted, the
次に、通信解析サービス160がコンテナ間で行われた通信の監視結果を解析する処理を説明する。図11は、第2の実施形態の通信解析サービス160による監視結果解析処理の動作を示すフローチャートである。
Next, a process in which the
メッセージングサービス140は、監視設定に基づいてコンテナ間で行われる通信の監視を開始する(ステップS201)。
The
コンテナ間で行われる通信の監視が開始された後、メッセージングサービス140は、例えばメッセージ数を集計することによって、監視結果を作成する。例えば、Container_101がPublishの処理を100回行い、Container_200が全てのPublishの処理に対してSubscribeの処理を行う場合、メッセージングサービス140は、メッセージ数として「100」を取得する。
After the monitoring of the communication performed between the containers is started, the
図12は、メッセージングサービス140が生成した監視結果の例を示す説明図である。図12に示す監視結果は、メッセージ数の取得結果の例である。
FIG. 12 is an explanatory diagram showing an example of the monitoring result generated by the
図12に示すPublisherは、Publisherであるコンテナを示す。また、Subscriberは、Subscriberであるコンテナを示す。また、Countは、取得されたメッセージの量を示す。Countには、数、バイト数、または頻度(=数/時間)のいずれが記録されてもよい。なお、通信が観測されなかったPublisherとSubscriberの組み合わせに関する監視結果は、作成されなくてもよい。 Publisher shown in FIG. 12 indicates a container that is Publisher. Subscriber indicates a container that is a Subscriber. In addition, Count indicates the amount of acquired messages. Any of the number, the number of bytes, or the frequency (= number / hour) may be recorded in Count. Note that the monitoring result regarding the combination of Publisher and Subscriber for which communication is not observed does not have to be created.
また、コンテナ間で行われる通信の監視が開始された後、メッセージングサービス140は、例えばポリシが示す取得対象のメッセージを取得することによって、監視結果を作成してもよい。
Further, after the monitoring of the communication performed between the containers is started, the
図13は、メッセージングサービス140が生成した監視結果の他の例を示す説明図である。図13に示す監視結果は、メッセージ数の取得結果の他の例である。
FIG. 13 is an explanatory diagram showing another example of the monitoring result generated by the
図13に示すPublisherは、Publisherであるコンテナを示す。また、データソースは、アクセスされたデータソースを示す。データソースは、例えばSubscriberであるコンテナと、Subscriberであるコンテナ内のテーブルの組み合わせで表記される。 Publisher shown in FIG. 13 indicates a container that is Publisher. Also, the data source indicates the accessed data source. The data source is represented by, for example, a combination of a container that is a Subscriber and a table in the container that is a Subscriber.
また、Countは、取得されたメッセージの量を示す。Countには、数、バイト数、または頻度(=数/時間)のいずれが記録されてもよい。なお、通信が観測されなかったPublisherとデータソースの組み合わせに関する監視結果は、作成されなくてもよい。 In addition, Count indicates the amount of acquired messages. Any of the number, the number of bytes, or the frequency (= number / hour) may be recorded in Count. It should be noted that the monitoring result regarding the combination of Publisher and data source for which communication has not been observed may not be created.
次いで、メッセージングサービス140は、監視結果を通信解析サービス160に送信する(ステップS202)。メッセージングサービス140は、例えば予め与えられた時間間隔で監視結果を送信する。時間間隔は、例えば5分である。
Next, the
次いで、通信解析サービス160は、送信された監視結果を受信し、受信された監視結果を解析する(ステップS203)。具体的には、通信解析サービス160は、上述した閾値型、ベースライン型、統計型のいずれかの方法で監視結果を解析する。なお、通信解析サービス160は、他の方法で監視結果を解析してもよい。
Next, the
以下、線形関数が用いられた統計型の解析方法を説明する。メッセージのメッセージ数またはバイト数に関する集計結果は、サービスが安定して提供されている間、リクエスト数に応じた範囲で推移する。 Hereinafter, a statistical analysis method using a linear function will be described. The aggregation result regarding the number of messages or the number of bytes of the message changes within the range according to the number of requests while the service is provided stably.
例えば、所定の時間内の単位時間当たりの通信経路173におけるメッセージバイト数(X)は、データベースへのアクセス回数に比例した数である。また、同じ所定の時間内の通信経路171および通信経路172におけるメッセージバイト数(Y)は、データベースからの応答行数に比例した数である。すなわち、Y=a*Xの関係が成り立つ。なお、aは比例定数である。
For example, the number of message bytes (X) in the
通信解析サービス160は、上記のような関係を予め線形モデルとして確立する。所定の時間以後の時間内の単位時間当たりのXとYとの関係が確立された線形モデルが示す関係から大きく外れた場合、通信解析サービス160は、XとYのうち少なくとも1つを外れ値として検出する。外れ値が検出された場合、通信解析サービス160は、異常通信の存在を確定する。
The
通信解析サービス160は、ステップS203において閾値型、ベースライン型、統計型のいずれかの方法で解析した監視結果から異常な内容が検出されたか否かを確認する(ステップS204)。異常な内容が検出されなかった場合(ステップS204におけるNo)、通信解析サービス160は、再度ステップS203の処理を行う。
The
異常な内容が検出された場合(ステップS204におけるYes)、通信解析サービス160は、異常通信の存在を確定する。異常通信の存在が確定された場合、メッセージングサービス140は、異常通信の存在の事実を報告する(ステップS205)。具体的には、メッセージングサービス140は、メール、SMS(Short Message Service)、ウェブ画面表示等の方法で異常通信の存在の事実を報告する。
When the abnormal content is detected (Yes in step S204), the
図14は、メッセージングサービス140によるウェブ画面での報告の例を示す説明図である。図14に示す画面は、「PaaS異常検出」画面である。サービスプロバイダは、例えばPaaS管理画面に設けられた管理メニューを介して、「PaaS異常検出」画面を表示できる。
FIG. 14 is an explanatory diagram showing an example of a report on the web screen by the
図14に示す「PaaS異常検出」画面の「検出されたアクティビティ」欄には、異常が検出された時刻、および検出された異常の重要度が表示されている。具体的には、2015/12/25の9:02にContainer_300からContainer_200に向けて行われた通信等に異常が発生していたことが図14に示されている。 In the "Detected activity" column of the "PaaS anomaly detection" screen shown in FIG. 14, the time at which the anomaly was detected and the importance of the detected anomaly are displayed. Specifically, it is shown in FIG. 14 that an abnormality occurred in communication or the like performed from Container_300 to Container_200 at 9:02 on December 25, 2015.
すなわち、サービスプロバイダは、指定されたサービスに関する異常検出結果を「PaaS異常検出」画面で参照できる。なお、「検出されたアクティビティ」欄には、検出された異常の内容がより具体的に、またはより多くの情報と共に表示されてもよい。 That is, the service provider can refer to the abnormality detection result regarding the specified service on the “PaaS abnormality detection” screen. In addition, the content of the detected abnormality may be displayed more specifically or together with more information in the “detected activity” column.
なお、データセンタ100には、コンテナ131〜コンテナ13N、メッセージングサービス140、および通信解析サービス160のみが含まれてもよい。図15は、データセンタ100の他の構成例を示すブロック図である。
The
また、データセンタ100には、メッセージングサービス140のみが含まれてもよい。メッセージングサービス140のみを含むデータセンタ100は、外部に存在するコンテナ実行サーバで実行されているコンテナ間で行われる通信を監視し、監視結果を通信可能に接続されている通信解析サーバに送信してもよい。
Further, the
[効果の説明]
本実施形態の監視システム10は、コンテナ間で行われる通信の監視結果を用いて不正動作を検出できる。その理由は、メッセージングサービス140がコンテナ間で行われる通信を監視し、監視結果を通信解析サービス160に入力し、通信解析サービス160が入力された監視結果を解析することによって、不正動作を起因とする異常な事象が検出されるためである。
[Explanation of effect]
The
なお、本実施形態のデータセンタ100は、例えば、記憶媒体に格納されているプログラムに従って処理を実行するCPUによって実現される。すなわちゲートウェイ110、メッセージングサービス140、および通信解析サービス160は、例えば、プログラム制御に従って処理を実行するCPUによって実現される。
The
また、構成管理手段150は、例えばRAM(Random Access Memory)で実現される。
The
また、本実施形態のデータセンタ100における各部は、ハードウェア回路によって実現されてもよい。
Further, each unit in the
10 監視システム
11 監視手段
20、201〜20n、30、301〜30m、40、401〜40k、131〜13N コンテナ
100 データセンタ
110 ゲートウェイ
121〜12M コンテナ実行サーバ
140 メッセージングサービス
150 構成管理手段
160 通信解析サービス
171〜173 通信経路
201〜20K クライアント端末
300 通信ネットワーク
10
Claims (10)
前記監視手段が通信を監視した結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出する検出手段とを含み、
前記監視手段は、
前記複数のインスタンス間で行われる通信におけるメッセージ量を集計し、前記メッセージ量が集計された結果を前記監視結果に含める
ことを特徴とする監視システム。 Monitoring means for monitoring communication performed between a plurality of instances each of which has a virtual space in which the user space in the server operating system is virtually divided, and which shares the kernel space in the operating system ;
And a detection unit that detects abnormal communication among the communication performed between the plurality of instances using a monitoring result that is a result of monitoring the communication by the monitoring unit,
The monitoring means is
A monitoring system , wherein the message amount in communication performed between the plurality of instances is totaled, and the result of totaling the message amount is included in the monitoring result .
請求項1記載の監視システム。 Detection means monitoring system of claim 1, wherein for detecting the communication value indicated by the result of the message content is aggregated exceeds a predetermined threshold value as abnormal communication.
請求項1または請求項2記載の監視システム。 The monitoring system according to claim 1 or 2, wherein the detection unit detects, as an abnormal communication, a communication in which a plurality of values indicated by the result of totaling the message amounts do not satisfy a predetermined relational expression.
請求項1から請求項3のうちのいずれか1項に記載の監視システム。 Monitoring means monitoring system according to any one of claims 1 to 3 to report the content of the detected abnormal communication by the detecting means through the web screen.
通信が監視された結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出し、
前記複数のインスタンス間で行われる通信におけるメッセージ量を集計し、
前記メッセージ量が集計された結果を前記監視結果に含める
ことを特徴とする監視方法。 Monitoring communication between a plurality of instances each of which has a virtual space in which the user space in the server operating system has a virtual partition, and which shares the kernel space in the operating system ,
Using the monitoring result, which is the result of monitoring the communication, to detect abnormal communication among the communication performed between the plurality of instances,
Aggregating the message amount in the communication performed between the plurality of instances,
A monitoring method , wherein the result of totaling the message amount is included in the monitoring result .
請求項5記載の監視方法。The monitoring method according to claim 5.
請求項5または請求項6記載の監視方法。The monitoring method according to claim 5 or 6.
サーバのオペレーティングシステム内のユーザ空間が仮想的に分割された空間をそれぞれ有し前記オペレーティングシステム内のカーネル空間を共用する複数のインスタンス間で行われる通信を監視する監視処理、および
通信が監視された結果である監視結果を用いて前記複数のインスタンス間で行われる通信のうち異常な通信を検出する検出処理を実行させるための監視プログラムであって、
前記監視処理で、前記複数のインスタンス間で行われる通信におけるメッセージ量を集計させ、前記メッセージ量が集計された結果を前記監視結果に含めさせる
監視プログラム。 On the computer,
A monitoring process for monitoring communication performed between a plurality of instances in which a user space in a server operating system has a virtually divided space and sharing a kernel space in the operating system , and
A monitoring program for executing a detection process for detecting an abnormal communication among the communication performed between the plurality of instances using a monitoring result which is a result of monitoring the communication ,
In the monitoring process, the message amount in the communication performed between the plurality of instances is totaled, and the result of totaling the message amount is included in the monitoring result.
Surveillance program .
検出処理で、メッセージ量が集計された結果が示す値が所定の閾値を超えている通信を異常な通信として検出させるIn the detection process, the communication in which the value indicated by the result of totaling the message amount exceeds the predetermined threshold is detected as an abnormal communication.
請求項8記載の監視プログラム。The monitoring program according to claim 8.
検出処理で、メッセージ量が集計された結果が示す複数の値が所定の関係式を満たさない通信を異常な通信として検出させるIn the detection process, a communication in which a plurality of values indicated by the result of totaling the message amount does not satisfy a predetermined relational expression is detected as an abnormal communication.
請求項8または請求項9記載の監視プログラム。The monitoring program according to claim 8 or 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016059528A JP6680028B2 (en) | 2016-03-24 | 2016-03-24 | Monitoring system, monitoring method, and monitoring program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016059528A JP6680028B2 (en) | 2016-03-24 | 2016-03-24 | Monitoring system, monitoring method, and monitoring program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020047490A Division JP2020115358A (en) | 2020-03-18 | 2020-03-18 | Communication system, communication method, and communication program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017174158A JP2017174158A (en) | 2017-09-28 |
JP6680028B2 true JP6680028B2 (en) | 2020-04-15 |
Family
ID=59973106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016059528A Active JP6680028B2 (en) | 2016-03-24 | 2016-03-24 | Monitoring system, monitoring method, and monitoring program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6680028B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599499B2 (en) * | 2017-09-30 | 2020-03-24 | Oracle International Corporation | API registry in a container platform providing property-based API functionality |
US11144418B2 (en) | 2019-09-23 | 2021-10-12 | International Business Machines Corporation | Mutation event detection for integrity monitoring |
JP7411895B2 (en) * | 2019-12-05 | 2024-01-12 | パナソニックIpマネジメント株式会社 | Information processing device, abnormality detection method and computer program |
CN113342606A (en) * | 2021-06-07 | 2021-09-03 | 平安证券股份有限公司 | Data monitoring method, device, equipment and storage medium based on message middleware |
-
2016
- 2016-03-24 JP JP2016059528A patent/JP6680028B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017174158A (en) | 2017-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10673885B2 (en) | User state tracking and anomaly detection in software-as-a-service environments | |
US10708289B2 (en) | Secured event monitoring leveraging blockchain | |
US10511637B2 (en) | Automated mitigation of electronic message based security threats | |
US11188385B2 (en) | Batching asynchronous web requests | |
US9787697B2 (en) | Providing security services within a cloud computing environment | |
Hamad et al. | Managing intrusion detection as a service in cloud networks | |
WO2019232071A1 (en) | Aggregation of scalable network flow events | |
US10320833B2 (en) | System and method for detecting creation of malicious new user accounts by an attacker | |
Ficco et al. | Intrusion detection in cloud computing | |
US20220217182A1 (en) | Dynamic security policy management | |
US9912682B2 (en) | Aggregation of network traffic source behavior data across network-based endpoints | |
JP6680028B2 (en) | Monitoring system, monitoring method, and monitoring program | |
CN114097205A (en) | System and method for processing network data | |
US11070632B2 (en) | Identifying computing devices in a managed network that are involved in blockchain-based mining | |
CN111698126B (en) | Information monitoring method, system and computer readable storage medium | |
US10630546B2 (en) | Distributed tool for detecting states and state transitions in remote network management platforms | |
US11799892B2 (en) | Methods for public cloud database activity monitoring and devices thereof | |
US20230247039A1 (en) | Techniques for cloud computing forensics utilizing a security graph | |
Ficco et al. | Intrusion tolerance in cloud applications: The mOSAIC approach | |
US20230247040A1 (en) | Techniques for cloud detection and response from cloud logs utilizing a security graph | |
Araújo et al. | Virtualization in intrusion detection systems: a study on different approaches for cloud computing environments | |
JP2020115358A (en) | Communication system, communication method, and communication program | |
US11050768B1 (en) | Detecting compute resource anomalies in a group of computing resources | |
US20230325478A1 (en) | Instrumenting applications to prevent abuse by privileged users | |
US20240154992A1 (en) | Event-driven collection and monitoring of resources in a cloud computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200131 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200302 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6680028 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |