<前頁 次頁> << >> 目次 (番号順 (詳細)回線別 (詳細)機能別 (詳細)

CentreCOM AR570S 設定例集 2.9 #91

NAT機器をはさむ2点間IPsec VPN(ESP over UDP、XAUTHによるRADIUS認証)


インターネット上に暗号化されたトンネルを張り、2つの拠点をIP接続するIPsec VPNの設定例です(自動鍵管理)。IPsecルーター間に既設のNAT機器(ダイヤルアップルーターなど)が存在する環境を想定し、NAT機器の設定を変更することなくNAT経由でIPsec(ESP)を使用するため、ESPパケットをUDPでカプセル化するESP over UDPを使用しています。また、IKEの相手ルーター認証には、既存の認証システム(ここではRADIUS)を利用できるXAUTH(拡張認証)を使っています。

なお、この構成では常にルーターBから通信が開始されるため、NAT機器に特別な設定をする必要はありません。ただし、無通信時にセッション情報がNAT変換テーブルから消えてしまわないよう、ルーターB側から定期的にUDPパケットを送信するようにします(UDPハートビート機能)。

ここでは、次のようなネットワーク構成を例に解説します。



表 1
 
ルーターA
ルーターB
WAN側物理インターフェース eth0
PPPユーザー名 user@isp
PPPパスワード isppasswd
PPPoEサービス名 指定なし
WAN側(ppp0)IPアドレス 12.34.56.78/32
LAN側(vlan1)IPアドレス(1) 192.168.10.1/24 192.168.20.1/24
LAN側(eth0)IPアドレス(2) 192.168.100.254/24
デフォルトゲートウェイ ppp0(WAN側) 192.168.100.1(NATボックス)


表 2:IKEフェーズ1(ISAKMP SAのネゴシエーション)
ルーター間の認証方式 事前共有鍵(pre-shared key) + XAUTH
IKE交換モード Aggressiveモード
事前共有鍵 secret(文字列)
ルーターBのXAUTHユーザー名 RouterB
ルーターBのXAUTHパスワード PasswordB
RADIUSサーバー 192.168.10.5
RADIUSサーバーの共有パスワード himitsu
ルーターAのID IPアドレス:12.34.56.78(デフォルト)
ルーターBのID 名前:remote
Oakleyグループ 1(デフォルト)
ISAKMPメッセージの暗号化方式 DES(デフォルト)
ISAKMPメッセージの認証方式 SHA1(デフォルト)
ISAKMP SAの有効期限(時間) 86400秒(24時間)(デフォルト)
ISAKMP SAの有効期限(KByte数) なし(デフォルト)
起動時のISAKMPネゴシエーション 行わない


表 3:IKEフェーズ2(IPsec SAのネゴシエーション)
SAモード トンネルモード
セキュリティープロトコル ESP(暗号+認証)
暗号化方式 DES
認証方式 SHA1
IPsec SAの有効期限(時間) 28800秒(8時間)(デフォルト)
IPsec SAの有効期限(KByte数) なし(デフォルト)
トンネリング対象IPアドレス 192.168.10.0/24 ←→ 192.168.20.0/24
トンネル終端アドレス 12.34.56.78(A)・不定(B)
インターネットとの平文通信 行う



ルーターAの設定

  1. IPsecはセキュリティーモードでないと動作しないので、同モードで管理設定を行うことのできるSecurity Officerレベルのユーザーをあらかじめ登録しておきます。


    Note - Security Officerのパスワードは厳重に管理してください。

  2. WAN側Ethernetインターフェース(eth0)上にPPPインターフェースを作成します。「OVER=eth0-XXXX」の「XXXX」の部分には、ISPから通知されたPPPoEの「サービス名」を記述します。ISPから指定がない場合は、どのサービス名タグでも受け入れられるよう、「ANY」を設定します。


  3. ISPから通知されたPPPユーザー名とパスワードを指定します。LQRはオフにし、代わりにLCP Echoパケットを使ってPPPリンクの状態を監視するようにします。また、ISDN向けの機能であるBAPはオフにします。






  4. IPモジュールを有効にします。


  5. LAN側(vlan1)インターフェースにIPアドレスを設定します。


  6. WAN側(ppp0)インターフェースにISPから割り当てられたIPアドレスを設定します。


  7. デフォルトルートを設定します。


  8. ファイアウォール機能を有効にします。


  9. ファイアウォールの動作を規定するファイアウォールポリシー「net」を作成します。


  10. ICMPパケットはPing(Echo/Echo Reply)と到達不可能(Unreachable)のみ双方向で許可します。


    Note - デフォルト設定では、ICMPはファイアウォールを通過できません。

  11. ルーターのidentプロキシー機能を無効にし、外部のメール(SMTP)サーバーなどからのident要求に対して、ただちにTCP RSTを返すよう設定します。


  12. ファイアウォールポリシーの適用対象となるインターフェースを指定します。


  13. LAN側ネットワークに接続されているすべてのコンピューターがENAT機能を使用できるよう設定します。グローバルアドレスには、ppp0のIPアドレスを使用します。


  14. このままでは、対向ルーターからのISAKMPパケットがファイアウォールを通過できないので、穴をあける設定をします。


  15. また、ISAKMPパケットと同様に、ESPパケットをカプセル化しているUDPパケット(ESP over UDP)も通すよう設定します。ESP over UDPは、デフォルトでUDPのポート2746番を使用します。


  16. ローカルLANからリモートLANへのパケットにはNATをかけないよう設定します。


  17. 基本ルールのままではIPsecパケットまで遮断されてしまうので、これらのパケットを通過させるためのルールを設定します。「ENCAP=IPSEC」は、IPsecパケットからオリジナルのパケットを取り出したあとでこのルールを適用することを示します。よって、以下のコマンドは、「取り出したパケットの終点が192.168.10.1〜192.168.10.254、つまり、ローカル側LANならばNATの対象外とする」の意味になります。


  18. ここからがIPsecの設定になります。最初にISAKMPで使用する事前共有鍵(pre-shared key)を作成します。


    Note - このコマンドはコンソールから直接入力したときだけ有効で、エディターなどで設定ファイルに記述した場合は無効になります。

  19. ルーターBとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「i」を作成します。KEYには、前の手順で作成した事前共有鍵(鍵番号「1」)を指定します。また、この例では相手のアドレスが不定なため、PEERにANYを、REMOTEIDに相手のID値を指定し、「MODE=AGGRESSIVE」でAggressiveモードを使用するよう設定します。また、XAUTHによるRADIUS認証を併用します。こちらは認証を要求する側なので、「SERVER」モードとします。




  20. XAUTHで使用するRADIUSサーバーを登録します。


  21. IPsec通信の基本仕様を定義するSAスペック「1」を作成します。セキュリティープロトコル、暗号、ハッシュの両アルゴリズムを指定します。UDPトンネリングを使うときは、セキュリティープロトコルAHは使用できませんのでご注意ください。


  22. SAスペックをとりまとめるSAバンドルスペック「1」を作成します。ESPとAHを併用する場合などは、複数のSAスペックを作成して、本コマンドのSTRINGパラメーターで「1 and 2」のように指定します。この例ではSAスペックが1つだけなので、単に「1」と指定します。


  23. ESP over UDPパケットを通過させるためのIPsecポリシー「udp」を作成します。ESP over UDP使用時は必ずこのポリシーを作成してください。


  24. ISAKMPパケットを通過させるためのIPsecポリシー「isa」を作成します。ISAKMP使用時は必ず最初にこのポリシーを作成してください。


  25. IPsec通信の範囲を指定するIPsecポリシーを作成します。ここで指定した条件に一致するパケットに対して、BUNDLEパラメーターで指定したSAバンドルスペックに基づくIPsec処理が行われます。INTERFACEパラメーターで指定したインターフェースを通過するときに、IPsecの暗号化、復号化処理が行われます。相手がNATを使っているため、ISAKMPの認証をパスしたものだけを指定する意味で、PEERにDYNAMICを指定します。


  26. UDPトンネリングを有効にします。これにより、UDPのポート2746番でESP over UDPパケットをリスニングするようになります。


  27. インターネットとの通信を素通しさせるIPsecポリシー「inet」を作成します。


  28. IPsecを有効化します。


  29. ISAKMPを有効化します。


  30. Security Officerレベルのユーザーでログインしなおします。


  31. セキュリティーモードに移行します。


    Note - セキュリティーモードに移行したあとで、再度ノーマルモードに戻すと、暗号鍵などの情報は失われます。

  32. 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。


ルーターBの設定

  1. IPsecはセキュリティーモードでないと動作しないので、同モードで管理設定を行うことのできるSecurity Officerレベルのユーザーをあらかじめ登録しておきます。


    Note - Security Officerのパスワードは厳重に管理してください。

  2. 通常のIP設定を行います。クライアント側のルーターBは、NATボックス背後のLAN上に設置されているため、WAN側(eth0)、LAN側(vlan1)ともプライベートアドレスであるとします。ルーターBのデフォルトルートとなるNATボックスのLAN側インターフェースは、192.168.100.1とします。


  3. ここからがIPsecの設定になります。最初にISAKMPで使用する事前共有鍵(pre-shared key)を作成します。


    Note - このコマンドはコンソールから直接入力したときだけ有効で、エディターなどで設定ファイルに記述した場合は無効になります。

  4. ルーターAとのIKEネゴシエーション要求を受け入れるISAKMPポリシー「i」を作成します。KEYには、前の手順で作成した事前共有鍵(鍵番号「1」)を指定します。PEERには相手ルーターのIPアドレスを指定します。また、自分のIPアドレスが不定なので、LOCALIDに自分のID値を指定し、「MODE=AGGRESSIVE」でAggressiveモードを使うよう設定します。また、ルーターAからXAUTHによる追加認証を受けるため、「CLIENT」モードに設定し、自分のユーザー名「RouterB」とパスワード「PasswordB」を指定します。




  5. IPsec通信の基本仕様を定義するSAスペック「1」を作成します。セキュリティープロトコル、暗号、ハッシュの両アルゴリズムを指定します。UDPトンネリングを使うときは、セキュリティープロトコルAHは使用できませんのでご注意ください。


  6. SAスペックをとりまとめるSAバンドルスペック「1」を作成します。


  7. ESP over UDPパケットを通過させるためのIPsecポリシー「udp」を作成します。ESP over UDP使用時は必ずこのポリシーを作成してください。


  8. ISAKMPパケットを通過させるためのIPsecポリシー「isa」を作成します。ISAKMP使用時は必ず最初にこのポリシーを作成してください。


  9. IPsec通信の範囲を指定するIPsecポリシーを作成します。ここで指定した条件に一致するパケットに対して、BUNDLEパラメーターで指定したSAバンドルスペックに基づくIPsec処理が行われます。INTERFACEパラメーターで指定したインターフェースを通過するときに、IPsecの暗号化、復号化処理が行われます。PEERには相手のIPアドレスを指定します。


  10. UDPトンネリングを有効にします。さらに、UDPハートビートを有効にして、無通信時にNATボックスからNAT変換テーブルが消えてしまわないようにします。


  11. インターネットとの通信を素通しさせるIPsecポリシー「inet」を作成します。


  12. IPsecを有効化します。


  13. ISAKMPを有効化します。


  14. Security Officerレベルのユーザーでログインしなおします。


  15. セキュリティーモードに移行します。


    Note - セキュリティーモードに移行したあとで、再度ノーマルモードに戻すと、暗号鍵などの情報は失われます。

  16. 設定は以上です。設定内容をファイルに保存し、SET CONFIGコマンドで起動時設定ファイルに指定します。


メモ

■ セキュリティーモードに移行すると、Security OfficerレベルでルーターにTelnetログインすることができなくなります。セキュリティーモードにおいて、Security OfficerレベルでTelnetログインしたい場合は、あらかじめRSO(Remote Security Officer)コマンドを使ってログインを許可するホストのIPアドレスを指定しておく必要があります。

たとえば、ネットワーク192.168.10.0/24、192.168.20.0/24上のすべてのホストからSecurity OfficerレベルでのTelnetログインを許可する場合は、次のようにします。


■ セキュリティーモードでは、たとえSecurity Officerでログインした場合であっても、セキュリティーコマンドを一定期間入力しないでいると、次回セキュリティーコマンドを入力したときにパスワードの再入力を求められます。このタイムアウト値は、下記コマンドによって変更できますが、IPsecの設定を行うときは、ノーマルモードで設定を行った後、セキュリティーモードに変更することをおすすめします。

■ セキュリティー関連コマンドのタイムアウトは、次のコマンドで変更できます。SECUREDELAYパラメーターには、10〜3600(秒)を指定します。デフォルトは60秒です。

まとめ

ルーターAのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル(.cfg)に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER
CREATE PPP=0 OVER=eth0-ANY
SET PPP=0 OVER=eth0-ANY USER=user@isp PASSWORD=isppasswd BAP=OFF LQR=OFF ECHO=ON
ENABLE IP
ADD IP INT=vlan1 IP=192.168.10.1 MASK=255.255.255.0
ADD IP INT=ppp0 IP=12.34.56.78 MASK=255.255.255.255
ADD IP ROUTE=0.0.0.0 INT=ppp0 NEXTHOP=0.0.0.0
ENABLE FIREWALL
CREATE FIREWALL POLICY=net
ENABLE FIREWALL POLICY=net ICMP_F=PING,UNREACH
DISABLE FIREWALL POLICY=net IDENTPROXY
ADD FIREWALL POLICY=net INT=vlan1 TYPE=PRIVATE
ADD FIREWALL POLICY=net INT=ppp0 TYPE=PUBLIC
ADD FIREWALL POLICY=net NAT=ENHANCED INT=vlan1 GBLINT=ppp0
ADD FIREWALL POLICY=net RULE=1 ACTION=ALLOW INT=ppp0 PROT=UDP GBLPORT=500 GBLIP=12.34.56.78 PORT=500 IP=12.34.56.78
ADD FIREWALL POLICY=net RULE=2 ACTION=ALLOW INT=ppp0 PROT=UDP GBLPORT=2746 GBLIP=12.34.56.78 PORT=2746 IP=12.34.56.78
ADD FIREWALL POLICY=net RULE=3 ACTION=NONAT INT=vlan1 PROT=ALL IP=192.168.10.1-192.168.10.254
SET FIREWALL POLICY=net RULE=3 REMOTEIP=192.168.20.1-192.168.20.254
ADD FIREWALL POLICY=net RULE=4 ACTION=NONAT INT=ppp0 PROT=ALL IP=192.168.10.1-192.168.10.254 ENCAP=IPSEC
# CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret"
CREATE ISAKMP POLICY=i PEER=ANY KEY=1 SENDN=TRUE MODE=AGGRESSIVE REMOTEID="remote"
SET ISAKMP POLICY=i XAUTH=SERVER XAUTHTYPE=RADIUS
ADD RADIUS SERVER=192.168.10.5 SECRET="himitsu"
CREATE IPSEC SASPEC=1 KEYMAN=ISAKMP PROT=ESP ENCALG=DES HASHALG=SHA
CREATE IPSEC BUNDLESPEC=1 KEYMAN=ISAKMP STRING="1"
CREATE IPSEC POLICY=udp INT=ppp0 ACTION=PERMIT LPORT=2746 TRANSPORT=UDP
CREATE IPSEC POLICY=isa INT=ppp0 ACTION=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP
CREATE IPSEC POLICY=vpn INT=ppp0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=DYNAMIC
SET IPSEC POLICY=vpn LAD=192.168.10.0 LMA=255.255.255.0 RAD=192.168.20.0 RMA=255.255.255.0
SET IPSEC POLICY=vpn UDPTUNNEL=TRUE
CREATE IPSEC POLICY=inet INT=ppp0 ACTION=PERMIT
ENABLE IPSEC
ENABLE ISAKMP
# LOGIN secoff
# ENABLE SYSTEM SECURITY_MODE


ルーターBのコンフィグ [テキスト版]
* 「#」で始まる行は、コンソールから入力しないと意味を持たないコマンドか、設定ファイル(.cfg)に記述しても無効なコマンドを示しています。詳細は本文の説明をご覧ください。
ADD USER=secoff PASSWORD=PasswordS PRIVILEGE=SECURITYOFFICER
ENABLE IP
ADD IP INT=vlan1 IP=192.168.20.1 MASK=255.255.255.0
ADD IP INT=eth0 IP=192.168.100.254
ADD IP ROUTE=0.0.0.0 INT=eth0 NEXT=192.168.100.1
# CREATE ENCO KEY=1 TYPE=GENERAL VALUE="secret"
CREATE ISAKMP POLICY=i PEER=12.34.56.78 KEY=1 SENDN=TRUE MODE=AGGRESSIVE LOCALID="remote"
SET ISAKMP POLICY=i XAUTH=CLIENT XAUTHNAME=RouterB XAUTHPASS=PasswordB
CREATE IPSEC SASPEC=1 KEYMAN=ISAKMP PROT=ESP ENCALG=DES HASHALG=SHA
CREATE IPSEC BUNDLESPEC=1 KEYMAN=ISAKMP STRING="1"
CREATE IPSEC POLICY=udp INT=eth0 ACTION=PERMIT LPORT=2746 TRANSPORT=UDP
CREATE IPSEC POLICY=isa INT=eth0 ACTION=PERMIT LPORT=500 RPORT=500 TRANSPORT=UDP
CREATE IPSEC POLICY=vpn INT=eth0 ACTION=IPSEC KEYMAN=ISAKMP BUNDLE=1 PEER=12.34.56.78
SET IPSEC POLICY=vpn LAD=192.168.20.0 LMA=255.255.255.0 RAD=192.168.10.0 RMA=255.255.255.0
SET IPSEC POLICY=vpn UDPTUNNEL=TRUE UDPHEARTBEAT=TRUE
CREATE IPSEC POLICY=inet INT=eth0 ACTION=PERMIT
ENABLE IPSEC
ENABLE ISAKMP
# LOGIN secoff
# ENABLE SYSTEM SECURITY_MODE





CentreCOM AR570S 設定例集 2.9 #91

(C) 2006-2013 アライドテレシスホールディングス株式会社

PN: 613-000274 Rev.N

<前頁 次頁> << >> 目次 (番号順 (詳細)回線別 (詳細)機能別 (詳細)