11-6. 安全なリモ−ト・アクセス `21/05 (1) FireWall-1 でのアクセス * はじめに 外から内部ネットワ−クにある社内用WWWサ−バにアクセスしたいとか、もしやれるな ら色々やりたいことはある。内部ネットワ−クでなく DMZ に FTP サ−バを置いて、営業 所との間で大きなファイルのやりとりをするというのもいいだろう。そのためユ−ザ認証 やVPNのテクニックを検証してみたい。外部から直接、内部のホストに暗号化によって アクセスするのである。しかしよく考えると、例えば社内用WWWに外部から直接アクセ スするには、社内用WWWのIPアドレスがパブリックでないとダメである。そういうわ けには行かない。本書では DMZ にもプライベ−トIPアドレスを振ってきた。 となると 仮想IPアドレスの技術でもってパブリックIPアドレスに見せかけ、かつそれに対して VPN接続するということになる。 FireWall-1 のVPNのリモ−ト・アクセス機能は、 Ver.4.0 までは SecuRemote と呼ば れていた。それが Ver.4.1 になって、 デスクトップ・ポリシ−とかいう機能が加わって SecureClient と呼ばれるようになった。FireWall-1 のマニュアルに設定画面のメニュ− など、SecuRemote と SecureClient がごちゃごちゃになっていて、 かなり理解の妨げに なっている。 SecureClient のクライアント用ソフトは CheckPointの サイトからフリ− でダウンロ−ドできる。いちいち FireWall-1 の CD-ROM を持って回って、パソコンにイ ンスト−ルしなくても済む。 それと SecureClient ソフトは Windows パソコンにインス ト−ルしても別に問題はない。FireWall-1 以外とは通常に通信できる。 デ−モンが常駐 してしまうのが嫌らしい気がするが。 ・SecureClient=従来の SecuRemote +デスクトップ・ポリシ−機能。 ・SecureClient デスクトップ・ポリシ−機能はオプションで無しにできる。 ・キ−ポイントは暗号化ドメイン。グル−プまたはネットワ−ク・オブジェクト。 -------------------------------------------------------------------------------- 以下 SecureClient のデスクトップ・ポリシ−は使わずにテストしてみる。つまり従来の SecuRemote としてテストする。 早い話が、デスクトップ・ポリシ−という機能がよく分 からない。設定はかなり微妙である。一週間以上はまりまくって、やっとできた。 -------------------------------------------------------------------------------- [ SecuRemote の仕組み ] Windows パソコン ファイアウォ−ル -------------------------- --------------------- Windows パソコンで稼働す | SecuRemote クライアント| | FireWall-1 | る SecuRemote デ−モンは | ↓ | | | "Authentication Agent"と | SecuRemote デ−モン | <---> | SecuRemote サ−バ | いう常駐プログラムである。 -------------------------- --------------------- [ Version 4.0 での SecuRemote 画面 ] ----------------------------------------- Windows 95 と NT 用しかなかった。 |Sites - FireWall-1 SecuRemote | |---------------------------------------| |File View Sites Passwords Tools Entrust| | | ----------------------------------------- * テストの順番 先ずは内ヘ外から HTTP アクセスの FireWall-1 でのパスワ−ド認証。 ↓ 今度は外から内ヘ HTTP アクセスの FireWall-1 でのパスワ−ド認証。 ↓ FireWall-1 でのパスワ−ド認証に FireWall-1 独自の暗号化をかける。 ↓ できれば IPSec など汎用の暗号化やデジタルIDでも認証してみたい。 * マニュアルなど参考資料 リモ−トVPNの設定は、 概ね "バ−チャル・プライベ−ト・ネットワ−ク ユ−ザ・ガ イド Version 4.0" を参考にする。FireWall-1 Version 4.1 では紙のマニュアルは、 日 本語の"導入の手引き"1冊しかなくなった。注意しておくが FireWall-1 Version 4.1 は、 今日 Check Point 2000 という統合ソフトの一部ということになっている。日本語マニュ アルは CD-ROM で別に来ていた。中に英文のリリ−スノ−トも和訳されていた。リモ−ト VPNソフト SucuRemote/SecureClient については、 PDF のマニュアルの記述はあまり 変化はないようである。しかしこの日本語マニュアル、暗号化の説明も極めて分かりにく い。日本語マニュアルのできが悪いのか、そもそも FireWall-1 の機能が洗練されていな いのか。ともかくマニュアル読む前に自分で1章、2章と鉛筆で書き込もう。少しは見易 くなる。英文マニュアルの方はどうなっているか、一度チェックしてみたい。 CD-ROM に入っている英文マニュアルの見方。FireWall-1 Version 4.1 パッケ−ジに入っ ていた CD-ROM は1枚だけで、Windows NT や Solaris、HP-UX など FireWall-1 本体に、 SecureClient も入っている。この CD-ROM を Windows パソコンに入れると、インスト− ル画面に勝手になる。英文マニュアルは、このインスト−ル画面からは辿れない。CD-ROM のアイコンを右ボタンでクリックすると、メニュ−画面が出て [開く(O)]をクリックする とディレクトリを表示する。ここからマニュアルを見にいく。しかし、PDF でマニュアル とするのは止めてもらいたい。PDF ではパソコンの画面で読んで、内容を理解するのは困 難である。また何百ペ−ジも、そうそうプリントできるものでない。フォ−バルのサイト を見たら、日本語の紙のマニュアルはあるけど、別途2万円いると書かれていたような。 インタ−ネットに何か情報がないか調べてみた。日本語のサイトは皆無、まるでない。海 外のサイトで、http://www.phoneboy.com/ に FireWall-1 の FAQ 等があったのみである。 そこの "Sample FireWall-1 with SecuRemote Configuration" という記述が唯一、 それ らしい記事だったが。一応参考に記しておく。 "バ−チャル・プライベ−ト・ネットワ−ク ユ−ザ・ガイド Version 4.0" の3章暗号化 プロパティ、ル−ル暗号化プロパティの項は SecuRemote には関係ない。ル−ルベ−スの Action で Encrypt 指定するのは、つまり FireWall-1 同士でVPN構成する場合である。 3章の説明は、Encrypt をクリックすると出て来る画面の設定についてである。 * 認証方法は ユ−ザ認証 > ユ−ザ名とパスワ−ドで認証する。どのコンピュ−タからでも構わない。 FTP, TELNET, HTTP, RLOGIN セキュリティサ−バというのが FireWall-1で働いている。プロトコルを キャッチして認証する。プロキシとして働くことになる。 認証方法は S/Key, SecurID, VPN-1 & FireWall-1 Password, OS Password, RADIUS, TACACS などがある。 セッション認証 > Ver.4.0 では CD-ROM の DESKTOP\PRODUCTS\SESSIONAGENT\SETUPを実行して、セッショ ン認証エ−ジェントを起動することとあった。よく分からない。 クライアント認証 > IPアドレスで認証する。それにしては設定はややこしそう。対象プロトコルはなんで も構わない。実際使えるものかどうか、これもよく分からない。 デジタルIDによる認証 > 上記のとは意味が異なるが、認証の1つの方法なので記しておく。暗号化で使われる認 証方法である。FireWall-1 では暗号化の IKE の場合に使われる。しかし一番設定が簡 単そうに見えるユ−ザ認証でさえ結構癖があるのに、本当に設定して使えるのか疑問。 * 暗号化方式 FWZ > FireWall-1 独自の暗号化方式。デ−タの暗号化、 セッション鍵の交換アルゴリズムは DES か FireWall-1 独自の DMZ1 を使う。鍵交換は Diffie-Hellman(DH) 方式を使う。 Manual IPSec > ESP にはトンネリングモ−ド(IPまるごと暗号化)、 トランスポ−トモ−ド(デ−タ部 だけ暗号化) がある。普通はファイアウォ−ルのIPアドレス変換のため、トンネリン グ・モ−ドにしないとIPパケットは飛んでいかない。 SKIP( Simple Key-Management for Internet Protocols ) > Sun 開発。Manual IPSec を改良している。Manual IPSec にはない鍵を交換するプロト コルがある。しかし FireWall-1 は独自の鍵交換プロトコルがあるため、 SKIP のは使 わない、Diffie-Hellman を使う。トラフィックの暗号化は IPSec。 IKE( Internet Key Exchange ) > FireWall-1 Ver.4.0 のマニュアルでは ISAKMP/OAKEY、または単に ISAKMP とも書かれ ている。Ver.4.1 では IKE に変わっている。 DES, 3DES または 40 bit 暗号化を使う。 デジタルID(X.509 デジタル証明書)も使うことができる。 * メモ [ FireWall-1 の Diffie-Hellman 方式 ] 普通は公開鍵/秘密鍵という用語を使うが、FireWall-1のマニュアルでは秘密鍵を個人鍵 と呼んでいる。それに共有鍵のことを秘密鍵と呼んでいる。基本セッション鍵は、双方同 じランダムな値の共有鍵(セッション鍵)を作る元になる鍵である。セッション鍵で最終的 にデ−タの暗号化と復号化を行う。 A B Aの秘密鍵○、公開鍵● ○● ▲△ Bの秘密鍵△、公開鍵▲ → ← それぞれ公開鍵を交換 ○▲ ●△ ↓ ↓ □ = □ 基本セッション鍵 [ FireWall-1 での暗号化の組み合わせ ] 暗号化方式 - FWZ, IKE, SKIP, Manual IPSec デ−タそのもの暗号化 - DES, 3DES, FWZ1 デ−タの改竄チェック - MD5, SHA1 暗号化鍵の生成と交換方法 - IKE, Diffie-Hellman [ FireWall-1 の暗号化アクセスの種類 ] SecuRemote でサポ−トするは、暗号化は FWZ か IKE である。 このため暗号化サイトの FireWall-1 では FWZ と IKE が指定に有効となる。 AからBへの HTTP アクセスにおい て、FireWall-1 とB間はノ−マル、つまり暗号化はされない。 SecuRemote FireWall-1 WWW Server A□------------■-----------□B FWZ 暗号化 FWZ ノ−マル IKE IKE SKIP Manual IPSec WWW Client FireWall-1 FireWall-1 WWW Server << これは FireWall-1 同士 □------------■-----------■-----------□ で暗号化する場合である。 ノ−マル FWZ等 暗号化 FWZ等 ノ−マル (2) FireWall-1 のユ−ザ認証 * FireWall-1 の設定 % cd /etc/fw/bin % ./pwpolicy [Manage]->[Network Objects] で Fire0 をクリックする。 --------------------------------------------------------------------- | Workstation Properties | |-------------------------------------------------------------------| | General | Interfaces SNMP NAT Cetificates VPN Authentication | | ----------------------------------------------------------| | | | Name: [ Fire0 ] | | IP Address: [ 202.241.128.2 ] | | | | --Location:--------------- --Type:--------------- | | | ●Internal ○External | | ○Host ●Gateway | | | -------------------------- ---------------------- | | | | --Modules Installed -------------------------- | | | 〆VPN-1 & FireWall-1 Version:[4.1] | | | ---------------------------------------------- | | 〆Management Station | --------------------------------------------------------------------- ---------------------------------------------- | Workstation Properties | [NAT][Cetificates] |--------------------------------------------| [VPN]は何も設定なし。 | ... NAT Cetificates VPN | Authentication | |---------------------------- | | -- Enable Authentication Scheme:---- | | | S/Key | | | | SecurID | | | | OS Password | | | | 〆VPN-1 & FireWall-1 Password | << ここチェックすること。 | | RADIUS | | | | AXENT Pathways Defender | | | | TACACS | | | ------------------------------------ | ---------------------------------------------- * FireWall-1 の設定 % cd /etc/fw/bin % ./pwpolicy ---------------------------------------------------------------------------- | Check Point Policy Editor -- fire0 | |--------------------------------------------------------------------------| | File Edit View Manage Policy Window Help | |----------------------------- | | Security Policy - Standard | Address Translation - Standard | |-------------------------------------------------------------------------|| ||No.| Source | Destination | Service | Action | Track | Install On || ||---|------------|-------------|---------|----------|-------|------------|| || 1 | Group1@Any | tcp-ip | ftp | UserAuth | | Gateway || || 2 | apollo us1 | tcp-ip | ftp | accept | | Gateway || ・ル−ル1で先ずは認証をするユ−ザとホストを指定する。Group1@Any の意味。 Group1 はグル−プ、ユ−ザ ikken を含むとする。 ・つまり Group1@Any は ikken というユ−ザなら、 どんなホストでも認証はOKという こと。次のル−ル2で許可するホストを指定する。 ・認証をしたら FTP アクセスを許す設定もおこなうこと。ftp の場合、 認証することと 実際のアクセスは別になっているようである。 us1 からは通常の FTP アクセスででき る。FireWall-1 の認証は関係ない。 ・[Manage]->[Object] で tcp-ip のオブジェクトを作る。 tcp-ip は www.tcp-ip.or.jj のとする。IPアドレスは 100.1.1.1 だと、ここでは仮定してみる。 [Manage]->[Users] からユ−ザ ikken を作る ---------------------------------------------------------------- | User Properties | |--------------------------------------------------------------| | General Groups | Authentication | Location Time Encryption | |----------------- -----------------------------| | | | Authentication Scheme: [ VPN-1 & FireWall-1 Password ] | | | | -- Settings ----------------------------------- | | | Password(up to 8 characters): [ henomohe ] | | | ----------------------------------------------- | ---------------------------------------------------------------- [Authentication] は上の通り。[Encryption] の暗号化はここでは関係ないので何もチェ ックせず。[General] では "Name:ikken"。[Groups] は "Belongs to Groups" に Group1。 [Location] は "Source: apollo", "Destination: tcp-ip" として、 ユ−ザ ikken は発 信元のホストは apollo だけ、そして発信先は tcp-ip だけに制限してみる。 apollo は 内部ネットにあるホストである。 * FTP の [ユ−ザ認証] で外へのアクセス $ ftp 100.1.1.1 220 Check Point FireWall-1 Secure FTP server running on fire Name (100.1.1.1:katou): ikken 331 aftpd (not authenticated): Enter server password, or for anonymous login use Password: your complete e-mail addr 230-Connected to 100.1.1.1. Logging in... 230-220 Welcome to tcp-ip's FTP Server この様子を tcpdump で見ると FireWall-1 230-331 Password required for ikken. を経由しているのに、直接やりとりしてい 230 230 User ikken logged in. るパケットがみえる。FireWall-1が透過的 ftp> bye プロキシ−として働いているわけである。 221 Goodbye. ル−ル2から apollo を外したらアクセスできなくなった。 $ ftp 100.1.1.1 220 Check Point FireWall-1 Secure FTP server running on fire Name (100.1.1.1:katou): ikken 331 aftpd: FireWall-1 password: you can use password@FW-1-password Password: 200 FireWall-1 password: you can use 'quote FW-1-password' or Account command ftp> ls ('ACCT') 200-Access denied by FireWall-1 authentication 421 aftpd: aborted 421 Service not available, remote server has closed connection ftp> bye * HTTP の [ユ−ザ認証] で外へのアクセス 実際は tcp-ip の www.tcp-ip.or.jj へアクセスするのにパスワ−ドはいらない。グル− プ Group1 のユ−ザ ikken は、FireWall-1 で定めたユ−ザ、パスワ−ドでないとアクセ スできないようにする。上の設定でのル−ル2は消去しておく。 -------------------------------------------------------------------------- | Check Point Policy Editor -- Fire0 | | | |------------------------------------------------------------------------| ||No.| Source | Destination | Service | Action | Track | Install On || ||---|----------|-------------|---------|----------|-------|------------|| || 1 |Group1@Any| tcp-ip | http | UserAuth | | Gateway || ル−ルの UserAuth のとこをクリックすること。次の画面がでてくる。 ------------------------------------------------------ | User Authentication Action Properties | |--------- | ||General| | || -------------------------------------------|| || || || Source: [intersect with user database]▽ || || Destination: [intersect with user database]▽ || || || || - HTTP ------------------------------------ || || | ● All servers ○ Predefined Servers | || || ------------------------------------------- || -------------------------- ↑ ----------------------- デフォルトではこっちがチェックさ れている。All servers の方にする。 ---------------------------------------- Windows パソコンのNetscape Navigator |ユ−ザ名とパスワ−ドの入力 | から http://www.tcp-ip.or.jj/ と入れ |--------------------------------------| るとパスワ−ド入力画面が出てくる。う | FW-1. Reason: no user Server | まくいかない場合、ユ−ザ名とパスワ− | (www.tcp-ip.or.jj)に対するユ−ザ名を | ドを入れる画面は出てくるが、パスワ− | 入力して下さい | ド入れたところで失敗してしまう。設定 | ユ−ザ名 : [ikken ] | があっていると思われる時は、とりあえ | パスワ−ド: [henomohe ] | ずパソコンをリブ−トしてみよう。 ---------------------------------------- (3) FireWall-1 の SecureClient * テスト環境 Windows 98 は一応 FireWall-1 の外にある。 これでテストとしてリモ−ト接続のつもり にする。 このパソコンから内部ネットワ−ク 192.168.1.5 のWWWサ−バに暗号化アク セスする。アクセスできるユ−ザは ikken だけとする。 FireWall-1 にユ−ザ ikken を 登録し、属するグル−プを Group1 とする。Windows 98 のネットワ−ク設定は、"TCP/IP のプロパティ" のゲ−トウェイを 202.241.128.2 にする。 暗号化対応版の FireWall-1 では SecureClient 用のサ−バ SecuRemote が稼働している とする。FireWall-1 では、 管理モジュ−ルや本体のサ−バなど分散して稼働させること ができる。設定はかなり繁雑なものとなってくる。鍵交換プロトコルの IKE や RDP パケ ットを通過させるといった特殊なル−ル設定が必要になったりする。ここでは一番シンプ ルな構成でテストする。また通常はこれで十分でもある。 FireWall-1 でのホスト名 remo1。 ---------------------- ホストのグル−プ名 RemoteG は remo1 を含む。 外部のパソコンから内部 ネットのWWWサ−バに SecureClient 暗号化アクセスしたい。 □ Windows 98 □ Router ---------------------- |.4 | ----------------------------- 202.241.128.0 | FireWall-1 ------- .2 FireWall-1 でのホスト名 indy1。 (SecuRemote)| | ホストのグル−プ名 LocalG は indy1 を含む。 | | ユ−ザ ikken ------- □ WWWサ−バ グル−プ Group1 | |.5 ----------------------------- 192.168.1.0 [ SecureClient 設定の概略 ] SecureClient アクセスするユ−ザを登録する > ユ−ザ ikken, "VPN-1 & FireWall-1 Password" 指定でパスワ−ド henomohe。 それに ユ−ザ ikken は remo1 から indy1 ヘのアクセスしかできないように制約をかける。 ユ−ザを定義したら、このユ−ザを含むグル−プを作成する > ikken の属するグル−プ名は Group1 とする。ル−ル設定 Client Encrypt では、グル −プでないとはねられる。 暗号化サイトを 202.241.128.2 オブジェクトに設定する > 暗号化方式を FireWall-1 独自の FWZ, FWZ1 とし、暗号化鍵を作っておく。 それに暗 号化ドメインをホスト indy1 を含むグル−プ LocalG と定義する。 ここまでやって Windows の SecureClient でサイトを指定する > 暗号化は FireWall-1 独自の FWZ, FWZ1 でやってみる。暗号化通信する FireWall-1の サイトをIPアドレスで指定する。すると FireWall-1 からいろいろ情報を拾ってくる。 * SecureClient クライアントのインスト−ル FireWall-1 の CD-ROM からもインスト−ルできるが、 ここでは CheckPoint のサイトを 利用してみる。パスワ−ドなんかなく、どこから誰でも自由にダウンロ−ドできる。幾つ かあるが、VPN+Des の Windows 9x/ME 版をダウンロ−ドしてみた。C:\WINDOWS\Profiles \ikken\デスクトップsr_4174_win9x_des\ に一杯ファイルが入った。そして Setup.exeを やってセットアップする。SP3 Hotfix (buid 4176)というのが、どうも最新のようだった。 http://www.forvalcreative.com/jpn/support/fw-1/ に FireWall-1 のリリ−スの履歴な どが掲載されているが、それによれば SP3 Hotfix は 2001/03/06 にリリ−スされている。 http://www.checkpoint.com/techsupport/freedownloads.html VPN-1 SecuRemote Release of Version 4.1 SP3 (buid 4174) > VPN+Des の Windows 9x/ME, 4.48 MB。Windows NT, Windows 2000 用もあり。 これらの VPN+Strong タイプのもある、Strong は Triple DES のことだと思う。 ファイルは C:\Program Files\CheckPoint\FireWall-1\というディレクトリに展開される。 そしてこの下に "FireWall-1 Authentication Agnet\FWSession.exe などが入る。この実 行モジュ−ルが、FireWall-1 Authentication Agent というデ−モンであり、パソコン起 動とともに稼働する Win32 アプリケ−ションである。 起動は "C:\WINDOWS\スタ−ト メ ニュ−\プログラム\FireWall-1\FireWall-1 Authentication Agnet" ショ−トカットによ る。SecureClient クライアントは C:\Program Files\CheckPoint\FireWall-1\ 以下にで きた \SecuRemote\bin\fwenc.exe である。 * FireWall-1 側の設定 1) SecureClient を SecuRemote として稼働するようにする 以下 [Policy]-->[Properties] で設定していく。 ---------------------------------------------------------------------------- | Properties Setup |--------------------------------------------------------------------------- | SYNDefneder|LDAP|Encryption|ConnectControl | Security Policy|Services|Log and Alert|Security Servers|Authentication | -------------------- | Hight Availability|IP Pool NAT|Access Lists | Desktop Security | |----------------------------------------------- ---------- | SecuRemote: | | | | Required Policy for All Desktops: | [ Allow All ] << 従来の SecuRemote として働く。つまりデスクトップ・ポリ | シ−の機能はなしとする。 | | ---------------------------------------------------------------------------- 他の選択肢:[ Allow Outgoing Only ] SecureClient からだけの発信接続を許可する。 [ Allow Encrypted ] VPN接続だけを許可する。 [ Allow Outgoing and Encrypted ] 2) Windows の SecureClient で [Sites]->[Create New] が効くようにする --------------------------------------------------------------- | Properties Setup |-------------------------------------------------------------- | Security Policy | | --------------------------------------------- | | -- Implied Rules -------------------------------------------- | |〆 Accept VPN-1 & FireWall-1 Control Connections: [ ]▽ << ここチェック。 | | Accept RIP: [ First ]▽ | | | 3) HTTP を外から内に通す 外から内へのアクセスにいる。Predefined Servers にチェックされていると Windows 側 で認証に失敗しましたと出る。 ------------------------------------------------------ | User Authentication Action Properties | まずは Windows は暗号化の |--------- | ソフト無しで試してみた。 ||General| | || -------------------------------------------|| || Source: [intersect with user database]▽ || || Destination: [intersect with user database]▽ || || || || - HTTP ------------------------------------ || || | ● All servers ○ Predefined Servers | || || ------------------------------------------- || ------------------------------------------------------ 4) ユ−ザ ikken を定義する [Manage]->[Users] から、 画面で [New]->[Default] をクリックする。 ---------------------------------------------------------------- | User Properties | |--------------------------------------------------------------| | General Groups | Authentication | Location Time Encryption | |----------------- -----------------------------| | Authentication Scheme: [ VPN-1 & FireWall-1 Password ] | ・ 画面の [General] が出ている、"Name: ikken" と入れる。 ・[Groups] は "Belongs to Groups" に "Group1"。 ・[Authentication] は "VPN-1 & FireWall-1 Password" をチェック。 ・[Location] は "Source:remo1", "Destination:indy1" とする。 ・[Encryption] は "FWZ" をチェックする。 ・[Encryption]->[EDIT] をクリックし次のようにする。 Session Key Encryption Method:[ FWZ1 ] << ここ Clear, DES, ANY もある。 Data Encryption Method: [ FWZ1 ] << Any は相手に合わせる指示。 Data Integrity Method:●None ○MD5 << デ−タの改竄チェックはなし。 5) 暗号化ドメインと暗号化方法の設定 [Manage]->[Network Objects] で Fire0 をクリックする。Domain のとこが暗号化ドメイ ンである。Other のとこの▽をクリックすると、有効なオブジェクトがリストされる。 --------------------------------------------------------------------- | Workstation Properties | |-------------------------------------------------------------------| | General Interfaces SNMP NAT Cetificates | VPN | Authentication | |--------------------------------------------- -----------------| |- Domain --------------------- - Encryption schemes default ---- | | ||○ Disabled | |〆 FWZ | | ||○ Valid Addresses | | SKIP | | ||● Other: | | IKE | | || [ LocalG ]▽ | | Manual IPSEC | | || | --------------------------------- | ||〆 Exportable for SecuRemote| [ EDIT ] | |------------------------------ | --------------------------------------------------------------------- ・ホスト indy1 を含むグル−プ LocalG を暗号化ドメインにしている。 ・デフォルトの暗号化方式を FWZ にチェックする。 ・[EDIT] をクリックすると という画面がでる。以下の作業をする。 ・[Key Manager] の ●Local で [Generate] をクリックする。 ・[DH Key] の [Generate] もクリックする。DH は Diffie-Hellman のこと。 ・[Encapsulation] で 〆Encapsulate SecuRemote connections にチェックする。 6) ル−ルベ−スを設定する -------------------------------------------------------------------------------- | Check Point Policy Editor -- Fire0 | |------------------------------------------------------------------------------| ||No.| Source | Destination | Service | Action |Track| Install On || ||---|--------------|-------------|---------|--------------|-----|------------|| || 1 |Group1@RemoteG| LocalG | Any |Client Encrypt| Long| Gateway || * Windows パソコン側の設定 1) VPN-1 SecureClient の画面を出す [スタ−ト]->[プログラム]->[SecuRemote]->[SecureClient] これクリック。 [FireWall-1]->[FireWall-1 Authentication Agent] ・[Sites]->[Create New] をクリックし、IPアドレスを入れる。 ・[Policy]->[Disable Policy] をチェックする。 ・[Tools]->[Encryption Scheme] をクリックし、FWZ にチェックする。(IKE か FWZ) ・[Certificates] は何もいじらず。 ------------------------------------------------------ | VPN-1 SecureClient | |----------------------------------------------------| |File View Sites Passwords Policy Tools Certificates | |----------------------------------------------------| | # | | 202.241.128.2 | ------------------------------------------------------ [Sites]->[Create New] をクリックする。IPアドレスを入れる画面が出る。FireWall-1 の外側インタ−フェ−スのオブジュクト Fire0 のIPアドレス、202.241.128.2を入れる。 すると FireWall-1 から暗号化の情報をダウンロ−ドしてくる。それからユ−ザ名とパス ワ−ドを入れよと指示が出るが、とりあえずここでは入れずにおく。もし入れてしまった ら、[Passwords]->[Erase Password] でユ−ザ名とパスワ−ドを消しておく。 2) Netscape で接続してみる Netscape を起動すると次のような画面がでてくる。FireWall-1 側で登録したユ−ザ名と パスワ−ド、ここでは ikken, henomohe を入れると暗号化して接続する。 こうして一度 ユ−ザ名とパスワ−ドを入れると に 記憶される。 次に Netscape を起動すると、いきなり接続するようになる。この有効時間はFireWall-1 で設定できるようになっているはずである。 -------------------------------------------------------------| | VPN-1 SecureClient Authentication | |------------------------------------------------------------| |--------------------- Please authenticate yourself to site: | || Secured by | 202.241.128.2 | || VPN-1 SecureClient| | || | User name: [ ikken ] | || | -Password --------------------------- | || | |○ Enter password later | | || CHECK POINT | |● Type in password now: [ ***** ] | | |--------------------- ------------------------------------- | -------------------------------------------------------------- (4) FireWall-1 SecureClient 設定の詰め * FireWall-1 でログを確認する [Manage]->[Users] の ikken で、 [Encryption] の "Succesful Authentication Track" を "Log" にチェックして、 ル−ルベ−スの Track を Long or Short にしておくと暗号 化認証時のチェックするログがとられる。確認したら "Log" を "None" にしておく。 [Window]->[Log Viewer] でログをみてみる。暗号化してますと出ている。 ------------------------------------------------------------------------------- | Fire0 -- Check Point Log Viewer - [fw.log] | |-----------------------------------------------------------------------------| | Action Source Destination User SrcKeyID DstKeyID Info. | |-----------------------------------------------------------------------------| | decrypt 202.241.128.4 192.168.1.5 ikken 251c3a2Sab02 9951... FWZ methods :FWZ1,FWZ1,NONE * FireWall-1 側で変更した場合 FireWall-1 のル−ルを変更した際は、[Policy]->[install] をやること。 SecureClient のテストでは、Windows の画面から Netscape をクロ−ズして、の [Passwords]->[Erase Passwords] をやっておくこと。 ユ−ザ ikken のデ−タ改竄チェックの {Data Integrity Method} を、None から MD5 に 変えて [User]->[install] したら、 Windows に変更になったよとメッセ−ジ画面がでた。 SecureClient の画面を出し [Sites]->[Update Site] をクリックし、アップデ−トした。 * ル−ルベ−スの設定を詰める -------------------------------------------------------------------------------- | Check Point Policy Editor -- Fire0 | |------------------------------------------------------------------------------| ||No.| Source | Destination | Service | Action |Track| Install On || ||---|--------------|-------------|---------|--------------|-----|------------|| || 1 |Group1@RemoteG| LocalG | Any |Client Encrypt| Long| Gateway || Service は HTTP だけでいいのでないか。 > いい。必要なパケットだけ通す方がいいだろう。 Destination はグル−プでないとダメか。LocalG は indy1 を含むグル−プ。 > 直接 indy1 にしてもだいじょうぶだった。 Source の "Group1@RemoteG" は "Group1@Any" でもいいのでないか。 > いい。安全的には "Group1@RemoteG" この方が厳しく望ましい。 * 暗号化ドメインの設定を詰める [Manage]->[Network Objects] で Fire0 をクリックする --------------------------------------------------------------------- | Workstation Properties _______ | | | VPN | | |--------------------------------------------- -----------------| |- Domain --------- || | ||● Other: || [ netvpn ]▽ << ネットワ−クのオブジェクトでもよかった。 ・[Manage]->[Network Objects]->[New] で [Network] を選択する。 ・ という画面が出る。以下の設定を行う。 ・[General] で "Name: netvpn", 192.168.1.0, 255.255.255.0, Location は Internal。 ・[NAT] で 〆Add Automatic Address Translation Rules, ・Translation Method: Hide, Hiding IP Address: 202.241.128.2 と入れる。 グル−プだけでなく、ネットワ−クのオブジェクトでもよかった。 この Other の▽をク リックすると、ネットワ−クとグル−プのオブジェクトがリストされる。最初テストした 時は、ネットワ−クのオブジェクトではうまくいかなかったような気がするのだが。とも かくこの時点で通ったル−ルも示しておく。 ------------------------------------------------------------------------------ |No.| Source | Destination | Service | Action |Track| Install On | |---|--------------|-------------|---------|--------------|-----|------------| | 1 | Group1@Any | indy1 | HTTP |Client Encrypt| Long| Gateway | * ユ−ザ ikken の定義を詰める [Location] の Source と Destination のところ空にしてみる。 Netscape でアクセスす ると、認証画面はでてくる。ikken, henomohe と入れると認証しましたと出るが、WWW サ−バに接続しない。Source、Destination それぞれ入れてもダメだった。両方、どこか らどこにアクセスするか定義しないとダメみたいである。 * VPN-1 SecureClient のパスワ−ドのところ [Passwords]->[Disable SDL] でよい。 [Disable SDL] か [Enable SDL] かどちらか選択 するようになっている。選択の際 "Secure Domain Logon" という説明が出るが、 これは Windows パソコンの管理ドメインの機能を使うかどうかという話である。設定がややこし くなるだけなので使わないことにする。できるだけ設定はシンプルにしたい。 (5) 仮想IPアドレスも含めての設定 * 営業所と本社間でのファイルの閲覧と転送 DMZ にファイル交換用のサ−バを設けることにする。 ここでは Cobalt Qube2J を使うこ とにしよう。ファイルの閲覧は HTTP アクセスのWWWブラウザで、ファイルの入れ込み は ftp でそれぞれ行うことにする。そのため Cobalt ではWWWサ−バと FTP サ−バを 稼働させる。本社の内部ユ−ザは、ストレ−トにアクセスできるようにする。営業所から の HTTP と FTP アクセスはユ−ザ認証、FireWall-1 の "VPN-1 & FireWall-1 Password" をかますことにする。暗号化まではとりあえずしない。暗号化通信するには、双方のパソ コンに SecureClient ソフトをインスト−ルして設定しなければならない。実際使うユ− ザの意向を聞きながらの話になる。読者の宿題としよう。 デ−タ交換用ホスト Cobalt には、IPアドレスでアクセスすることにする。プライベ− トIPアドレスには外からはアクセスできないので、仮想IPアドレスでもってバリアセ グメントに出すことにする。使うのは内輪だけの話になるので、特にドメイン名でのアク セスをできるようにする必要もない。テストの構成について説明する。バリアセグメント においた Windows パソコンを、営業所にあるパソコンとみなす。 実際は大阪や米国の営 業所や支店ということになるだろう。このパソコンを FireWall-1 でユ−ザ名 osaka、パ スワ−ド henomohe とする。FireWall-1 でのグル−プは OSAKA、ホスト名は hostO とす る。これで、とりあえず FireWall-1 のル−ルを設定してテストしてみる。 : hostO ■hostA' ■hostU' □Router ▲テスト用Windowsパソコン |.3 |.4 |.1 |.5 ----------*------------------------------ 2O2.241.128.0 | .2 |hme0 社外用WWW Cobalt Qube2J ------- □hostA □hostU WWW,ftp Server |hostG|hme2 |.1 |.2 | |--------------------------- 192.168.2.0 ------- .2 .2 |hme1 □hostB □hostC 管理者用 | |.1 |.3 ----------*------------------------------ 192.168.1.0 ・外側の特定ホストから 2O2.241.128.4 にユ−ザ認証して HTTP, FTP アクセスする。 ・内側の任意ホストから 202.241.198.4 に HTTP, FTP アクセスする。 ・内側の任意ホストから 192.168.2.2 に HTTP, FTP アクセスする。 * FireWall-1 と経路情報の設定 /etc/rc2.d/S99NAT hostG hme0 のMACアドレス --------------------------------------↓------------- |/usr/sbin/arp -s 202.241.128.3 00:05:04:a2:00:01 pub << hostA 社外用WWW用。 |/usr/sbin/route add host 202.241.128.3 192.168.2.1 | |/usr/sbin/arp -s 202.241.128.4 00:05:04:a2:00:01 pub << hostU デ−タ交換用。 |/usr/sbin/route add host 202.241.128.4 192.168.2.2 FireWall-1 の fwpolicy で hostU オブジェクトの設定 ---------------------------------------- --------------------------------------- | Workstation Properties | | Workstation Properties | |--------- | | ------- | |General | Interfaces SNMP NAT VPN | | General Interfaces SNMP | NAT | VPN | | ------------------------------| |-------------------------- ------| | Name: hostU | | Values for Address Trabslation | | IP Address: 192.168.2.2 | |〆Add Automatic Address Translation R| | Location Type | | Translation Method: ▽Static | |○Internal ●External ●Host○Gateway| | Valid IP Address: 202.241.128.4 | | | | | Install On: @All | ---------------------------------------- --------------------------------------- ------------------------------------------------------------------------------ | Check Point Policy Editor -- Fire0 | |----------------------------------------------------------------------------| ||No.| Source | Destination | Service | Action |Track| Install On || ||---|-------------|-------------|-----------|-----------|-----|------------|| || 1 | OSAKA@hostO | hostU | http ftp | User Auth | | Gateway || || 2 | hostO | hostU | ftp | accept | | Gateway || || 3 | hostC | hostU | HTTP81 | accept | | Gateway || || | | | | | | | || || 6 | ALL | Any | http ftp等| accept | | Gateway || || 7 | Any | Any | ident | reject |Short| Gateway || || 8 | Any | fire012 | Any | drop |Long | Gateway || || 9 | Any | Any | Any | drop |Short| Gateway || |----------------------------------------------------------------------------| ------------------------------------------------------------------------------ ・[Manage]->[Users] からユ−ザ osaka を作る。[Authentication Scheme] はユ−ザ認 証の "VPN-1 & FireWall-1 Password"、パスワ−ドは "henomohe" とする。 [Groups] は OSAKA。[Location] は "Source: hostO", "Destination: hostU" とする。 ・オブジェクト hostO を作る。NAT の設定はなし。HTTP 81/TCP のサ−ビス・オブジェ クト HTTP81 を作る、これは Cobalt の管理用の HTTP アクセスである。 管理者用の ホスト hostC だけ Cobalt の設定ができるようにする。 ・ALL はグル−プ・オブジェクトである。hostC も含むとする。 ル−ルには http, ftp など入るものとする。これにより内部ネットのホスト hostC などから、ユ−ザ認証は なしで hostO に HTTP:80 と FTP アクセスができる。 ・オブジェクト fire012 は、ファイアウォ−ル・ホストの hme0,1,2 インタ−フェ−ス をオブジェクトとして作り、グル−プにしたもの。 このル−ルは、どこからもファイ アウォ−ルにアクセスできないようにする。 ・その他設定。1番のル−ルの User Auth では、HTTP81 を Service に追加できなかっ た。[Manage]->[Network Objects] で Fire0 オブジェクトは、"(2) FireWall-1 のユ −ザ認証" の設定と同じ。 * 実際の営業所からのアクセス制限 ユ−ザ osaka の [Location] 制約は、 発信元がダイアルアップIP接続の場合はIPア ドレスは固定されないので、このままのホスト指定のオブジェクト設定はできない。実際 の設定では、 先ず FireaWall-1 のログを見て発信元のIPアドレスを調べる必要がある。 そしてネットワ−クIPアドレスでもって、FireWall-1 の Network のオブジェクトとし て制約設定を行う。 ル−ルの UserAuth のとこをクリックして、 Source を "ignore user database" とする。 これで1番のル−ルでの発信元のチェックは、 グル−プ OSAKA に属するユ−ザのパスワ −ドだけとなる。この時点で営業所から HTTP アクセスができるはずである。そのアクセ ス・ログを取り、発信元のネットワ−クIPアドレスを調べればよい。うまく設定できた ら UserAuth の Source を "intersect with user database" にしておく。 ・ で営業所のダイアルアップIP接続のネットワ−クIPアドレ スを設定する。Location は ●External にする。オブジェクト名は o_net とする。 ・[Manage]->[Users] でユ−ザ osaka を修正する。[Location] は "Source: o_net" と する。ユ−ザ認証は "VPN-1 & FireWall-1 Password" のまま。 ----------------------------------------------------------------------------- |No.| Source | Destination | Service | Action |Track | Install On | |---|-------------|-------------|-----------|-----------|------|------------| | 1 | OSAKA@o_net | hostU | http ftp | User Auth | Long | Gateway | | 2 | o_net | hostU | ftp | accept | Long | Gateway | 注.FireWall-1 のマニュアルによれば、1番のル−ルだけで HTTP, FTP 共ユ−ザ認証し てアクセスできるはずである。しかし試したところ1番だけでは HTTP アクセスしか できない。FTP アクセスはユ−ザ認証らしきことは1番のル−ルで行われるが、アク セス自体は2番のル−ルによって許可されることになる。ユ−ザ認証らしきと書いた のは、 FTP のユ−ザ認証は FireWall-1 の FTP セキュリティ・サ−バに補捉される がログには [no auth] と出て、 認証されていないという珍現象が起きるからである。 よく分からないが、これでどうやら問題はなさそうである。 -------------------------------------------------- | User Authentication Action Properties | ル−ルの UserAuth のところを |--------- | クリックする。この画面が出る。 ||General| | || ---------------------------------------|| || || || Source: [ignore user database ]▽ ← ユ−ザ osaka の [Location]の || Destination: [intersect with user database]▽|| "Source: xxx" の設定を無視す || || る。ル−ルベ−ス OSAKA@o_net || - HTTP ------------------------------------ || のグル−プ OSAKAに属するユ− || | ● All servers ○ Predefined Servers | || ザかどうかだけをチェックする。 || ------------------------------------------- || -------------------------------------------------- * Cobalt Qube2J のWWWと FTP サ−バの設定 ftp 用にユ−ザを作る。氏名 OSAKA1、ユ−ザ名 osaka、 パスワ−ドは henomohe と設定 する。これで /home/users/osaka というディレクトリができる。 ここにデ−タ交換用と してのディレクトリ data を作ることにする。/home/users/osaka/index.htmlファイルは ユ−ザを作ると自動でできている。適当なファイル名に変えておく。ただし home.htmlは だめである。 index.html と同じくデフォルトで初期 HTML 画面と認識してしまうようで ある。HTTP アクセスは少し注意しなければならない。 http://192.168.2.2/users/osaka とやっても最初反応しない。実際のディレクトリが http://192.168.2.2/.user/users と なっているからである。反応しなかった時の Cobalt のワ−ニングの画面から辿るなりし て http://192.168.2.2/users/osaka を出し、出たらブックマ−クしておこう。 hostC% ftp 192.168.2.2 220 ProFTPD 1.2.0pre4 Server (ProFTPD) [localhost] Name (192.168.2.2:katou): osaka Password: << henomohe Using binary mode to transfer files. ftp> pwd 257 "/users/osaka" is current directory. hostC% telnet 192.168.2.2 Cobalt のWWWの管理画面で root Cobalt Linux release 4.0 (Fargo) ユ−ザしか、telnetできないように Kernel 2.0.34 on a mips 設定するのがいいだろう。 root の login: root パスワ−ドは、admin のパスワ−ド Password: << henomohe を設定すれば同じのがつく。 qub2# cd /home/users;ls -F admin/ index.html osaka/ qub2# cd osaka;ls -F ディレクトリ private にアクセス Network Trash Folder/ index.html private/ すると、ユ−ザ認証画面が出てくる。 ここではユ−ザ osaka、パスワ−ド henomohe を入れることになる。 qub2# mkdir data qub2# chown osaka data qub2# ls -l drwxr-sr-x 2 osaka httpd 1024 May 28 13:42 Network Trash Folder drwxr-xr-x 2 osaka httpd 1024 May 28 13:53 data -rw-r--r-- 1 osaka httpd 3579 May 28 13:42 index.html drwxr-s--- 2 osaka httpd 1024 May 28 13:42 private