← メディア一覧

中身を見ないパケットフィルタリングの絶対ルール

12分09秒 | NW基礎FE

基本情報技術者試験の頻出テーマを解説した音声コンテンツです。

トランスクリプト(字幕テキスト)

こんにちは、The Deep Diveへようこそ。さて、今日のテーマなんですけど、私たちのネットワークを日々守っている、 ま、基本中の基本の技術、パケットフィルタリングについてです。あまりにも当たり前の存在すぎて、 普段は意識しないかもしれないんですけどね。でも、そのシンプルさにこそ現代のセキュリティ思想の、なんていうか原点が詰まっていると思うんです。 今回、穴賀からご提供いただいた資料、これすごく面白いですよね。ガードマンと送り状っていう例えで解説した台本形式で。 ええ、非常に分かりやすいですよね。ですよね。なので今回は、この秀逸な例えをベースにしながら、 もう一歩踏み込んでみたいんです。このデジタルの門番が下す判断の裏にある、その力強い哲学みたいなものを 一緒に解き明かしていければなと。ええ、まさに。これはもう全ての防御の最前線、言ってみれば国境警備のようなものですから。 今でこそもっと高度な技術はたくさんありますけど、そのほとんどがこのパケットフィルタリングっていう土台の上に成り立ってるんです。 ほう。なので、この基本に立ち返ることで見えてくるものは、きっと非常に多いはずですよ。 では早速その核心に迫っていきたいんですが、まず前提としてそもそもこのガードマンがなぜ必要なのか。 資料には、悪い人が勝手に部屋に入ってきちゃいますよとありますけど、これはつまりインターネットっていう公共の空間と、 社内とか自宅みたいなプライベートなネットワークの間に、こう明確な境界線を引くため、ということですよね。 その通りです。そして、その境界線に立つガードマンがファイアウォール。で、その中でも最も基本的で、ま、普遍的な警備手法がパケットフィルタリングなんです。 はい。そして、この話を進めた上で最も重要な、このガードマンの絶対的なルールが1つだけあります。ほう。絶対的なルール。 それは通信データ、つまりパケットの中身は一切見ない、ということです。中身は見ない。ええ。 これは非常に大事な点なので、少しゆっくり説明させてください。お願いします。毎日、それこそ何千、何万という小包が届く検問所を想像してみてください。 はい。はい。このガードマンはですね、小包に貼られた送り状だけを見て、通すか通さないかを判断するんです。あくまで送り状だけ。 そうです。小包の中にどんな手紙が入っているとか、どんな品物が入っているかなんていうのは一切開封しません。 表面に書かれた宛先と送り主。それから、どの窓口に届けるべきか。その情報だけで、ものすごく機械的に、そして驚異的な速さで判断を下していくんです。 なるほど。しかしその、なぜそんな割り切った仕様なんでしょう?普通に考えたら中身を見た方がより安全なのは間違いないはずですけど。 えーと、そこでまあ、歴史的な視点が重要になってくるんですね。歴史的な。ええ。このシンプルさこそがインターネットの黎明期を支えた力なんです。 当時のルーターとかコンピューターの処理能力を考えると、一つ一つのパケットの中まで解析していたら、もう通信が詰まってしまって。ああ、そういうことですか。 ええ。まともにウェブサイト一つ表示できなかったでしょうね。なるほど。処理速度とのトレードオフだったわけですね。まさに。 完璧な警備よりも現実的な速度で実現できる、そこそこの警備が選ばれた。この完璧を目指すより、まず最低限の防御を確立して 通信速度を犠牲にしないっていう思想は、実は今もネットワーク設計の根幹に流れる考え方なんです。それは面白いですね。 単なる技術的な制約が、今に続く設計思想の元になっていると。ではそのガードマンは唯一の判断材料にするっていう送り状、 つまりパケットヘッダーには具体的に何が書かれているんでしょうか。主に3つの情報が重要になりますね。送信元IPアドレス、宛先IPアドレス、そして宛先ポート番号です。 はい。まあ、IPアドレスがインターネット上の住所。で、ポート番号がその住所の建物の中にある特定の窓口とか部署を指す、っていうのはご存知の通りかと思います。 ええ。ウェブサイト閲覧なら80番とか443番。メール送信なら25番といった、まあ世界共通の窓口番号ですよね。その通りです。 でも、ここで一つリスナーのあなたにも考えてみてほしい疑問があるんです。ほう。何でしょう。このガードマンって、 一度許可した相手との通信を、その後もずっと一回一回チェックするんでしょうか。それとも、あ、さっき通した君だね、みたいに顔なじみとして覚えてくれると思いますか? 確かに。もし毎回チェックするんだったら、会話の途中で何度も君は誰だって聞かれてるみたいで、ちょっと非効率な気もしますね。 まさに。そこがパケットフィルタリングの進化のポイントなんです。初期の最もシンプルなものは、ステートレスフィルタリングと呼ばれていました。 ステートレス。状態がないと。え。これは記憶を持たないガードマンです。やってくるパケット一つ一つをルールリストと照らし合わせて、 前のパケットとの関連性とかは一切考慮しないんです。まさに毎回初めましてと確認するようなものですね。それは確かに厳格ですけど、融通が利かない感じがしますね。 ええ。そこで登場したのが、今や主流となっているステートフルフィルタリングです。ステートフル。こちらは状態、ステートを記憶する賢いガードマンなんです。 例えば社内の PC が外部のウェブサーバーにアクセスしたいとリクエストを送ったとしますよね。はい。するとガードマンはその通信を記録して、 よし許可しよう。この PC は今あのサーバーと会話中だなって覚えるんです。なるほど。会話を記憶する。 すると、そのウェブサーバーからの返信パケットが届いたとき、ガードマンはルールリストをいちいち確認するまでもなく、あ、これはさっきの会話の返事だなと判断してスムーズに通してくれるんです。 はあ。この会話の文脈を理解する能力のおかげで、より安全でより効率的なフィルタリングが可能になったと。 家庭用のルーターに内蔵されているファイアウォールも、ほとんどがこのステートフル型ですね。いや、知らないうちにそんな賢いガードマンが家を守ってくれていたとは。 ではその賢くなったガードマンが実際にどうやって判断を下すのか。ここからがこの話のまさに核心部分ですね。資料の例題を使いながら、 その判断の瞬間を体験してみましょう。あなたは今、とある会社のネットワーク管理者です。ミッションは、外部から社内のメールサーバーへのメール受信だけを許可する。 それ以外の通信は原則としてすべてブロックしたい。さあ、入り口に立つガードマンにどんなチェックリスト、つまりフィルタリングルールを渡しますか? いいですね。では私がガードマン役です。今、目の前に届いた通信の送り状をリズムよく読み上げてみましょう。あなたは管理者として、それを許可するか拒否するか判断してください。 はい、わかりました。では最初の通信です。送信元、インターネット上のとあるメールサービス会社。宛先、社内に設置されている私たちのメールサーバー。ポート 25 番。さあ判定は? 許可。これはミッション通りですね。宛先がメールサーバーで目的の窓口がメール用の 25 番なら問題なく通します。 その通りです。その判断こそが、これから説明するホワイトリスト方式の基本です。なるほど。では、次の通信が来ましたよ。これは少し複雑です。 はい。送信元、在宅勤務中の開発者 A さんの自宅 IP アドレス。宛先、社内にある開発用のテストサーバー。ポート 8080 番。これはウェブ関連でよく使われる少し特殊な窓口ですね。さあ判定は? うーん、これは迷いますね。拒否と即答はできないかなあ。開発者の A さんにとっては絶対にアクセスが必要かもしれませんし、 でも最初のミッションはメール受信だけを許可する、でしたからね。そのルールに照らせばこれは?いい迷いですね。 まさにそこがネットワーク管理者の悩みのタネなんです。このケース、厳格なルールを適用すれば答えは一つです。拒否?ですね。 最初のルールにない通信は、たとえ相手が社員であっても一旦は拒否する。必要であれば、後から A さん専用の許可ルールを追加すればいい。まずは安全を優先すべきだと。 素晴らしい。その判断の根拠こそが、セキュリティの鉄則であるホワイトリスト方式の考え方そのものです。ホワイトリスト方式。 この方式は、原則としてすべての通信を拒否するという地点からスタートします。まずすべてのドアと窓に鍵をかけて完全に閉鎖する。はい。 その上で、この通信だけは特別に通してよし、と許可するルールを一つ一つ追加していくんです。なるほど。知らない人は入れない、というより、 許可リストに乗っている人以外は、たとえ知り合いでも絶対に入れないという、より厳格な姿勢なんですね。ええ。 そして、その判断の難しさも今の例でよくわかったと思います。A さんのためのルールを追加すればセキュリティホールになるかもしれないし、拒否し続ければ業務が滞る。うーん。 このアクセス制御リスト ACL のメンテナンスは、管理者の腕の見せ所であり、まあ永遠の課題でもあるんです。 間違って海外支社の新しい IP アドレスからの正当なアクセスをブロックしちゃったりとか、退職した社員のルールを消し忘れてしまったりなんてことも起こり得ますからね。 ここまでの話を僕なりに整理してみると、パケットフィルタリングっていうのは、 IP アドレスという住所と、ポート番号という窓口を頼りに、 事前に決められたルールリストに合致するかどうかだけで、ものすごい速さで仕分ける効率的な門番だと。え。 で、ただ機械的に判断するだけじゃなくて、ステートフルという形で会話の文脈も理解できるようになったと。まさにその通りです。 その効率性と、ある程度の賢さを両立しているからこそ、今でもあらゆるネットワークの最前線で使われ続けているわけです。 しかし、やはり気になるのは、最初の話に戻りますけど、このガードマンの中身は見ないという最大の弱点です。ええ。そこがこの技術の、まあ光と影ですね。 しかし、ここで一つ重要な問いが生まれます。はい。このガードマンは、送り状が正しければ、たとえ小包の中身にウイルスとか不正なプログラムが仕込まれていても気づかずに通してしまうわけです。 例えば、送り状の宛先はメールサーバー、ポート番号も 25 番。ルール上は完全に許可すべき通信に見える。 でもそのメールに添付されているファイルが会社全体を危機に陥れるマルウェアだったら。その通りです。 さらに巧妙な攻撃者は、一見無害なウェブサイトへの通信に見せかけて、つまりポート 80 番とか 443 番を使って、悪意のあるプログラムを送り込んでくることもあります。 うわあ。送り状は完璧に偽装されている。もはや送り状だけを見ていては、脅威は見抜けない時代になっているんです。 鉄壁だと思っていた最初の門番が、実はたくましい偽装の前では無力になる瞬間があると。そうです。正しい送り状で送られてきた、 その悪意のある手紙を、私たちはどうやって見破ればいいんでしょうか。この高速で効率的な門番をすり抜けてきた脅威に対して、 次の防衛ラインでは一体どんな仕組み、どんなスペシャリストが必要になるんでしょうか。その問いこそが、私たちが探求すべきより高度なセキュリティの世界への入り口になるわけですね。 中身まで検査する、となると、またあの速度との戦いが始まる気がします。おっしゃる通り。その通りです。 その中身の検査を、いかにして通信速度を損なわずに実現するか。それが現代のセキュリティ技術者たちの最大の挑戦、ということですね。

このコンテンツは Web society で視聴・学習できます。