11-2. ファイアウォ−ルとソフト  '96

  (1) ファイアウォ−ルの基本 
 
   * 種類と方法

    UNIXのコンピュ−タでは、デ−タのやり取りの単位としてIPパケットを使う。もう
    少し正確にいえば TCP/IP ネットワ−クの機構を持つコンピュ−タ、Windows パソコンで
    も何なら Mac でもいい。 ネットワ−ク正確にいえば、セグメントを相互接続するにはゲ
    −トウェイかル−タを使う。このゲ−トウェイまたはル−タで、IPパケットを通過させ
    ないようにするのが、ファイアウォ−ルの基本である。

    しかしこれでは、ネットワ−ク接続している意味がないので、特定のIPパケットのみ通
    しましょうというが、パケットフィルタリングである。

    あるいは、プログラムを介してパケットを中継しましょう。ただし特定のアプリケ−ショ
    ンのパケットのみを中継しましょうというのが、コネクションフィルタリングである。

    コネクションフィルタリングでは、 telnet などのコマンドを使う場合にゲ−トウェイに
    一度入ってから、もう一度外部に telnet するような操作方法を必要とするのが、アプリ
    ケ−ションレベル・ゲ−トウェイのファイアウォ−ルという。そうでなくて、ユ−ザは意
    識しなくても、プログラム側でゲ−トウェイを通過の制御してくれるのを、トランスポ−
    トレベル・ゲ−トウェイのファイアウォ−ルという。

        a.IPパケットを選択する : パケットフィルタリング(スク−リニングともいう)
       
        b.IPパケットを通さない : コネクションフィルタリング     次の2種類ある
          > 1.アプリケ−ションレベル・ゲ−トウェイ
          > 2.トランスポ−トレベル・ゲ−トウェイ(サ−キットレベル・ゲ−トウェイ)
                                   
    [ ゲ−トウェイについて ]

    ゲ−トウェイでIPパケットの中継を禁止することを、IPフォワ−ディングを落とすと
    か ip forwarding off するといった言い方をする。ここでいうゲ−トウェイは UNIX
    のコンピュ−タでイ−サネット・インタ−フェ−スを2個持ったものか、専用ル−タであ
    る。しかしファイアウォ−ルのソフトを普通ゲ−トウェイのホストに載せるので、一般的
    にはゲ−トウェイは、コンピュ−タの方を使う。イ−サネット・インタ−フェ−スを2つ
    持つことから、ゲ−トウェイと呼ばずに Dual Homed Host などと呼ぶ場合もある。
                                

   * どちらがいいか

    コネクションフィルタリングの方が優勢なような気がする。これはインタ−ネットの環境
    が変わって来たことと関係している。以前はクラスBを取得することが一般的で、内部ネ
    ットはこれをクラスC相当にサブネット化してネットワ−クを構成していた。ネットワ−
    ク的にもやや規模が大きく、パケットフィルタリングの方がパフォ−マンス的にも優れて
    いた。それに公式なIPアドレスを各ホストに割り振ることができたこと、幾つものサブ
    ネットを含む大きなネットワ−クだったことから、ホスト管理はDNSが適していた。こ
    の場合パケットフィルタリングのゲ−トウェイでなければ、このような構成はとれない。

    それが最近どうも嫌がられるのは、新規のインタ−ネット接続サイトのネットワ−ク規模
    が小さくなってきたこと。同時にクラスCを1個しか取得できないので、どうしても大規
    模なネットワ−クを作りにくくなったことがある。基本的にはクラスCが1個では、1本
    のネットワ−クのセグメントしか作れない。つまりバリアネットに使ったらおしまいとい
    う状況である。クラスCをサブネット分割して使うことも可能だが、DNSをトリッキ−
    に設定したりしなければならないので、これはあまり面白くない。否クラスCを1個まる
    まるもらえるのは96年当時でも難しくなっていた。

    そうなるとゲ−トウェイはコネクションフィルタリングで、内部ネットにはプライベ−ト
    なIPアドレスを使うしかなくなる。コネクションフィルタリングの欠点は、ゲ−トウェ
    イを意識してネットワ−クコマンドを使用しなけばならないことであった。しかし最近は
    意識しなくても使えるようなファイアウォ−ル製品が増えている。そうなると内部ネット
    のユ−ザ側からは、どちらでも構わないということになる。ネットワ−クの管理者からす
    れば、インタ−ネットに接続するために、IPアドレスの付け替えをひょっとしたらしな
    くて済むし、管理的にも安心で簡単になる。

    どちらがいいか決めるのは結構難しい。コネクションフィルタリングの機構、即ちゲ−ト
    ウェイに各ネットワ−クコマンド用の Proxy サ−バ を置き、中継させるというのは、ど
    うもまっとうなやり方ではないような気がする。しかしIPパケットの転送を禁止してし
    まっているのだからしょうがないのだが。これに較べパケットフィルタリングの方は、ネ
    ットワ−クの設計をややこしいのだけれども、正当的に行うことができる。パケットフィ
    ルタリングの問題は、フィルタリングのル−ルを定義し設定することがやや難しいところ
    にある。FireWall-1  のGUIでル−ル設定したところ、ル−ルが複雑になって、思いも
    かけない部分に穴が生じていたという報告もある。

           タイプ      |  IPアドレス  | サブネット | DNS制御 |  CPU負荷
        ---------------|----------------|------------|------------|---------------
        パケットフィル | パブリック     | 分割する   |  必要      | 一般的に小さい
        タリング       | 外から見える   |            |            | ル−ル数による
        ---------------|----------------|------------|------------|---------------
        コネクション   | プライベ−ト   | しなくても | /etc/hosts | 一般的に大きい
        フィルタリング | 外から見えない | 関係しない | でもいい   |


   * IPアドレス変換技術の登場から  `21

    この章を初め記述したのは1996年頃である。まだIPアドレス変換の技術が出てなか
    ったか、あるいは出始めたばかりであまり注目もされていなかった。当時ネットワンの人
    達との勉強会があったりしたが、その席でも注目したのは小生だけだった。FireWall-1の
    Version 2.0 で、IPアドレス変換の実装が業界で初めてなされた。これによってファイ
    アウォ−ルの設置をはじめ、内部ネットワ−クの設計が大きく変わる予感がしたものであ
    る。その後の様子は、パブリックアドレスがクラスCまたはそのサブネットでしか取得で
    きなくなったことから、ともかく内部ネットワ−クはプライベ−トアドレスを使うことが
    一般的になった。そしてファイアウォ−ルでIPアドレスの変換を行うのがデファクトな
    やり方となっていった。

    ファイアウォ−ルのソフトはフリ−ソフトを初め、市販製品も多々出たが FireWall-1 が
    ほとんどのサイトで使われることとなった。やはり一番実績があり、信頼性も高いと評価
    された結果だと思う。 FireWall-1 は最初パケットフィルタリング型のファイアウォ−ル
    として出発している。しかし小生が知った時には、単なるパケットフィルタリング型とは
    呼べないものに進化していた。開発元の CheckPoint 社はステ−トフル・パケット・イン
    スペクション方式だといっている。パケットの中味までしっかり見て、どこからどこへの
    パケットかチェックしている。 このため UDP パケットでも確実に通過制御ができるよう
    になっている。内部的にはパケットフィルタリングとコネクションフィルタリングの機能
    をもっているのだろうが、表面的にはパケットフィルタリング型といってよい。


   * IPアドレス変換技術の登場  `21

    この章を初め記述したのは1996年頃である。まだIPアドレス変換の技術が出てなか
    ったか、あるいは出始めたばかりであまり注目もされていなかった。当時ネットワンの人
    達との勉強会があったりしたが、その席でも注目したのは小生だけだった。FireWall-1の
    Version 2.0 で、IPアドレス変換の実装が業界で初めてなされた。これによってファイ
    アウォ−ルの設置をはじめ、内部ネットワ−クの設計が大きく変わる予感がしたものであ
    る。その後の様子は、パブリックアドレスがクラスCまたはそのサブネットでしか取得で
    きなくなったことから、ともかく内部ネットワ−クはプライベ−トアドレスを使うことが
    一般的になった。そしてファイアウォ−ルでIPアドレスの変換を行うのがデファクトな
    やり方となっていった。

    ファイアウォ−ルのソフトはフリ−ソフトを初め、市販製品も多々出たが FireWall-1 が
    ほとんどのサイトで使われることとなった。やはり一番実績があり、信頼性も高いと評価
    された結果だと思う。 FireWall-1 は最初パケットフィルタリング型のファイアウォ−ル
    として出発している。しかし小生が知った時には、単なるパケットフィルタリング型とは
    呼べないものに進化していた。開発元の CheckPoint 社はステ−トフル・パケット・イン
    スペクション方式だといっている。パケットの中身までしっかり見て、どこからどこへの
    パケットかチェックしている。 このため UDP パケットでも確実に通過制御ができるよう
    になっている。内部的にはパケットフィルタリングとコネクションフィルタリングの機能
    を持っているのだろうが、表面的にはパケットフィルタリング型といってよい。


   * ファイアウォ−ル周りの構成パタ−ン  `23/01

    純粋なパケットフィルタリング型のファイアウォ−ルの場合は除く。ここではファイウォ
    −ルに装備の NAT によるIPアドレスの変換技術、 それにファイアウォ−ルの透過機能
    によって、どのようなネットワ−ク構成が取れるか挙げてみた。透過機能はファイアウォ
    −ルの NetScreen に初めて搭載されたのでないか。パケットフィルタリング型のファイ
    アウォ−ルと構成は同じように見えるが、IPアドレスがバリアセグメントも内部ネット
    も同一であることが異なる。パタ−ン5はボックス型の簡易ファイアウォ−ルでの構成で、
    DMZ セグメントのIPアドレスがバリアセグメントと同じという製品仕様であり、違える
    ことはできない。ファイアウォ−ルの透過機能のように見えるが、そんな高級なものでな
    く、ただの仕様・制約である。製品としては SonicWALL や InstaGate がある。もちろん
    透過機能をサポ−トする NetScreen であれば、パタ−ン5の構成もできる。

    ※ アルファベット大文字はパブリックIPアドレス。小文字はプライベ−トIPを示す。


    バリアセグメント
    --------------------- A     -------------------- A     -------------------- A
          |                          |                           |                  
        ------                     ------ NetScreen            ------ FireWall-1 他 
        |    | FireWall-1 他       |    | 透過型ファイア       |    |--------- B   
        ------                     ------       ウォ−ル       ------ DMZ セグメント
          |IPアドレス変換          | 内部ネット                |                  
    --------------------- b     -------------------- A     -------------------- c
                                                                                                        
        << パタ−ン1 >>            << パタ−ン2 >>            << パタ−ン3 >>       


    --------------------- A     -------------------- A     -------------------- A
          |                          |                           |
        ------ FireWall-1 他       ------ SonicWALL 他         ------ NetScreen  
        |    |--------- b         |    |--------- A          |    |--------- A
        ------                     ------ NetScreen でも可     ------ 透過型ファイア
          |                          |                           |    ウォ−ル
    --------------------- c     -------------------- c     -------------------- A
                                
        << パタ−ン4 >>            << パタ−ン5 >>            << パタ−ン6 >> 


  (2) コネクションフィルタリングの特徴   '96

   * 特徴

    下の図のようにネットワ−クのセグメント a、b があり、ゲ−トウェイで接続しているが、
    IPパケットの転送はしないという状況を考える。このままでは、ホストAからゲ−トウ
    ェイの向こうのホストBに直接アクセスできない。例えば telnet を使うには、一度ゲ−
    トウェイに telnet でロッグインして、そこからホストBに telnet をかけるという2段
    階の操作が必要になる。AからBへファイル転送するには、まず Gate にファイルを持っ
    てきて、そこからBに持っていくという手順になる。これはだいぶめんどうである。


Fig. b21

    そこでゲ−トウェイに何らかのソフトを仲介させ、もう少しスマ−トにならないかと考え
    だされたのが、コネクションフィルタリングである。 代表的なフリ−ソフトに Socks が
    ある。Gate に sockd デ−モンを稼働させ、A側で rtelnet という Socks の専用コマン
    ドを使うと、% rtelnet B というようにアクセスが可能になる。Socks はネットワ−クの
    トランスポ−トレベルの TCP パケットを制御して、パケットを中継する。 このため、こ
    のタイプのゲ−トウェイはトランスポ−トレベル・ゲ−トウェイと呼ばれる。

    telnet や ftp はこのような機構が必要であるが、WWWの HTTP パケットや電子メ−ル
    の SMTP パケットについては、ともかくパケットをゲ−トウェイを通過させるという点か
    らすれば、トランスポ−トレベルでの制御は不要である。ネットワ−クのアプリケ−ショ
    ンレベルで制御すれば済むことになる。


   * トランスポ−トレベル・ゲ−トウェイ

    実装に Socks、wrapper、fwtk などがある。下の図はネットワ−クレイヤ−を示したもの
    であり、Socks を例にとり説明する。トランスポ−ト層のすぐ上に、telnet や ftp で扱
    う TCP パケットを制御するための socket layer がある。層というより、 TCP パケット
    制御用のライブラリといった方が正しいかも知れない。このライブラリを使ってゲ−トウ
    ェイ用の socked を、他のホスト用に rtelnet などを作成する。socked デ−モンはゲ−
    トウェイ上で rtelnet や rftp などのコマンドを見張ることになる。
                                                   
                                                                % rtelnet B
                     ----------               ――――――――――――――――
        socket layer | socked |              |  -----2------    -----1----- |     
                     |--------|              ↓ ↓          |   ↓         | |     
        Transport    |  TCP   |                                                     
                     |--------|                            socked         rtelnet   
        Network    --|IP | IP |----         -------      ----------      -------    
                     ----------             | TCP |      |  TCP   |      | TCP |    
                                            |-----|      |--------|      |-----|    
                                            | IP  |------|IP | IP |------| IP  |    
                                            -------      ----------      -------    
                                              B           Gate             A      


    右上図は、ホストAからBへ telnet かける場合の socked デ−モンの働きを示している。
    rtelnet B とすると、socked を中心にして 1 と 2  のコネクションが張られることにな
    る。それを socked は内部でまとめて、AからはあたかもBに telnet しているかのよう
    に見せかける。注意すべきはBにとってアクセス元は Gate であり、決してAではないと
    いうことである。このため、プライベ−トアドレスのホストからインタ−ネットのホスト
    にアクセスが可能なのである。


   * アプリケ−ションレベル・ゲ−トウェイ
                                           
    ゲ−トウェイでIPパケットを通す場合と、通さないようにした場合のイメ−ジを下に示
    す。左の図ではトランスポ−ト層の TCP レベルのところに通路があるので、 そこをパケ
    ットは素通りしていく。右図ではこの通路がふさがってしまっているので、このままでは
    パケットはゲ−トウェイを通過することができない。

    そこでパケットを通過させるプログラムを用意する。このプログラムはすぐ下にきている
    TCP パケットを拾い上げて、反対の口に渡す働きがあればいい。 sendmail は最初からこ
    のような働きをするプログラムであり、その性質を利用してアプリケ−ションレベル・ゲ
    −トウェイとした例である。

    また CERN httpd Proxy や Socks などは、 そのような働きをさせることを意図して作ら
    れたプログラムである。ちょうど敷居の上に構えておいて、何か来ないかいつも見張って
    いて、自分の欲しいものが来ると拾い上げて反対側に渡すのである。その時にただ渡すだ
    けでなく色を付ける場合もある。敷居の上にいるのは1人だけでなく、それぞれ担当別に
    いるかも知れない。
                                          
    ここでいう"欲しいもの"ということは、パケットを選別することに他ならない。 "色を付
    ける"というのは、DeleGate ように漢字コ−ド変換するといった話になる。一つ注意すべ
    きは sendmail や Proxy の機能は、 イ−サネットの口が2個ある必要は必ずしもないこ
    とである。IPパケットが入る口と、出る口が同じでも構わない。すなわち口が1個でも
    ファイアウォ−ルを構成できる。


Fig. b22

        a. 最初から反対の口に渡す働きがある --> sendmail, named 等 

        b. 専用に反対の口に渡す働きをさせる --> CERN httpd Proxy, Socks 等


   * トンネリング技術  `24/03 追記

    [ AT&Tの TCP 固定トンネルソフト ]

    本「ファイアウォ−ル」William R. Cheswick 氏ら、"4.5.1 メ−ル配送"  の所に書いて
    あること。AT&Tベル研究所の Relay という TCP パケットのトンネリング・ソフトを
    メ−ル配送に用いた話である。メ−ル受信の流れでは、ホスト O に来たメ−ルは、 内部
    のメ−ルサ−バのつもりですぐリレ−され、ポ−ト 26 番の I に送られる。 I に来たメ
    −ルはプログラム relay で、ポ−ト 25 番の R に送られる。ホストUser では sendmail
    などが動いていて、メ−ルが届けられることになる。 User からメ−ルを送信する流れは
    メ−ルサ−バのつもりで送ると、ホスト I の relay が働いて、すぐさま O に送られる。

    INSIDEホストの /etc/inetd.conf    大体の設定イメ−ジ      
    -----------------------------------------------------   OUTSIDE  - O
    |port26 stream tcp nowait daemon tcpd relay tcp!R!25    INSIDE   - I
    |port25 stream tcp nowait daemon tcpd relay tcp!O!25    RESEARCH - R と記す。

    < メ−ル受信の流れ >  ↓SMTP             < メ−ル送信の流れ >  ↑SMTP
                        25□ ____                            25□ ←―
                         O|        |                            O|    |
      -------------------------     |リレ−    ------------------------ |tunnel
         |  User     25        26  |               |  User        25  |
         ■   □ <--- □ <----- □ ←       FireWall ■   □ ------> □ ― ホストRは
         |   |     R| tuunel |I                  |   |         |I   関係なし
      ------------------------------            --------------------------


    [ fwtk の plug-gw 汎用プロキシ・サ−バ ]  

                                          hostX のメ−ルソフトが hostA に POP3アクセ
             POP3            POP3 Server  スする。hostA では TCP/110番ポ−トを見張っ
    hostX □ ----> □ ---------> □       ていて、パケットが来たら、netperm-table の
          |       |hostA       |hostB  記述により hostB の 110 番ポ−トへ中継する。
    ------------------------------------
                                         「UNIX MAGAZINE」'99/05/06/07,"ファイアウォ
    hostA% plug-gw -daemon pop &          −ルの作り方" 参照のこと。7月号に FWTK 汎
                                          用 TCP プロキシ− plug-gw の記事が詳しい。
    hostA /usr/local/etc/netperm-table    
    --------------------------------------------------
    |plug-gw: port pop hostA -plug-to hostB -port pop


    [ SSH( Secure Shell ) のポ−トフォワ−ド機能 ]

    hostA% ssh -L 1000:hostB:110 hostB    hostA の TCP/1000 番と hostB の TCP/110 に
                                          トンネルを張る。hostA から B へは 22番ポ−
    hostA □ --------> □ hostB           トにアクセスする。hostA 上でメ−ルソフトを
          | 暗号化  22|sshd             使い、POP3サ−バは localhost の 1000番とす
    -----------------------------         る。別なホスト hostX が hostA に POP3 サ−
    メ−ルソフト      POP3 Server         バがあるとして、メ−ルソフトを設定してもア
                                          クセスはできない。

    hostA% ssh -L 1000:hostC:110 hostB    ssh のポ−トフォワ−ドは、こんなアクセスも
                        sshd              できる。「UNIX MAGAZINE」`23/08, P.149に書
    hostA □ ------->  □ ------> □      かれていること。次のように解釈した。 hostA
          | 暗号化  22|    hostC|      と hostC間でトンネルは張られるが、暗号化は
    -----------------------------------   hostA-B 間でなされる。hostB-C 間は暗号化は
    メ−ルソフト     hostB   POP3 Server  されない。


    [ relaytcp という概ねフリ−ソフト ]

    hostA% relaytcp -target hostB:80 -myport 8000 &

    hostX% http://hostA:8000/             左の記載は hostB の 80番ポ−トにアクセスす
                                          る。SMTP, POP3, Telnet でもなんでも TCP パ
                  8000 トンネル  80 WWW   ケットの通信を中継する。オプション指定で通
    hostX □ ----> □ ---------> □       信の記録もとれる。relaytcp は Perlで記述さ
          |       |hostA       |hostB  れている。http://www.geocities.co.jp/Silic
    ------------------------------------  onValley-Oakland/4080/ にソフトはある。 


    [ ブロ−ドバンドル−タの静的IPマスカレ−ド機能 ]
                                       
    hostX □ |SMTP                       ADSL やBフレッツの個人向け BB-Router に搭
          : ↓                           載されている、比較的新しい技術である。ポ−
      10.1: 25                           トフォワ−ディングとかバ−チャルサ−バとも
          ■ BB-Router ____           言われる。外から来た特定番号のポ−トへのパ
       1.1|                  |          ケットを内部ネットのホストへ送る。図ではパ
    ---------------------     |          ブリックIPの 10.1 の 25/TCP に hostXから
           1.2|SMTP 25       |          アクセスすると、1.2 のメ−ルサ−バにアクセ
              □メ−ルサ−バ ←           スすることになる。POP サ−バでも同様である。


  (3) 2つのフィルタリングの方法   '96

   * コネクションフィルタリング(IPパケットを通さない)

    [ 内部から外部への Mosaic のアクセス ]


Fig. b23

    [ 電子メ−ルのアクセス ]


Fig. b24

    ゲ−トウェイに sendmail をおく。この sendmail は電子メ−ルを中継するだけであるか
    ら別に sendmail でなくても構わない。電子メ−ルは Gate からすぐホスト Mail に送ら
    れここからユ−ザに配送される。あるいはホスト Gate をメ−ルサ−バにして、直接ここ
    から配送する方法もある。ただこの場合 Gate ホストを、ファイアウォ−ルとメ−ルサ−
    バを兼任させることになり、注意が必要となる。


   * パケットフィルタリング
                                               
    [ 構成例 ]

    パケットフィルタリング型のネットワ−ク構成にする場合、DNS の設定はだいぶややこし
    くなる。下図でホスト Out の DNS は、nix.co.jj ドメイン全体を管理する親である。サ
    ブドメイン sub.nix.co.jj の実際の管理は、ホスト Sub の DNS が行う。 これにより内
    部ネットでホストを追加する場合でも、Sub の DNS を変更するのみで、Out の DNS はい
    じることはない。これはパケットフィルタリング型の、素直な分かりやすい構成である。

    Sub の DNS を無しにして、Out の DNS にサブドメインの管理情報も一括管理させること
    はできる。しかし内部ネットの変更を、バリアネットのホストで行うのは、好ましいこと
    ではない。同様に Sub の DNS を Gate におくことも、 Gate をファイアウォ−ル機能に
    専念させたいということから、これも好ましくない。 いっそ内部ネットでは DNS をやめ
    たいところだが、内部ネットもパブリックアドレスのため、そういう訳にも行かない。


Fig. b25

    この構成で問題になるのは、外部から内部ネットのホスト名がすべて知られてしまうこと
    である。外部からはインタ−ネットの1次ネ−ムサ−バであるホスト Out の DNS にアク
    セスし、そこから Sub の DNS にアクセスして、内部ネットのホスト管理情報をみること
    ができる。内部から外部へアクセスできるが、 その反対はできないような DNS の設定は
    可能である。"13-3. ファイアウォ−ルとDNS" で詳しく説明する。


    [ 経路情報の問題 ]
                     
    ネットワ−クが拡張されて、パブリックなIPアドレスが無くなってしまった。新たにセ
    グメント c を追加するには、プライベ−トアドレスを使うしかない。 あるいは管理者の
    知らないところで、勝手にプライベ−トアドレスのセグメントを引っ付けられてしまった。
    このような状況は非常に起こりそうである。この場合、プライベ−トアドレスの経路情報
    がル−タを通過して、インタ−ネットに流れないようにしなければいけない。

    インタ−ネット接続口のプロバイダ側で、おかしな経路情報はシャットアウトするように
    なってはいるらしいが、出していけないものは、ちゃんと自ネット側でチェックする必要
    がある。具体的には Gate か Router で c の経路情報を通さないようにする。 このよう
    な状況で、ホスト User からインタ−ネットのWWWにアクセスしたいという要求が出た
    場合、Gate2 にWWWの Proxy サ−バを導入して対応することになる。

                                |      ○   ×
             -----           --------  ↑   ↑ 
             |Out|           |Router|  a,b  c の経路
             -----           --------  
               |                |        
        -------*-------*--------*------ a  パブリックアドレス
                       |        
                     ------  ○  ×
                     |Gate|  ↑  ↑ 
                     ------  b   c の経路
                       |     
                -------*--------*------ b  パブリックアドレス
                                |
                             -------      ------
                             |Gate2|      |User|  <-- 外部と直接関係してはいけない。
                             -------      ------
                                |           |
                          ------*-----------*----- c  プライベ−トアドレス
                                                                               

  (4) フリ−ソフトによるファイアウォ−ル構成  '96

   * IPパケットを通さない場合

    電子メ−ルはゲ−トウェイのホストで sendmail で中継するようにする。内部ネットから 
    Mosaic や Netscape を使うために、ゲ−トウェイに HTTP のプロキシ−・サ−バ、 例え
    ば CERN httpd Proxy をおく。別に NCSA のものでもいいが、 CERN の方がデ−タのキャ
    ッシュ機能があるので、いいかなということである。それぞれの人が、同じWWWサイト
    をアクセスするような場合、インタ−ネットのそのWWWまでアクセスしなくても、ホス
    ト Gate にためておいてくれるので、素早くデ−タを見れたりするメリットがある。ル−
    タの負荷を減らすことにもなる。

    [ Socks を使う場合 ]

              --------                  Socks のテストはやってない。一応このようにな
              |Router|                  るのでないかということで、ご容赦頂きたい。し
              --------                  かし実際のところ、このような構成をとるサイト
                 |                      はほとんど無かったと感じる。
        ----*----*------                
            |                           
          ------  sendmail              
          |Gate|  socked Proxy          
          ------  Socks 対応 CERN httpd Proxy 
            |
        ----*----*----
                 |
               ------ Socks 対応 telnet (rtelnet)
               |User| Socks 対応 ftp    (rftp)
               ------ Socks 対応 Mosaic


    [ fwtk を使う場合 ]

            |     sendmail              fwtk には HTTPアクセスのデ−タキャッシュ機能
          ------  telnet-gw Proxy       はない。キャッシュが必要ならば CERN を使う。
          |Gate|  ftp-gw    Proxy                 ↓
          ------  http-gw   Proxy  or CERN httpd Proxy 
            |
        ----*----*----
                 |                      注.ある時期から fwtk は商用利用禁止になって
               ------ 通常の telnet     しまった。96年当時は自由にダウンロ−ドして
               |User| 通常の ftp        使えたのだが、もし入手しても勉強やテスト程度
               ------ 通常の Mosaic     で使うこと。


   * IPパケットを選択する場合

            |
          ------
          |Gate| DEC 社の screend       パケットフィルタリングするフリ−ソフトは色々
          ------ SMTP ポ−トを開ける    調べたところDEC社の screendぐらいしかない。
            |                           しかし実際これを用いている記事は見たことがな
        ----*----*-----                 い。一応注意点を。ftp クライアントにパケット
                 |                      フィルタリング対応のソフトを使うことである。
               ------ ftp ソフトは      
               |User| Ncftp or FFF
               ------ 


   * tcp_wrapper を使ったメ−ルの制限

    sendmail を inetd デ−モンの wrapper の tcpd 制御下におき、 外からの電子メ−ルを
    チェックする。inetd の働きは例えば telnet の要求があると、 inetd.conf の記述をみ
    て直ちに telnetd デ−モンを起動することである。wrapper の働きは telnetd を起動す
    る前に tcpd をかませてアクセスのチェックを行うことにある。この働きを sendmail に
    も使い、特定のIPアドレスからのメ−ルを拒否するよう設定する。具体的には下記のよ
    うに hostG の /etc/inetd.conf と crontab ファイルを記述する。 通過が許可されたメ
    −ルは hostG にたまる。それを cron で定期的に sendmail -q をやり、メ−ルをメ−ル
    サ−バ hostB に転送する。各ユ−ザへのメ−ル配送は hostB から行われる。

    /etc/inetd.conf             Sun, INDY 共通
    ----------------------------------------------------------------
    |smtp stream tcp nowait root /usr/etc/tcpd /usr/lib/sendmail -bs

    /var/spool/cron/crontab     Sun, INDY 共通
    ------------------------------------------
    |0,15,30,45 * * * * /usr/lib/sendmail -q    << 15分毎にメ−ルを配送する。

            |
         ------- MX : メ−ルゲ−トウェイ    ※ この動作テストは行っていない。どうも
         |hostG| inetd.conf                    IPアドレスでメ−ルの受取り制限する
         ------- crontab                       というのは、実際的ではない。ダイアル
            |                                  アップIPユ−ザからのメ−ルは、いわ
    --------*-------*------ 内部ネット         ば全部同じIPアドレスになるのでない
                    |                          か。これじゃ制限もへちまもない。各自
                 -------                       色々考えてもらいたい。
    メ−ルサ−バ |hostB| sendmail   
                 -------    

    [ 要確認事項 ]

    hostG は外からの電子メ−ルを受ける窓口であり、hostB メ−ルサ−バへ中継する役目に
    なっている。上記の設定においてアクセス制限は hostG では有効なはずである。 しかし
    hostB ではアクセス制限しようとしても出来ないのでないか。電子メ−ルはいわばバケツ
    リレ−で hostG から hostB へのアクセスになる。hostG のバケツの相手は、まさに相手
    そのものだからアクセス制限が有効になるのである。(uucp のバケツリレ−とは違う)
                                                              
    [ tcp_wrapper のオプション ]

    tcpd をコンパイルする際に Makefile -DPARANOID とオプションを付けると、相手IPア
    ドレスからドメイン名の逆引きチェックができるようになるらしい。本当に相手が本者で
    あるかチェックするのである。相手ホストで identd デ−モンが稼働していれば、ユ−ザ
    名のチェックをするオプションも設定できるらしい。ただし sendmail で相手ユ−ザ名を
    チェックするといってもこれは意味がない。ftp や telnet 等の場合に有効な機能である。


   * Linux/FreeBSD の場合     `02/06 追加

    さて時は過ぎフリ−のフィアウォ−ル関係のソフトがいろいろ出てきた。 特に Linux が
    インタ−ネットサ−バとして着実に用いられるようになった。これらのソフトについてま
    とまって紹介しているサイトがあったので追記しておく。"Firewall 構築ガイド" という。
    http://www.tac.tsukuba.ac.jp/~hiromi/firewall.html。 SOHO でのフィアウォ−ル設定
    にはもってこいのサイトである。50万円以下のファイアウォ−ルのソフト並びにハ−ド
    込みのソフトの一覧。それに FreeBSD OSにも最初から入っている IPFW、IP Filter と
    いうフリ−ソフトの紹介と実際の設定。NAT に SOCKS5 の設定記事もあった。


  (5) ファイアウォ−ルなどソフトウェア

   * 市販品

    FireWall-1 Ver.2.0

        プライベ−トアドレスとパブリックアドレスの変換を Ver.2.0 からサポ−ト。 初期
        バ−ジョンはパケットフィルタリング型のファイアウォ−ルであったが、アプリケ−
        ションゲ−トウェイ機能なども含めて来ている。それに FireWall-1 同士で仮想プラ
        イベ−トネットワ−ク、VPN を開設できる。30日間有効のエバリュエ−ションキッ
        ト、マニュアルも有りは2万7千円。50ノ−ドまで79万円。ノ−ド数無制限版は
        298万円。SunOS 4.1.3, Solaris 2.3 用。認証に MD5, Kerberos, SecurID, SSL, 
        SHHTP をサポ−トする。米 CheckPoint Software Technologies 開発。

    BorderWare Firewall Server   

        DNS、電子メ−ルなどインタ−ネット接続に必要なソフトとファイアウォ−ル機能
        を全てまとめたオ−ル・イン・ワンのソフトである。プライベ−トアドレスとパブリ
        ックアドレスを自動変換する機能をもつ。パソコンのハ−ドディスクやイ−サネット
        ボ−ドは指定の品でないとインスト−ルもできないことに注意。25ノ−ド版75万
        円。BSD ベ−スで、DOS/V パソコン用のみ。 CRYPTOCard, MD5, SecurID をサポ−ト。
        カナダ Border Network Technologies Inc. 開発。

    TIS Gauntlet 3.0

        TIS Firewall Toolkit の市販品である。Gauntlet 同士で VPN を開設できる。 これ
        は swIPe というソフトウェア暗号化方法でデ−タを暗号化する。 暗号化と復号化は
        DES で行う。しかしこの機能はアメリカでのみ利用できる。70万円という話しもあ
        るし、日立製作所の販売では132万円とか。BSD ベ−スのソフトは、DOS/V パソコ
        ンで稼働する。他 HP-UX, IRIX, SunOS 用がある。MD5, Kerberos, SecurID, Secure 
        Net Key, SSL, SHHTP をサポ−ト。米 Trusted Information Systems (TIS) 開発。

    Sidewinder 4.1

        米国 Secure Computing 社が開発。米国国防省、CIA、NSAで採用。OSとファ
        イアウォ−ルの機能が一体化された唯一のファイアウォ−ル。OS内部はモジュ−ル
        に別れていて安全性を高めている、Type Enforcementといいこの会社の特許になって
        いる。Heat-Beat 方式または RIP 活用のフェ−ル・オ−バ−機能、WWWと FTP サ
        −バ、DMZ、WWWフィルタの Smart Filter。米国 LAN Magazine 社の「Product of 
        ther Year 1995」受賞。このソフト結構古くからある。2000年位のときのパンフレッ
        トより、700万円とメモを残している。2003 年でもまま売れていると聞いた。

    この他

        Interlock 3.0  --- 米国 Advanced Network & Services(ANS) 社。
        Cyberguard 2.0 --- 米国 Harris Computer Systems 社。


   * フリ−ソフト

    fwtk 

        米 Trusted Information Systems 社のフリ−ソフト。TIS Firewall Toolkit が正式
        名称であり、略して fwtk と呼ばれている。Gauntlet の基本部分でもある。 telnet, 
        ftp, rlogin, X, HTTP など各アプリケ−ションごとの Proxy サ−バが用意されてい
        る。HTTP Proxy サ−バにはキャッシュ機能はない。 この他、特定のアドレスとポ−
        ト間を接続する plug ゲ−トウェイ機能がある。ワンタイム・パスワ−ドも各種サポ
        −トする。

    Socks 

        sockd デ−モンが socks 対応の telnet コマンドなどを中継する。/etc/inetd.conf
        を書き換えて使う。rfinger,rftp,rtelnet,rwhois がクラインアントで用意されてい
        る。最初から専用コマンドを使い、ファイアウォ−ルを意識せずに使えるということ
        で、サ−キットレベル・ゲ−トウェイとも呼ばれる Proxy サ−バである。 日本国内
        で使う場合は、インタ−ナショナル版の export.socks.xxx を使うこと。

    DeleGate

        国産汎用多目的 Proxy サ−バ。色々機能があり過ぎて、 作った本人の電総研の佐藤
        豊氏も DeleGate とは何か説明するのに困っているらしい。漢字コ−ド変換機能もあ
        る。パケットを中継するする際に、漢字コ−ドを変換してしまうわけである。対応プ
        ロトコルは HTTP, Gopher, FTP, WAIS, Whois, Telnet, NNTP, SMTP, POP, SU-SeeMe,
        X Window に対応している。Mount機能で内部のWWWサ−バを公開することもできる。

    CERN httpd Proxy

        ヨ−ロッパ素粒子物理研究所が作成した CERN httpd の Proxy 機能部分。 内部ネッ
        トにある Mosaic からでも Proxy サ−バ経由で、 インタ−ネットにアクセスできる。
        Mosaic の WAIS, HTTP, Gopher, FTP などは、すべて HTTP に変換される。デ−タの
        キャッシュ機能もある。Mosaic は Proxy 対応にして使うことになる。

    wrapper 

        tcpd とも tcp_wrapper とも呼ばれている。inetd から起動されるプロセスに対して
        アクセス制限する。Proxy 機能はないので、ゲ−トウェイでない単体ホストのセキュ
        リティ対策向けである。ゲ−トウェイで使う場合は、CERN httpd Proxy  などと組み
        合わせて使う。ちなみに wrapper は包むという意味である。

    portmapper, sendmail_wrapper, Securelib

        portmapper は RPC 制御をする portmap デ−モン用の wrapper と似たようなソフト
        らしい。sendmail_wrapper は sendmail 専用のアクセス制御ソフトらしい。 もう1
        つあった Securelib というので、 inetd でなく直接起動するサ−ビスを対象にする
        ソフトらしい。この3つはほんとんど雑誌、本でも紹介されてない。一応名前だけ。

    Freestone

        米 SOS Corp. の製品で Brimstone のフリ−ソフト版。S/Key、SecurID、CryptoCARD 
        をサポ−ト。Solaris 2.x, BSD/OS, IRIX 5.3 などで稼働する。あまり聞かないけど。
        ftp://ftp.cs.columbia.edu/pub/sos/freestone
        ftp://ftp.soscorp.com/pub/sos/freestone
        http://www.soscorp.com/products/Freestone.html

    NcFTP  

        パケットフィルタリング型のファイアウォ−ルを設けた場合、内側から外部のホスト
        へ ftp アクセスするには、一方向のコネクションを張る ftp プログラムを使う必要
        がある。passive モ−ド対応 ftp である。 NcFTP の他に、FFF( FireWall Friendly
        FTP ) というのもある。 適当なサイトの /pub/Security/tool/fff を探されたい。
                       
    wu-ftpd

        インタ−ネットの anonymous FTP サイトのデファクト・プログラムである。 普通の
        ftpd は inetd 経由で起動するが、これはデ−モン・モ−ドでも稼働する。inetd を
        かまさないということで、サイトの安全性を高めることができる訳だ。 他 OTP にも
        対応する。制御ファイルは ftpaccess と ftphosts があり、 普通の ftpd より細か
        な制御ができるようになっている。


   * 市販品ハ−ド一体型ソフト追加分  `21/05

    NOKIA FireWall-1    http://nokia.co.jp/ or http://www.asgent.co.jp/ 

        NOKIA IP Security シリ−ズ。専用OS、ハ−ドで FireWall-1 が動くのでより安全
        かつ速い。IP600/400/300 シリ−ズがある。一番安いのはIP330 Base System Bundle、
        81 万円。OSと FireWall-1 本体は入っているが、FireWall-1 のライセンスはない
        ので別に購入する必要がある。他で購入にした FireWall-1 のライセンスでも構わな
        い。10/100 Ethernet の口は3つあるので DMZ にもできる。VRRP もサポ−トする。

    SonicWall PRO       http://www.smisoft.ssd.co.jp/ 住友金属システム開発(株)扱い。    

        ユ−ザ数無制限、VPN に DMZ 対応で 65 万円。IPsec 準拠で IKE 対応。 56bit DES 
        または RC4 を選択する。10/100 Mbps 3ポ−ト。 FireWall-1 とも VPN 接続できる
        もよう。VPN クライアントのソフトは、50ライセンスで 68 万円。 Webによる設定。
        ユ−ザ数10の一番安いタイプは 14 万円。何か見た目、SOHO向けという感じの
        製品である。開発元 SonicWall, Inc。98年11月頃に発売開始されている。

    NetScreen           米 NetScreen Technologies,Inc.

        10 Mbps/100 Mbps/1Gbps のタイプとがある。ユ−ザ数による制限はない。10 Mbpsタ
        イプの NetScreen-10 で約80万円、10base-T 3ポ−ト。SOHO 向けの NetScreen-5 
        もある。10ユ−ザと無制限タイプ、どちらも 10base-T 2ポ−ト。スペックを少し
        紹介しておく。ステ−トフルインスペクション技術。Traffic Shaping による帯域制
        御。VPN機能あり。 Windows 95/98/NT4.0/2000 用の VPN クライアント用ソフト 
        NetScreen-Remote。IPSec V2 準拠, DES/3DES, MD5/SHA-1, IKE/Manual 鍵交換。

    InstaGate EX2       http://www.jtc-i.com/, http://www.esoft.com/
    
        米 eSoft,Inc. 開発の小規模向けセキュリティサ−バ。国内ではジュピタ−テクノロ
        ジ−(株)が扱う。販売開始は `21/03/01。ファイアウォ−ルの機能にWWWサ−バが
        プラスされた製品と考えてよい。他 IPSec, PPTP による VPN。 WWWやメ−ルサ−
        バのウィルスチェック。WWWフィルタリングもできる。25ユ−ザで約35万円か
        ら。値段は SonicWall よりやや高めだが、SonicWall と Cobalt Qube を合わせたよ
        りは安い。`21/06 現在、和文マニュアルを鋭意作成中のこと。


    ※ NOKIA FireWall-1、ソフトだけの FireWall-1 でもそうだが、IPアドレスによる稼
       働制限がある。購入時にWAN側のIPアドレスを申請し、そのIPアドレスでもっ
       てライセンスが発行される。LAN側のIPアドレスは受け付けてもらえない。プロ
       バイダを変えるような場合、WAN側IPアドレスを変えることになる。その際は困
       ることになる。SonicWall, NetScreen, InstaGate ではそういうことはない。そもそ
       も購入時にIPアドレスを申請することもない。


   * ファイアウォ−ルの二重化について  `22/04〜

    Solaris などのマシンにクラスタ用のソフトを入れる。 FireWall-1 の二重化のために開
    発された StoneBeat FullCluster というのがある。 平常時はロ−ドバランサ−として働
    く。トラブル発生時は10秒で切り替わるとのこと。マシンは2つ以上稼働するが、仮想
    的に1個のIPアドレス、MACアドレスである。Windows NT 4.0, Solaris 2.6 などに
    対応する。 このクラスタ・ソフトを開発しているのは http://www.stonesoft.com/japan
    で、フィンランドが本社の会社である。高可用性クラスタリング・ソフトウェアの開発/
    販売を専門にしている。

    他にも、StoneGate という独自OSで、初めからクラスタ構成をとるようにしたファイア
    ウォ−ルのソフトも出している。さらに、StoneGate をプリインスト−ルしたアプライア
    ンス、StoneWall というのも出している。1つの筐体に2つのファイアウォ−ルを収めて
    いる。ついでに Stonesoft ServerCluster というのも紹介しておこう。Solaris, RedHat,
    Windows 2000 で共有ディスクを使用したクラスタ用ソフトである。InterScan VirusWall
    や RealSecure Network Sensor などのアプリケ−ションに対応している。
                                                                                    
    FireWall-1 の二重化では、NOKIA のアプライアンス製品も挙げておく必要がある。 IPSO
    という独自OSを搭載した箱に、FireWall-1 をプリインスト−ルしている。 経路制御プ
    ロトコルの VRRP と FireWall-1 の同期機能が密接に連携し、二重化を計っている。ホッ
    トスタンバイ構成とロ−ドシェアリングの2通りの使い方がある。ホットスタンバイでは、
    2台の NOKIA に仮想的に同じIPアドレスを付けておき、 マスタ−が駄目になったらセ
    カンダリが引き継ぐ。ロ−ドシェアリングは、別個のIPアドレスでそれぞれ稼働するが、
    いざとなったらもう一方が引き継ぐようになっている。


   * 不正アクセス検知のソフト幾つか

    CyberCop   98年7月追加

        リアルタイム不法侵入( Intruder )検出ソフト。Sniffer とデ−タ互換で、詳細解析
        と証拠に使える。200種以上の攻撃パタ−ンを内臓して自動認識する。 e-mail や 
        SNMP トラップで管理者に知らせる。Network Associates, Inc. 製。約300万円。

    Internet Scanner SAFEsuite

        セキュリティ・ホ−ル検出ソフト。米国 ISS( Internet Security System, Inc. )開
        発。だいたい100万円から。98年なかば時点、国内でセキュリティ・チェックを
        サ−ビスする会社が10社程度あるが、このソフトを使っているようである。

    SecureVIEW

        FireWall-1 のログを解析してグラフ等で分かりやすく表示する。米国SecureIT 開発。
        国内は98年6月から販売。Windows 95/NT 用。約34万円、25ユ−ザ分より。フ
        ァイアウォ−ル自体のライセンス数は理解できるとしても、なぜこのソフトまで?。