PaloAltoについて調べてみた

# はじめに
私はここ数年間ファイアウォール機器に関わる業務に従事してきておりましたので、何となくファイアウォール(以下"FW"と省略)には親しみを感じておりました。
業務で主に使用していた製品は、Cisco ASA(と後継のFirePower), McAfee Firewall Enterprise, Check Pointの3つです。
(特にCiscoのASAは、GUIベースで設定管理を行うことができるASDMという名称のコンソールが非常に使いやすく、一番のお気に入りでした。)
最近は上記のFWよりもPaloAltoという名称を耳にする機会が多いので、PaloAltoとはどのような製品なのか調べてみたいと思います。

# 1.ファイアウォール(Firewall)について
### [1-1]そもそもFWとは
FWとは、外部からの不正アクセスやサイバー攻撃などから内部のネットワーク/サーバ/PC/データなどを守ってくれる機能の事です。
通信を監視し、通信の許可or拒否を決定します。
冒頭で記載したネットワーク機器だけでなく、私たちが普段使用しているPCのOSにもFW機能が標準搭載されています。(Windows Defender firewallなど)
因みに、スマートフォンなどのモバイル機器のOS(iOSなど)にはFW機能が標準搭載されておりませんので、必要に応じてセキュリティ対策アプリやソフトを使用する必要があります。

また、FWにはフィルタリング機能(通信を透過/遮断する機能)だけでなく、NAT機能(プライベートIPアドレスとグローバルIPアドレスを変換する機能)やログ監視機能(ログ上で不審な挙動を検知して通知する)もあります。

#### ・パーソナルファイアウォール
パーソナルファイアウォールはPCを守るFWとなっており、MacやWindowsなどの主要OSには標準搭載されています。
また、個別に好みのソフトをインストールして使用する事もできます。
個人向けのFWとなりますので、知識のない人でも使用できるように最初から一通り設定済みの状態になっていますが、もちろん個人で設定のカスタマイズもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3950373/189dc617-2e0c-2b0e-1051-18946221291e.png)

#### ・ネットワーク用ファイアウォール
ネットワーク用ファイアウォールは、企業の社内ネットワークなどネットワーク全体を守るFWとなります。
私が業務に使用していたFWはハードウェア製品のみになりますが、最近ではクラウドサービスとして提供されるFWもあるそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3950373/016710d1-4f6a-3348-adf3-b4c6539a0a97.png)
<br>

### [1-2]DMZ(De-Militarized Zone/非武装地帯)とは
ここで少し脱線ですが、上の図で出てきたDMZという環境は、ネットワーク用FWと切り離せない関係になりますので軽くご紹介です。
DMZとは、社内ネットワークと商用インターネットなど、二つのネットワークの緩衝材的なネットワーク環境をいいます。
外部に公開したいもの達をDMZ環境に置き、内部ネットワークから隔離することによって、万が一外部から不正通信や攻撃が来た場合も、影響範囲をDMZ内にとどめる事ができます。(内部ネットワークまでの侵攻を防ぎます。)
なお、DMZとFWの構成には以下の2パターンがあります。

#### ・シングルファイアウォール型
一つ目のパターンは、1台のFWを用いる構成です。
導入コストを抑えられるのがメリットですが、3つの環境からの全ての通信を1台のFWで管理する為、FWの設定が複雑になってしまいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3950373/55f4f1b5-7c0e-8aa4-62e5-2a85b9951981.png)

#### ・デュアルファイアウォール型
二つ目のパターンは、DMZを挟むようにして2台のFWを用いる方法です。
シングルファイアウォール型に比べてコストはかかりますが、2台のFWを挟む分セキュリティレベルは高めです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3950373/73d855c8-7e3c-3636-eeaf-ac95763eaf2b.png)
<br>

### [1-3]FWの制御方式の種類
FWが通信の可否を判断する方法としては、主に以下の3種類があげられます。

