IT初心者

【NW技術】FireWallとは?初心者エンジニアが覚えておくべき知識解説

初心者エンジニア

FireWallって聞いたことはあるけど、CCNAの勉強とかではでてこなかったな。インフラ機器では導入しないのかな?

和貴

FireWallはむしろNWインフラ機器で導入する機器の最たる例だよ。
CCNAでは厳密にいうとFireWallチックなことも学習してるけど、実際は現場にでないとわからない部分が多いよね。

FireWallとは

FireWall(以下FW)とはネットワーク上の不正アクセスや攻撃から、システムを保護するセキュリティシステムのことです。

基本的な考え方としては、外部からの侵入を防ぐ目的で使用されます。
そのため、内部NWと外部NW(インターネットなど)の境界に設置されます。

NWにおけるFWは、FWを経由する通信すべてを確認し、攻撃でないか判別する必要があります。
そのため、導入する際はサーバ等も含めてNW構成全体の通信フローやIP・プロトコルなどを事細かに把握しておく必要があります。

初心者が覚えておくべきFW知識(CCNA編)

CCNAで学べるFWとしてはACLが挙げられます。
実はFW機器とも共通する考え方がACLでも使用されています。
NWの基本事項ですが、下記で紹介する内容をまず押さえましょう。

IPアドレス・ワイルドカードマスク

FWの第一歩はIPによるフィルターになります。
FWではまずIPアドレスをもとに制御を実施するのが基本となります。

また、それに付随してACLではIPアドレスの範囲指定を行うためにもワイルドカードマスクを使用します。そのためワイルドカードマスクの概念はしっかり覚えておきましょう。
※FW機器ではワイルドカードではなくサブネットマスクを使用します。

たまに全てのアドレスに対して、別の要素(プロトコルやポート)を指定してFW制御する方法もあります。ただ、そういったFW制御はセキュリティ的にリスクが高く、頻繁に使用されるものではありません。

そのため、まずはIPの概念と、ワイルドカードマスクによるIPアドレスの範囲指定といった基本事項はしっかり押さえておきましょう。

    
#192.168.1.0/24のアドレスからの通信を許可するACL
Router# access-list 10 permit 192.168.1.0 0.0.0.255
Router#
    
  

プロトコル・ポート番号

次に許可・拒否したい通信の種類を把握するようにしましょう。
初めは通信の種類(TCP/UDP/ICMP/IP)とポート番号を覚えましょう

特にそのプロトコルがTCP/UDPなのかはFW設定においても重要な部分になりますのでCCNAで学習する範囲でもあるプロトコルごとの種類はしっかり覚えておくようにしましょう。

全部を漏れなく覚える必要はありませんが、FW設定の漏れなどを切り分けするためにも、よく使われ、CCNA出題範囲でもある以下はしっかり覚えておきましょう。

プロトコル名TCP/UDPポート番号
FTP(データ転送)TCP20
FTP(制御)TCP21
SSHTCP22
TelnetTCP23
SMTPTCP25
DNSUDP・TCP53
DHCP(サーバ)UDP67
DHCP(クライアント)UDP68
HTTPTCP80
POP3TCP110
IMAPTCP143
SNMP(request)UDP161
SNMP(Trap)UDP162
HTTPSTCP443

通信フロー(in/out)

最後にその通信がどこから発信されて、ACLを設定する機器のどのポートから入り(in)どこのポートにでていくか(out)を把握しましょう。

ACLの場合は1方向への通信制御しかできないので、in/outの片方だけを意識する必要があります。

しかし、FWだとin/out双方を設定する必要がありますの。
そのため、ACLの学習の内から、通信フローすべてを意識するようにしましょう。

特にプロトコルごとに、どのサーバ・クライアントから通信が始まるか、どのサーバに到達するかを意識すると、自ずと通信フローは導き出せます。

まずは1例で一つのサーバとそのサービスプロトコルに着目して、ACLを作ってみると理解がしやすいでしょう。

FW機器での考え方

FW機器の設定の仕方は、ACLと同様に、IPやサービスをベースとして制御する方式になります。ですので、ここではACLとの差分を解説します。
※Fortigate機器を参考に解説しますので、ベンダーによっては少々差分があるかもです。

IP・サービスはオブジェクトで定義する

FW機器では、IPやサービスはオブジェクトという名称で管理を行います。
これは設定を簡潔に実施するための仕様となります。

FW設定にて通信制御を実施する際は、IPオブジェクト・サービスオブジェクトを指定して許可・拒否する設定を行うことになります。

設定の順番としては
①IPオブジェクト・サービスオブジェクトを設定
ex)IPアドレス10.0.0.0/8を「10.0.0.0/8」というオブジェクトとして定義
  ポート番号443/TCPのプロトコルを「HTTPS」というオブジェクトとして定義

②FWで制御するポリシーを設定する
ex)port1からport2に抜ける通信にて、「10.0.0.0/8」からのサービス「HTTPS」を使用する通信を許可・拒否する

ACLと比べて面倒に見えますが、これらのオブジェクトはオブジェクトグループという設定により、まとめて管理することができます

例えばオブジェクト「192.168.100.0/24」と「192.168.200.0/24」が社内NWでのPCのアドレスとします。これら両方のNWからの通信を許可したい場合に、ACLではそれぞれのNWからの通信を許可するようにACLを2行記載する必要があります。

ここでオブジェクトグループを使うと、「社内NW_PC」というオブジェクトグループに「192.168.100.0/24」と「192.168.200.0/24」をまとめて設定することが可能になります。

したがって、FWの場合はオブジェクトグループを使用することにより、ACLで2行記載した通信制御を1行で設定することが可能になります。

FWでは社内NWの通信制御を行うため、どうしても設定数が増加します。
そのため、こういったオブジェクト定義によって設定の簡素化が図られているのです。

ステートフルインスペクション機能がある

FWでは片方向への通信許可を設定すると、戻りの通信も自動で許可されます。
この機能をステートフルインスペクションといいます。

ACLの場合ですと、in/outそれぞれに設定を行うため、FWと同じく戻りの通信用にACLを設定しようとすると、余分に設定を行う必要があります。

先ほどのオブジェクトによる設定の簡素化と、ステートフルインスペクションを合わせると、ACLと比べてFWでは設定量が半分〜数分の1にまで省略することが可能です。

まとめ

FWではACLと比較し、かなり短縮する設定が可能です。
ただし、FWの設定方法も基本的にはACLと同様の考え方になります。

これからFWも扱えるエンジニアになるには、まずCCNAでACLをしっかり学び、基礎部分をしっかり固めるようにしましょう。

実際私も今の現場でFWを触って1年と経ちませんが、ACLの概念はしっかりと認識していたため、すぐにFWの設定に対応することができました。

今までの基礎知識が次のステップで活かされることも十分あります。
初級で学ぶ内容だからと軽視せず、次に活かせると考えてしっかり学びましょう。