CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
今日のITシステムにおいて、ネットワークは非常に重要です。ネットワークを全く経由せずにシステムを利用することはありませんし、クラウドというのはインターネットの向こう側にあるのです(専用線接続も用意されていますが)。クラウド時代も「見る範囲」が違うだけで、ネットワークが重要であることには変わりないのです。
特に「常にインターネットに公開されていることが前提」のWebサービスにおいては、ネットワークセキュリティが非常に重要です。インターネット系のシステムの障害というのは、もちろんサーバ障害もありますが、その実「攻撃によるネットワークダウン」が非常に多いのです。
従って私は常日頃から「ネットワークセキュリティを強化してWebサービスの可用性を向上させましょう!」と提唱しています。そこでネットワークセキュリティに関して、もう少し深掘りをしてみたいと思います。
セキュリティの重要なポイントは「何を守るか」ということです。守るべきものによって、防御するポイント・防御する内容が変わってきます。それぞれに対応したセキュリティシステムが存在し、システムの可用性を確保します。
順を追って説明していきます。
DoS(サービス拒否/不能) / DDoS(分散サービス拒否/不能)攻撃とは、ネットワーク上のトラフィックを増大させて、通信を処理している回線やネットワーク機器、サーバのリソース(処理能力)を占有することによって、サービスの提供を妨害する攻撃です。秒間何十万セッション(※2)というような膨大な量の通信が発生するため、サーバに到達する以前にルータがダウンします(※3)。
※1 攻撃元が一つの場合は「DoS」と呼びます。
※2 あくまで例です。もっと少ない場合も多い場合もあります。
※3 攻撃内容や環境により現象は異なります。
そのため、インターネット接続点の最も前段にDDoS対策アプライアンスを設置してインバウンドトラフィックを軽減してネットワークの負荷を下げる必要があります。DDoS対策アプライアンスに実装されている防御メカニズムについて主要なものを以下に記載します。
① 既知のDoS/DDoS攻撃を検知し遮断する
② 攻撃に相当する振る舞いを検知し遮断する
③ コネクション制限等で下流のネットワークへ到達する通信量を絞る
ネットワークセキュリティ製品の仕組みは大体①と②の組み合わせです。すでにわかっているものは防いで、新種の攻撃は挙動から判断して防ぐ。従来は①しかないものが多かったのですが、攻撃側も防御側も進化してきまして、①では対応しきれず、②が実装されている製品が増えてきました。
ネットワークセキュリティの代表的な仕組みといえます。ポリシーと呼ばれるルールに従って、ネットワーク層のプロトコル(※4)ベースで通信の許可/不許可を設定し、外部からの通信を制限します。レイヤ3スイッチ(ルーター)にもパケットフィルタリング機能として組み込まれている事も多いのですが、この場合、ある程度簡易な条件でしかパケット検査をできないため、それぞれに適した役割があると解釈いただければと思います。
ファイアウォールの特徴として挙げられるのが「ステートフルパケットインスペクション」という仕組みで、セッションの一部情報を記憶してポリシーで許可された通信の戻り通信(※5)であるかどうかを判断し、正当な通信であると判断できた場合は通信を許可するというものです。よく「これ戻りの通信許可しなくて良いのですか」と聞かれるのですが、ファイアウォールの場合は不要です。レイヤ3スイッチ(ルーター)やiptablesの場合はそこまで見ていないので、別途設定を追加する必要があります。
最近はUTMといって、ファイアウォールにアンチウイルス、アンチスパム、不正侵入防御(IPS)、Webコンテンツフィルタリング、アプリケーションコントロール(※6)等の複数のセキュリティ機能が統合された機器が主流になっています。
※4 TCP/UDPの他にICMPなども含む、という意味合いでこう書きました。
※5 正確には「正当な手順のセッションによる通信であるかどうか」を判断しています。
※6 従来のファイアウォールはたとえばHTTP(TCP80番ポート)とかHTTPS(TCP443番ポート)というレベルでしか通信の許可/拒否ができなかったのですが、実際にそれらのポートで通信しているアプリケーションを判別することができるという機能です。この機能を使うと、クラウドストレージの通信を止めたり、動画サイトの閲覧を禁止したり、SNSの閲覧だけ許可して書き込みができないようにする、等のセキュリティが実現できるようになります。オフィスネットワークのセキュリティ対策に適している機能です。
IPSとは、日本語で言うと「不正侵入検知/防御」。対象範囲はOS/ミドルウェア/メールサーバ/Webサーバ/主要なWebアプリケーションです。主にサーバプラットフォームを守るために使われるものです。これも前述のDDoS対策アプライアンスと同様に
① 既知のDoS/DDoS攻撃を検知し遮断する
② 攻撃に相当する振る舞いを検知し遮断する
という2つの機能の組み合わせがベースになっています。
たとえばbashの脆弱性を突いたコマンドインジェクションや、SQLインジェクション、WordPressの脆弱性を突いた攻撃等々を止めてくれます。次に述べるWAFと若干重複する部分があります(※7)。
※7 最近は各製品の進化が著しく、重複部分も多くなってきました。
WAFは、これまで紹介してきた「外部ネットワークからの不正アクセスを防ぐためのソフトウェア(あるいはハードウェア)」の中でも、Webアプリケーションのやり取りを把握・管理することによって不正侵入を防御することのできるファイアウォールのことを指します。SQLインジェクション、クロスサイトスクリプティング、パスワードリスト攻撃等が防げるとあるのですが、最近はIPSでもこのへん防げるようになってしまっているので、IPSとWAFの境界線は非常に曖昧になっているかもしれません。強いていうなら、IPSはアプライアンス型(ハードウェア)が多いのに対し、WAFはリバースプロキシ/エージェント型(ソフトウェア)が多い、といったところでしょうか。WAFとDDoS対策をセットで提供されているサービス事業者様もあります。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes