前号: No 246 / 次号: No 248 / 一覧に戻る
みなさんはファイアウオールという言葉をお聞きになったことはありませんか? 新聞やテレビでも情報セキュリティ事故などにからめて時々登場する用語です。 ファイアウォールが、なんとなくセキュリティ確保に必要というのはわかっても、実際に何をしているのかご存じない方が多いと思います。 今回はその仕組みについて解説します。1. ファイアウォールとは
ファイアウォール(Firewall)は「防火壁」のことです。日本国内でもビルなどで防火扉を見かけますよね。どちらも消防用語で、火事の延焼を防ぐための仕組みです。 ネットワークの世界でもファイアウォールという言葉がよく使われます。 こちらは外部の危険な炎(マルウェアなど)を内部に通さないという意味で使われています。 不正侵入を目的とした通信は外部ネットワーク、つまりインターネット側から来ます。 外部からきた通信データが不正侵入を目的としているか、正当な目的かを判断することはとても大切です。 この判断をする方式のこととファイアウォールと呼びます。 この様子が外部ネットワークと内部ネットワークの間に壁を置いて、不正な侵入を防ぐものだから、ファイアウォールと呼ぶのですね。 さて、実際のファイアウォールにはいろいろな形があります。 ファイアウォール機能に特化した専用機、ファイアウォール機能を搭載したネットワーク機器、ファイアウォールと呼ばれるソフトウェアといった具合です。 ご存じの方もおられるでしょうが、Windowsにもファイアウォール機能は搭載されています。(Windows10なら「設定」→「更新とセキュリティ」→「Windowsセキュリティ」に「ファイアウォールとネットワーク保護」というのがあります) 一般的にファイアウォール専用機はある程度の規模のネットワーク用です。中小企業で専用機が必要となることはあまりありません。 ルータやUTM(統合脅威管理。荒っぽく言えばセキュリティ対策が一通り入った便利な箱)などのネットワーク機器に含まれるファイアウォール機能もうまく使うことで、外部からの侵入をかなり防御できます。 なお、こういった不正侵入を防ぐ方式には今回のファイアウォール以外にもいくつかあります。 今回はその意味で狭義のファイアウォールの解説ですので、他の不正検出方法(マルウェア検出など)は含まれません。2. でもどうやって「怪しい」なんてわかるの?
ファイアウォールは上述の通り、不審な通信を遮断することを目的に設置するのですが、 イメージとしては、入国審査に似ています。 海外旅行の時に審査官の前で「入国の目的は?」とか聞かれるアレです。 怪しいデータが外部ネットワークからやってきたら、入国審査官のように審査をして拒否するのがファイアウォールの役割というわけです。 でも、「不審なデータ」かどうかなんてどうやって判断するのでしょう? 入国審査なら、あからさまに怪しい風体だったり、持ち込み禁止されている物品を持ち込もうとすると入国を拒否されます。 ですが、ファイアウォールが見るのは通信データです。データに風体はありませんし、外部からのデータの中味を徹底的に吟味するとなると、いくらコンピュータでも時間がかかってしまいます。 というか、全てを吟味しているとファイアウォール側のやることが多すぎて、データを内部ネットワークに渡すのが遅くなり、結果として通信全体が耐えがたいほど遅くなりかねません。 上では、ファイアウォールは入国審査官のようなものだと言いましたが、実はデータの内容はほとんど見ていないのです。 これだけだと、何を基準にして「怪しい」と判断しているのかますますわからなくなりますよね? これには、IP(インターネットプトロコル)の説明が必要なのです。3. IPアドレスとポート番号
IP(アイピー)というのはインターネットの根幹となる通信手順のことでInternet Protocol(インターネットプロトコル)の略です。(何のひねりもないですね) 皆さんがインターネットで、動画を見たり、Webページを見たり、メールを送ったり、という時には必ず裏側でIPという通信手順が使われています。 何も外部(インターネット)に出ていく時だけじゃなく、社内のファイルサーバにファイルを置くとき、共有のプリンタで印刷するときなどにもこのIPが使われています。 皆さんの中にもIPアドレスという言葉を聞かれたことのある方がおられるかもしれません。これはIPで使うコンピュータの番号のことで、192.168.11.1などといった書式でコンピュータを特定するのに使います。 IPアドレスについては書き出すときりがないので、ここでは以下のようなものだとお考えください。 ・インターネット接続している全ての機器にはIPアドレス1つが割りふられる。 ・同じIPアドレスを複数のコンピュータで共有することは基本的にない ・IPアドレスは基本的に固定であり、この番号で1台のコンピュータを特定できる。 ・IPアドレスはインターネット上のナンバープレートのようなもの、といえる IPアドレスについてもっと詳しく知りたい方は2021年6月に配信した以下のバックナンバーをご参照ください。 No211 素朴な疑問:IPアドレスってナニ? https://note.com/egao_it/n/n7b33490bc619 IPではネットワーク上でデータが正しく送受信するため、送信元の情報や送付先の情報を指定します。それに加えて、ポート番号というものを必ず指定します。 ポート番号というのは、いわばサービス番号で、サービスの種類毎に決まっている番号のことを言います。 そんなサービス番号には、以下のようなものがあります。 (「ふーん、いろいろあるんだな」くらいの理解でOKです) SMTP(メールの送受信手順): 25番 HTTP(Webブラウザでの閲覧手順): 80番 HTTPS(Web閲覧のセキュリティ強化版): 443番 NTP(サーバ間の時刻合わせ手順): 123番 FTP(ちょっと古い目のファイル転送手順):20番+21番 SMB(Windowsのファイル共有用手順): 445番ほか 送信元は自分のIPアドレスとお願いしたサービスのポート番号で依頼を送ります。 送る側はポート番号を指定し「今から送るデータは25番(メール送受信用。上記参照)だよ」と知らせることで、受け取った側は「そうか、このデータはメール送信の依頼なんだな」とわかりますから、その処理が行えるプログラムに後の処理をまかせられるわけです。 依頼を送る側は今から何を送るのかを当然ながら知っていますが、受け取る方はどこからどんな依頼が来るかは来るまでわかりません。 いきなりデータを送り付けられても、それがどのプロトコル(通信手順)用のデータかわからなければ、途方に暮れてしまいます。 そのため、上記のようにポート番号を指定して、実行してほしいサービスを明示するのです。 このあたりの、あるサーバから別のサーバにリクエストを送る仕組み(インターネットプロトコルそのもの)もかなり興味深い仕組みですので、機会を改めて解説したいと思います。4. ファイアウォールはIPアドレスとポートで判断
ここまでで勘の良い方ならお気付かもしれません。ファイアウォールの主な仕事は、このIPアドレスとポート番号を使って不審な通信をチェックすることなのです。 つまり、外から普通の依頼があれば内部に通し、不審な依頼が来ればそれを拒否する、というお仕事です。 そのため、ファイアウォールでは、どのポートへの依頼は通して、どのポートへの依頼は拒否するといったルールが必要です。 多くの場合、メーカ側で基本的なルール設定がなされていて、自分たちの組織の必要に応じてカスタマイズして運用することになります。 詳しくは後述しますが、ファイアウォールは基本的には通信データはほぼ見ることなく、送信元のIPアドレスとポート番号を頼りにして素早くOK/NGの判断をします。 なんだか面接前の書類審査みたいですね。5. ケーススタディ
以下では三つのケースにわけて、ファイアウォールでの設定例を示します。 まずは通信をOKとするケースです。 外部ネットワークから25番ポートを指定したデータが来たとします。 25番ポートと言えば、上図にあるようにSMTPというメールの送受信用だというのがわかります。 ファイアウォール内の設定と見比べて、メールの送受信をしても良いか?を調べます。 通常は外部からのメールは受信拒否するのはありえませんから、この場合はOKとするでしょう。 次に通信を拒否するケースです。 例えば、外部ネットワークから445番ポートを指定したデータが来たとします。 445番ポートと言えば、上図にあるようにSMBというファイル共有用のポート番号です。 SMBはWindowsのファイル共有機能でよく使われるものです。 この場合もファイアウォールはその共有ファイルに対する依頼を内部に流して良いか?を調べます。 さて、組織内での共有ファイルは通常は秘密情報であり、社外に開示しません。 つまり、組織内の秘密情報を取りに来るリクエストはあからさまに怪しいアクセスです。 ですから、この場合はNGですので、ファイアウォール機能によって握りつぶされ、依頼などはじめからなかったことになります。 第三のケースとして、特定のコンピュータだけはOKで他はNGを考えます。 例えば、自社の支店から本社の業務システムへの接続は認めるが、それ以外のコンピュータからの接続はNGとするパターンです。 今どきの業務システムはWebブラウザで動作するものが多いでしょうから、ポート番号は443(HTTPS。暗号化したブラウザ用)となるでしょう。 この場合は支店のIPアドレスとポート番号(443)をセットにして許可をします。 この2つが合致しているリクエストであれば、通信を許可するのですね。 なお、上記の3つはいずれも外からの攻撃を想定したものですが、内から外向きのファイアウォールというのもあります。 情報漏洩というと「侵入されれば終わり」と考えがちですが、侵入されただけではまだ大量のデータの持ち出しには至っていません。大量のデータ持ち出しをさせないことで情報漏洩を防ぐための最後の砦としてもファイアウォールは活用できるのです。 余談 実際のファイアウォール機能はIPアドレスとポート番号以外にも様々な条件指定ができますが、ここでは省略しています。6. まとめ
ファイアウォールというネットワーク機器(機能)があります。 これは外部からの攻撃が来た時にその通信を内部に通さない、もしくは内部の情報を外部に不用意に漏らさない防御ができる手法の一つです。 IP(インターネットプロトコル)の通信では、データの先頭部(ヘッダ)に送信元のIPアドレスとポート番号(サービス番号)が含まれているため、その2つを見るだけである程度の不審な通信を除外できます。 ネットワークの通信速度をほとんど犠牲にせずにセキュリティを確保できる点でもファイアウォールは優れた防御手段といえます。 ファイアウォールには専用機もありますが、家庭用や小規模事業所向けのルータにも基本的なファイアウォール機能が搭載されており、メーカ側でも基本的な設定を施されています。 そのままでもある程度のセキュリティは確保できますが、自分たちの組織にあわせてカスタマイズすれば、さらに強固な設定にすることができます。 特に複数の事業所を運営している組織ではファイアウォールの設定を最適化することが望ましいといえます。ですが、ファイアウォールの設定にはかなりの知識が必要で、うかつな設定変更はかえって社内ネットワークを危険にさらすことになります。 設定変更をする際にはプロに作業依頼されることを強くオススメします。 今回は、よく耳にするものの内容をご存じでない方が多いファイアウォールについて解説しました。 次回もお楽しみに。 (本稿は 2022年2月に作成しました)