#### ・パケットフィルタリング型
あらかじめFWにルール(送信元IPアドレス/送信先アドレス/ポート番号/許可or拒否)を設定しておき、FWに到達したパケットのヘッダ情報を参照して通信の可否を決定する方法です。
ヘッダ情報(送信元IPアドレス/送信先アドレス/ポート番号)を検査するだけの単純な処理なので、通信速度を確保することができます。
しかし、パケットの中身に不正データが含まれていても、ヘッダ情報が透過ルールと一致していれば通信を通してしまいます。

#### ・アプリケーションゲートウェイ型(プロキシ型ファイアウォール)
アプリケーションプロトコルごと(http,ftpなど)に検査&制御する方法です。
データの中身まで解析するため、処理に時間がかかり通信速度が低下してしまうデメリットがありますが、パケットフィルタリングよりも詳細に通信の制御が可能で、なりすまし型不正アクセスの防御が得意です。

#### ・サーキットレベルゲートウェイ型
パケットフィルタリングの進化版の様なものです。
パケットフィルタリング型の機能に加えて、セッション単位(通信の開始から終了までが1セッション)でのポート指定&制御が可能になっています。
また、使用するアプリケーションごとに設定を変更することもできます。

# 2.PaloAltoについて
### [2-1]概要
PaloAltoはPalo Alto Networks社の高性能な次世代型ファイアウォール製品です。
従来のファイアウォール機能(L3層:IPアドレスとL4層:tcp/udpでの制御など)に加えて、様々な機能を持っています。
その中でもいくつかの機能をピックアップして以下に記載します。
<br>

### [2-2]機能紹介
#### ・L7層での制御(アプリケーション識別)
ルール(ポリシー)を作成する際に、ポート番号ではなくアプリケーションを指定することによって、アプリケーションを識別して通信の許可or拒否を判断することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3950373/53715d57-d5d8-246f-d794-7674e91dcf4d.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3950373/afa8f7c4-319c-e4c5-2f7f-88ef15346adf.png)

#### ・ユーザー単位での制御(ユーザー識別)
ADなどの外部データベースを利用して、ユーザー名を制御ルールで使用する事ができます。
また、通信ログにも送信元IPアドレスに加えてユーザー名を表示する事が可能です。
これによって、IPアドレスのみでアクセス制御を行っていた従来型のファイアウォールと比べて、どのユーザーからのアクセスなのかが一目で分かるようになりました。

### ・URLフィルタリング
フィッシングサイト、コマンド＆コントロールなどの危険なURLへのアクセスを阻止し、マルウェア等の脅威が侵入するのを防ぎます。

### ・クラウド型サンドボックス機能
他の領域と区切られた仮想環境上の自由スペースです。
悪意をもつ可能性のあるプログラムがあった場合、この環境上で実行します。
万が一、悪意をもったプログラムであった場合も、サンドボックス環境外に影響を与えることはありませんので安全です。
定期的に世界中の次世代ファイアウォールへ防御シグネチャ(不正通信や攻撃パターンなどを識別するためのルール)が配信されていますが、このサンドボックス内で発見された未知の脅威についてはこの配信のタイミングで周知されます。

### ・通信に関するレポート機能
通信に関する統計レポートを定期的にメール送付させることができます。
私も、どこの国からどのようなDeny通信多いかなどのレポート作成を手動で行っていたことがあり、そこになかなかの工数を費やしていたので、様々な情報が自動でレポート出力されるというのは個人的に魅力的に感じます。

# おわり
Cisco ASAはやはり使いやすさと設定の容易さに定評があるようですが、PaloAltoは機能面が圧倒的でした。
ASAはIPS/IDS/WAFなどの他のセキュリティツールと併用しているイメージがありましたが、PaloAltoは一台でこれらの役を担ってしまうという事なのでしょうか...？
まだまだセキュリティ分野への知識が浅いので、今後も少しずつ調べていきたいと思います。