【図解】FW/UTM や Linux firewalld のゾーンとは何か?ゾーンベースポリシーによるアクセス制御

従来方式(インタフェースベースポリシー)の問題点

ファイアウォールというNW機器が出来たばかりの頃、ACLポリシーは『どの送信元インタフェースからどの宛先インタフェースへ抜ける通信に関するポリシーか』というセクション単位で設定するのが一般的でした。今では『インタフェースベースポリシー』モデルと呼ばれています。

この書き方は単に送信元/宛先IPのみで決めるより柔軟な設定が可能でしたが、インタフェースの数が増えるとポリシー設定もどんどん増えていく、という性質がありました。

実装され始めた当初は好評でしたが、時代が移り、セキュリティの需要増やトラフィックパターン増に伴い、ポリシーが複雑になる中で、このインタフェースべースの考え方では耐え切れなくなってきました。

例えばインターネットの出口が複数ある場合、従来の書き方だとそれぞれに同じ設定を同じ数だけ書く必要がありました。

そこで登場したのが『ゾーンベースポリシー』モデルです。この考え方を導入した機器では、複雑なポリシーをシンプルに統合できるようになりました。

ゾーンベースポリシーとは

ゾーンベースポリシーモデルでは、まず各インタフェースをどのゾーンに属させるかを設定します。ゾーンはそのインタフェースの性質でグループ化し、名前は任意に付けることが可能です(大抵は事前定義のものもあります)。

例えば、インターネット向かいのインタフェースWAN1とWAN2は共に『External』というゾーンに設定、Webサーバ系DMZサーバ向かいのインタフェースDMZ1とDMZ2は『DMZ_Web』というゾーンに設定、一般PCが収容されるコアスイッチ向かいのインタフェースLAN1とLAN2は『LAN_Gen』というゾーンに設定します。

するとLAN_GenからExternalに抜ける通信については、わざわざ"LAN1からWAN1"、"LAN1からWAN2"、"LAN2からWAN1"、"LAN2からWAN2"と4つのセクション毎にポリシーを書かなくても、"LAN_GenからExternal"と1つのセクションだけに統合して書くことができます。

つまり、ゾーンとは、その性質(インターネットに抜けるインタフェースなのか、重要機器に繋がるインタフェースなのか、特殊な制御が必要な機器に繋がるインタフェースなのか、等)に応じて付けるラベルのことです。

なのでゾーンベースポリシーモデルとは、インタフェース単位では無く、性質単位で制御するアクセス制御方式のことを言います。

Linux firewalld の zone

Linux では最近はTCP/IPレベルでのアクセス制御は iptables に代わり、firewalld が実装されています。

この firewalld も ゾーン(zone) の概念を持っています。事前定義の zone があるのでこれらを使うのが一般的ですが、以下コマンドで新たに作成することもできます。

firewall-cmd --new-zone OriginalZ --permanent

この firewalld の zone も、扱いとしてはNW機器のゾーンと一緒で、インタフェースの性質毎(サービス用インタフェース、管理用インタフェース、等)にzone を分け、性質単位でアクセス制御することができます。

詳細は以下ページをご参照下さい。

【firewalld(firewall-cmd)】Zone の作成, 追加, 削除, インタフェースのZone変更
【firewalld(firewall-cmd)】Zone の作成, 追加, 削除, インタフェースのZone変更
firewalld の Zone とは firewalld では Zone と...

シェアする

  • このエントリーをはてなブックマークに追加

フォローする