Security Gateway and IPsec
作成日 | 1998/Jun/09 |
最終変更日 | 2022/Dec/28 |
文書サイズ | 11KB |
このドキュメントでは、これまでのファームウェアを利用されて いる方を対象に、セキュリティ・ゲートウェイ機能の特徴や設定 例を紹介します。VPNについての多少の知識を前提として説明します。
IPsecは、Security Architecture for the Internet Protocolとして
知られるIP上のセキュリティ機能であり、RFCで規定されています。
IPsecは、IPパケットの情報を暗号化し、IPパケットに認証情報を
付加することにより、機密性、認証、完全性などのセキュリティ
機能を保証します。
[ 関連技術資料 ]
IPsecにおける認証ヘッダと暗号ペイロードの双方で、トンネルモード とトランスポートモードをサポートしています。 トンネルモードは、IPパケットをカプセル化する機能を持ち、 VPNの構築などに利用できるモードです。 トランスポートモードは、RT間の通信に対してセキュリティ保護を 与えるモードであり、例えばルータの設定時に利用できます。 また、トンネルモードを補佐する形で、トランスポートモードを 利用することもできます。
鍵交換プロトコルとしてIKE(旧ISAKMP/Oakley)を実装しています。 これにより、面倒な鍵の設定や更新を自動で行うことができます。
[ 関連技術資料 ]
暗号アルゴリズムとして、56bitのDES-CBCと、112bitの3DES-CBCを サポートしています。
ここでは、基本的な利用法であるVPN構築を例に取り、 次のような簡単なネットワーク構成について、 設定の方針や流れを見ていきます。
----------+-------------------- 192.168.0.0/24 | | 192.168.0.1 →→→* +----+----+ * | RT140i | * +----+----+ * : * (Unnumbered) トンネル : * +----+----+ * | RT100i | * +----+----+ * | 192.168.1.1 ←←←* | ----------+-------------------- 192.168.1.0/24
トンネルの入口と出口は、それぞれIPアドレスで指定します。 上の例では、192.168.0.1を入口、192.168.1.1を出口と考える ことにしましょう。
なお、暗号化に利用される鍵は、この2つのアドレスの間で 管理されることになります。すなわち、鍵交換プロトコルが 働くときには、192.168.0.1と192.168.1.1の間で、メッセージが 飛び交います。
*************** トンネル **************** * * * * 192.168.0.1 ←-- メッセージを交換 --→ 192.168.1.1 (鍵を共有)
鍵交換プロトコルはUDPの500番を利用しますので、フィルタリングの 対象外にしておきます。IP マスカレードの利用時も注意を払う 必要があります。
Rev.3.00では、新しく「トンネル(TUNNEL)」という名前の インタフェースが定義できます。 パケットをトンネルに送り込む場合、そのパケットがトンネル インタフェースに流れるように経路を設定します。
トンネルインタフェースの設定は、PPインタフェースの設定と 類似のコマンドで記述できます。
ip lan address 192.168.0.1/24 tunnel select 1 ip tunnel route add net 192.168.1.0/24 2 ipsec tunnel 101 tunnel enable 1
2行目の設定は、ip pp route addと相似なコマンドであり、 宛先が192.168.1.0/24のパケットを、トンネルインタ フェースに向けて経路付けることを意味します。
3行目の設定は、具体的にどのような方針でパケットを暗号化するかを 指定するコマンドです。ここでは、101という引数をとっていますが、 これは別のコマンドで指定された101番の方針を参照するという ことです。(このコマンドについては後述します。)
鍵交換プロトコルでは、鍵を作るためにメッセージを交換
しますが、このメッセージがトンネルインタフェースに流れない
ようにしなければなりません。なぜならば、トンネルインタフェースは
鍵が生成されてからしか機能しないので、
鍵交換プロトコルのメッセージがトンネルインタフェースに
流れる限り、いつまで経っても
鍵が生成されないからです。
そこで、鍵交換プロトコルのための経路を別に設定しておきます。
ip lan address 192.168.0.1/24 pp select 1 ip pp route add host 192.168.1.1 2 (鍵交換のための経路) pp enable 1 tunnel select 1 ip tunnel route add net 192.168.1.0/24 2 ipsec tunnel 101 tunnel enable 1
これらの設定により、192.168.0.1から192.168.1.1へ 送信されるパケットは、トンネルインタフェースに流れなく なります。
なお、ネットワークによっては、このような配慮が必要でない 場合もあります。例えば、WAN側をNumberedで接続し、 PPのアドレスをトンネルの入口と出口にしたらどうでしょうか。
暗号化の方針を決めるためには、次のように設定します。
#ipsec sa policy 101 192.168.1.1 esp des-cbc
[引数の説明] 101 ... 暗号化の方針を管理するためのID 192.168.1.1 ... 鍵交換の相手アドレス esp ... ESP(暗号ペイロード)を付加することを示す des-cbc ... 用いる暗号アルゴリズム
ここでは、コマンドの詳細は省略します。詳しくは、コマンドリファレンス 等をご覧ください。
鍵交換プロトコルを促して 鍵を生成させるには、
#ipsec auto refresh on
と入力します。以後、鍵は一定時間間隔で自動的に更新されます。 また、鍵が生成された瞬間から、トンネルが機能し、パケットが 流れるようになります。
[ VPN開通の確認作業手順例 ]
[ VPNの通信状態の確認方法例 ]
準備の設定 | |
---|---|
すべてのIPパケットのpassしログを残すフィルタの定義 | ip filter 1 pass-log * * * * * |
syslogにIPフィルタ関連のログを残す設定 | syslog notice on |
LAN1インタフェースの入力と出力を観測する。 | |
入力で1番のフィルタを適用する | ip lan1 secure filter in 1 |
出力で1番のフィルタを適用する | ip lan1 secure filter out 1 |
TUNNEL[01]インタフェースの入力と出力を観測する。 | |
TUNNELインタフェースを選択する | tunnel select 1 |
入力で1番のフィルタを適用する | ip tunnel secure filter in 1 |
出力で1番のフィルタを適用する | ip tunnel secure filter out 1 |
PP[01]インタフェースの入力と出力を観測する。 | |
PPインタフェースを選択する | pp select 1 |
入力で1番のフィルタを適用する | ip pp secure filter in 1 |
出力で1番のフィルタを適用する | ip pp secure filter out 1 |
ログの操作 | |
ログをクリアする | clear log |
ログを見る | show log |