TCP wrapper を用いたセキュリティ by Petra Hahnke ・ f 「 om LJNIX REVIEW 概要 UNIX MAGAZINE 1998.1 ェストすると、インターネット・デーモン (inetd) カ腰 ライアントが TCP wrapper のホストにサービスをリク れたネットワーク・サーピスのセキュリティ層となる。ク 論理第勺には、 TCP wrapper は /etc/service で定義さ わる。 と、たとえは図 1 のようにサーピスプロセスの流れか変 を置くだけである。 TCP wrapper をインストールする ビスを別の場所に移動し、そこに TCP デーモン (tcpd) どの UNIX システムでも利用できる。ネットワーク・サー しては、システムファイルや設定を変更する必要はなく、 や監視がおこなえるパッケージである。インストールに際 こなうサービスのリクエストに対して、安全な手段の提供 rlogin 、 Telnet 、 exec 、 rcp といった 1 対 1 の通信をお TCP wrapper は無料て、入手でき、 FTP 、 RPC 、 rsh 、 ど紹介する。 の使用など、テープルのさまざまな設定についてはのちほ 山い することができる。サー ー証や、、自家製の " プロセス どのホストにどのようなプロセスの実行を認めるかを指定 ウォールと併用すれは、ホスト許可 / 拒否テープルにより、 トを監視し、それを言求する機能も備えている。ファイア リクエス のユーザー ID やノードだけに与える。さらに、 セスを制限し、重要なサーバープロセスの実行許可は特定 のパッケージはファイアウォールに似た機能をもち、アク しているのなら、 TCP wrapper はうってつけである。 ストをすべて言当求できるようなセキュリティ製品を必要と サーピスの許可と拒否か設定でき、許可 / 拒否したリクエ 会社の予算に余裕はないが、アクセステープルを使って 図 1 サービスプロセスの充れ ・ TCP wrapper のインストール前 クライアント FTP ( ューザー ) クライアント ファイル転送 ・ TCP wrappe 「のインストール後 クライアント FTP ( ューザー ) クライアント ファイル転送 i netd tcpd ftpd 求されたサーピスの代わりに tcpd を呼び出す。そして、 TCP wrapper はすべてのクライアント情報 ( ホスト名や IP アドレス、リクエストの種別、リクエスト時間など ) を 監視し、 syslog で記録する。必要に応して、この情報を ポケットベルやプリンタに送ったり、ほかのファイルに 出力することもできる。これらのデバイスにどのような情 報を送るかし尺できる。 tcpd はホストの権限ファイル をチェックし、どのホストか許可さそれカ舸を実行で きるかを決める。クライアントがホストサーバー上て権限 をもっていれば、 tcpd はそのサーピスを呼び出していな くなる。これらのチェックは、クライアント側からはまっ たくみえない。 93
NETWORKTECHNOLOGY 4 図 7 proxy LEC 、 non-proxy LEC のアドレス解決 LES ( 2 ) ( 4 ) ホスト A ブリッジ B ( 5 ) ( 3 ) ホスト 2 ホスト 1 ポート 1 (a) LES の MAC アドレス・ ATM アドレス対応表 . MAC( ホスト A) ・一・ ATM( ホスト A) ・ MAC ( ブリッジ B トー・ ATM( ブリッジ B) : ・ MAC( ホスト C) ・一 TM ( ホスト C ) ホスト C (b) ブリッジ B の bridge table ・ MAC ( ホスト 1 ) →ポート 1 : ・ MAC ( ホスト 2 ) →ポート 1 ・ 1. LE_ARP_REQUEST( ホスト 1 ) 、 Control Direct VCC 経由 2. LE ARP_REQUEST( ホスト 1 ) 、 Control Distribute VCC 経由 5. Data Direct VCC を張る 4. LE_ARP_RESPONSE( ホスト 1 、ブリッジ B ) 、 control Direct VCC 経由 3. LE_ARP_RESPONSE( ホスト 1 、ブリッジ B ) 、 Control Direct VCC 経由 LE_ARP_RESPONSE(MAC 、 ATM) は MAC アドレス " MAC " に対応する ATM アドレス 注 : LE ARP_REQUEST(MAC) は MAC アドレス "MAC" に対する LE_ARP_REQUEST を、 "ATM" を返す LE_ARP_RESPONSE を示す。 データを送信する場合、ホスト A はホスト 1 の MAC アド レスの解決を LES に依頼します ( 図 7-1) 。この場合、 LES はホスト 1 の MAC アドレスに対してプリッジ B の ATM ア ドレスを返さなければなりません。しかしながら LES は、 ホスト 1 の MAC アドレスに対応する ATM アドレス ( プリ ッジ B の ATM アドレス ) を MAC アドレス・ ATM アドレ ス対応表にもっていません ( 図 7- a ) 。さきほど説明したよ うに、 proxy LEC はリモート MAC アドレスを LES に登録 しないからです。 LES はアドレス解決に失敗すると、受信した LE_ARP_ REQUEST メッセージを Control Distribute VCC を通 して ELAN 内の全 LEC に転送します ( 図 7-2 ) 。 ELAN 内の各 proxy LEC ( 図 7 ではプリッジ B ) は LE_ARP_ REQUEST メッセージを受信すると bridge table を検索 UNIX MAGAZINE 1998.1 します。 LE_ARP_REQUEST に含まれる MAC アドレス が bridge table に含まれていた場合、自分の ATM アド レスを含む LE_ARP_RESPONSE メッセージを Control Direct VCC を通して LES に送信します ( 図 7-3 ) 。 LES は Control Direct VCC を通して受信した LE_ARP_RE- SPONSE メッセージを LE_ARP_REQUEST を送信した LEC に返します ( 図 7-4 ) 。ホスト 1 のアドレスを解決し たホスト A はプリッジ B に対して Data Direct VCC を張 ることができます ( 図 7-5 ) 。 LES も ELAN 内のどの LEC もアドレスの解決ができな かった場合、 LEC は Maximum Retry count 11 で規定 された回数だけ LE_ARP_REQUEST を再送します。 11 最小値 0 、デフォルト値 1 、最大値 2 となっています。 35
連載 /UNIX Communication Notes— 図 2 16 進表記にもとづく 32 レベルのドメイン名 b . a . 9 . 8 . 7 . 6 . 5 . 0 . 4.0.0.0.3.0.0.0.2.0.0.0.1.0.0.0.0.0.0.0.1.2.3.4. IP6. INT . ルータをいちいち設定する必要がなくなる。そこで、最丘 はルータの自動設定機構の提供カ・法に関する研究が始めら れている。 DNS インターネットを友するうえで重要な機能を提供して いるのが DNS (Domain Name System) である。 DNS は、私たちがインターネットを利用する際に使う、、名前 " を、インターネット内の資源を指す具ー勺な情報 ()P ア ドレスなど ) にマッピングする機能を提供する。 IPv4 の アドレスはたった 4 オクテットであるから、ホスト名で はなく IP アドレスを使うこともなんとかできた。 4 オク テット程度であれは、憶えておけるからである。しかし、 IPv6 のアドレスは 16 オクテットであり、これを暗記する のははとんど絶望的である 1 。このため、 IPv6 では DNS の利用が必顎となる。 DNS 自体の構造は、 IPv4 に依存していない。現在の ところ DNS は、次のようなサービスを提供している。 与・えられた名前に対して、 A レコードに当されている IPv4 アドレスを返す。 ・えられた名前に対して、 IPv4 アドレスの逆引きと考 えて PTR レコードを返す。 ・ケえられた名前に対して、 SOA レコードを返す。 ・ケえられた名前に対して、 MX レコードを返す。 IPv6 の登場で問題になるのは、従来の A レコードと PTR レコードの処理を IPv6 にどのように対応させるか である。これは、 RFC1886 [ 5 ] で埆夬された。 ます、名前から IPv6 アドレスへのマッピングを提供 するために、新たに AAAA レコードという構造を定義 した。 AAAA レコードの整備により、 IPv6 アドレスを DNS て提供できるようになる。 一方、アドレスの逆引きについては、 IPv4 ではⅲ - addr. arpa. ドメインを用意し、そこで IPv4 アドレスを 1 WIDE プロジェクトで 6bone を連用している人びとは、 16 オクテッ ト長のアドレスをいくつも暗記している。人間の通定れはきわめて高く、 驚かされる。 UNIX MAGAZINE 1998.1 オクテット単位で区切って遡側こ並べる名前構造を設けて いた。 DNS はこの名前空間に対して検索をおこない、情 報として PTR レコードを返す。たとえば、 IPv4 アドレ スが、、 163.221.10.10 " のホスト (sh. aist-nara. ac. (p) の 場合、、、 10.10.221.163. in ー addr. arpa. " という名則を用 意する。この名前を検索すると、 DNS は sh. aist-nara ・ ac. jp に対応する PTR レコードを返す。これにより、 IPv4 アドレスから名前への逆向きのマッピングを実現す る。 IPv6 では、、、 IP6. INT" というドメインを用意した。 ドメインの表記は IPv4 と同じ考え方をするが、 さらに、 16 進表記にもとづく 32 レベルからなるドメイン名とな る。たとえば、 4321 : 0 : 1 : 2 : 3 : 4 : 567 : 89ab は、図 2 のように表記される。 DNS でこのドメインに対する検索をおこなうと、この アドレスに対応するホストを示す PTR レコードが返さ れる。 これ以外に、 IPv6 アドレスが滷鮟入る可能匪のあるレ コードと、 AAAA レコードに対する関連処理が必要なも のとして、 MX レコード、 MS レコード、 MB レコードが ある。これらについては、 DNS 処理を AAAA レコード に対応させ、 IPv6 アドレスを正しく扱えるように DNS 自体を歯匿しなけれはならない。 IPv6 のテストべッドである 6bone では、 IPv6 対応 の DNS を稼動させて運用している。 経路制御 IPv6 ネットワークにおいては、 IPv4 の場合と同じよ うに、可変長のサプネットマスクを前提とした辛各制御シ ステムカ硬われようとしている。 6bone においては、当初、経路制御機構が開発されて いなかったため、すべて青勺な経路制御によってネット ワークが運用されてきた。この場合、すべてのホストで の経路制餌俵を手作業で設定する。その後、 IPv6 に対 応した RIP (Routing lnformation Protocol) である RIPv6[6] カ鯛発さ利用されるようになった。 27
工ンタープライズネットワーク環境に必要な TCP / 旧スタックを超える信頼の PC ネットワークソリューション WRQ の RefIection が答えです。 同時出荷開始 乗り換えキャンへーン 実施中 8 月 1 日 1 2 月 31 日 ロロ NFS Connection fo 「 Windows NT 英語版 Ref 厄 ction こそが必要とされている PC ネットワークソリューションです。 複雑なエンタープライズ環境では、ネットワーク 上の問題に対処するための信頼の高いソリュー ションが必要です。 WRQ RefIection Suite for TCP がすべてを解決します。 △卓越した相互運用性 既存のシステムおよびオープンスタンダードを包括的に サポートし、主要プロトコル間での完全な コネクティビティを実現します。 △簡単なコネクティビティ ローカル、リモート、イントラネット / インターネットを介して各種工ンタープライ スネットワーク上のホストアプリケーションや サービスに PC から簡単にアクセスできます。 △多彩なカスタマイズ・プログラミングッールと クライアント / サーバ機能 ホストへのログイン作業の自動化や、 本社 / 1 1 2 東京都文京区大塚 2 丁目 1 5 番 6 号ニッセイ音羽ビル クライアント / サーバ環境の構築等のための 電話 03-5978-5453 FAX03-5978-5441 豊富なツールが装備されています。 大阪支社 / 542 大阪市中央区南船場 4 丁目 2 番 4 号日本生命御堂筋ビル 電話 06-241-5241 FAX06-24 ト 1 255 △優れたネットワークデスクトップ管理ツール lNTERNET:rinfo@cybernet.co.jp WEB:http://www cybemet. co. jp ネットワーク統計と診断ユーティリティが ※記載された製品名は、すべて各社の商標または登録商標です。 システム管理者の問題解決をサポートします。 R 2 は i00 and 取 p 55 Softwa 、 MRQ,Inc ノ 15(X) Dexter Avenue North, Seattle, Washington 9 別 , USA Tel : + ト 206-2 ロ -7 Ⅱ用 Fax : + ト 2 ( め -2 ロ - 田 % lNTERNET:info@wrq.com WEB:http://www.wrq.com 01 四 7WRQ,lnc. AII Rlghts *. WRQ,WRQ ロゴおよび Re れ ec れ on はアメリカ国内および他の国における WRQ,lnc. の登録商標です。 その他のブランド名および製品名は各社の商標または登録商標です。 今なら無料で最高のコネクティビテイソフトウェアを お試しいただけます。 期間限定でこ試用いただける W 日 Q RefIection 製の 無料評価版のお申し込みまたはお問い合わせは、 下記販売代理店まで今すぐどうぞ。 ホームページからもダウンロードできます。 WRQs RefIection sofrware iS it. / RQ には、ターミナルエミュレーション および TCP / IP のデザインとテストの 分野で 16 年に渡る実績があります。 サ ( ネットラステム飜式各社 販売元 WRQ 、 1 、 1 Reflection Suite for TCP for Windows95 / NT 日本語版 ・マルチプロトコルスタック (TCP/IP 、 LATSIPX/SPX 、 PPP 、 S 凵 P/CS 凵 P) ・デスクトップ管理 ( イベントロク、イへントビューワー、トレースルート、 ・ホスト接続 (VT382/VT420 、 SCO-ANSI.BBS-ANSI ターミナルエミュレータ ) SNMP M 旧Ⅱ ) インターネットツール ( MS lnte 「 net Exp 「 e 「 : Web クライアント ,lnte 「 net ・インストール ( サーバインストール、サーバマネージャ ) Mail 、 Netmeeting 含む ) ・リモート & モバイル通信 ( Ref 厄 ction Sma 「 t Stack 、タイナミックリンクリカ ・イントラネットアプリケーション ( NFS クライアント / アドミニストレータ、 FTP クライアント / サーバ、 LPR/LPD 、 Finger クライアント / サーバ、他 ) 資料請求 No. 035
NETWORKTECHNOLOGY 4 LANE 構成要素と VCC 図 6 LAN EmuIation Configuration Server (LECS) ブリッジ LAN Emulation CIient (LEC) ワークステーション LAN Emulation Client (LEC) っ 4 っ 4 LAN Emulation Server (LES) Broadcast and Unknown Server (BUS) legacy LAN LAN Emulation User Network lnterface ( LUNI) 1. Configuration Direct VCC 2. Control Direct VCC 3. Control Distribute VCC 4. Multicast Send VCC 5. Multicast Forward VCC 6. Data Direct VCC 決された送信先 LEC の ATM アドレスを得たあと、送信 に対応している。また、 non-proxy LEC の ATM アドレ スが複数の MAC アドレスを代表している場合には、 LEC 先 LEC に対して Data Direct VCC を張り、ユニキャス が管理するすべての MAC アドレスを LES に登録する。 ト・フレームを送信します。 proxy LEC 、 non-proxy LEC と 具体的には Ethernet などの legacy LAN のポートをも っプリッジが proxy LEC となります。これに対して ATM アドレス解決 NIC をもつホストは通常 non-proxy LEC です。 legacy LAN のポートをもつルータの場合、通常のルータは non - LANE では LEC を proxy LEC および non-proxy LEC proxy LEC でかまいませんが、 FORE Systems の Pow- の 2 つのカテゴリーに分類しています。この 2 種類の LEC erHub のように複数のポートを同一ネットワークに割り当て の相違点は以下のとおりです。 ることが可能なルータは proxy LEC になります。 「 LES 」の項で LANE における基本的なアドレス解決の proxy LEC 仕組みについて解説しました。これは宛先 MAC アドレス proxy LEC の ATM アドレスは複数の MAC アドレス が、 non-proxy LEC の場合については有効ですが、リ を代表しており、かっこれらの MAC アドレスは LES に登 モート MAC アドレスの場合には適用できません。 録されていない 10 。 Ethernet ポートと ATM ポートをもつプリッジ B を例に non-proxy LEC とって考えてみましよう ( 図 7 ) 。ホスト A 、ホスト C 、プ LEC の ATM アドレスは通常、単一の MAC アドレス リッジ B は ELAN "example" に属しています。また、 ホスト 1 、ホスト 2 は Ethernet を介してプリッジ B に接続 10 proxy LEC によって管理されている LES に登録されない MAC アド されています。ホスト A がプリッジ B を介してホスト 1 に レスを、リモート MAC アドレスといいます。 34 UNIX MAGAZINE 1998.1
アなな 0 4 Ⅷ川川Ⅲ川Ⅲ川川川川 1 川Ⅷ 川Ⅲ」 1 Ⅱ胆皿Ⅱ Fibre Chann デ、イスクアレイ・システム Nextorage は ANSI 規格に準拠した Fibre Channel ティスクアレイシステムです 既存の SCS 庁イスクアレイ・システムを凌駕する転送速度 ( 最大 1 OOMB / 秒 ) * と 大容量 ( 36GB ~ 1 . 1 TB ) をローコストで実現します。 画像テータ・ CAD データのストレージシステムとして、圧倒的なパフォーマンスを発揮します。 36GB デュアル・ループ・ディスクアレイユニット : 定価 2 。 690 ッ 000 円 72GB テュアル・ループ・ティスクアレイユニット . 定価 3 。 330 。 000 円 ホットスワップ FC - AL 対応ディスクドライブ テュアル・ループ 1 .062Gbps 規格サポート COPPe 「 / 光ファイバケーブル選択可 最大容量 1 . 1 TB 強力空冷システム 0 * 理論値です WS WS 三 = = 三三一三三一三一三一三三 = 三三三三三三三三三 = 三三三 WS WS ディスクレユニット システム構成例 ( デュアルループ時 ) ■システムコンボーネント : ホストアダブタカード ( PC レ SBUS ) / 9 ポート HIJB / Coppe 「または光ファイバケーブル ■ディスクアレイユニット寸法 : H507mm xW284mmxD534mm ( タワー型 ) H222mmxW482mm xD534mm ( ラック型 ) ※ワークステーション・ PC への画像入出力装置も扱っております。適宜お問い合わせ下さい。 抹式会社計測技術研究所営業部ビジ、アルウ , ア課 TEL. 045-474-0701 FAX. 045-474-0691 http://www.keisoku. CO. jp E-maiI VWsaIes@hq.keisoku. CO. jp 資料請求 No. 053A
連載 /UNIX Communication Notes—O というものである。この方法では、各ホストが自彳 ltfi 勺に 作りだした番号と、ルータがアナウンスしている sub- net prefix のみを使っており、ほかのホストには景グを えない。その意味では副作用か発生しないため、この方 法を、、 StateIess Autoconfiguration" と呼ぶ。これは、 AppleTaIk や NetWare でのネットワーク・インターフ ェイス自重 J 期化におけるアドレス設定去と酷似してい る。この手法は、 RFC1971 [ 4 ] として標準化されている。 一方、、、 StatefuI Autoconfiguration ' では、彳足来の DHCP システムと同様なサーバーを用意し、各ホスト はサーバーから得た情報をもとにシステムを初期化す る。現在、 DHCP を IPv6 で使えるようにするための DHCPv6 というシステムの標準イゞ進められている。 アドレス自動の手順 アドレスの自動生成は次の手順でおこなわれる。 1. Link-Local アドレスを生成する。 2. 生成したアドレスが、ほかのホストで使われているア ドレスと重複していないかをチェックする。この処理 を、 Duplicate Address Detection" と呼ぶ。 3. 生成したアドレスが一一一意であると石忍できた段階で、イ ンターフェイスに割り当てる。この割当てカ鮗了した時 点で、ホストは IP レベルの接続陸を得る。 4. 次に、ルータから提供されるアドレス情報を入手する。 5. 入手した subnet prefix と、さきに生成した Link- Local アドレスを用いて、 Site-Local アドレスまたは Global Unicast アドレスを生成する。 前回述べたように、 Link-Local アドレスの構造は、 FE80 : ゴ襯 e 可佖 ce ID であり、 lnterface ルとして 64 ビット刎直を用いる。し たがって、 Link-LocaI アドレスの生成では、 lnterface ID をどのように生成するかが鍵になる。現在、 IEEE EUI-64 フォーマットにもとづく ID の生成か唱され ている [ 1 ] 。 Ethernet や TokenRing 、 FDDI などの各 データリンクごとの lnterface ID の定義については、各 データリンクに対応した lnternet Draft あるいは RFC が公開されている。 lnterface ID の計算ガ去は、これら 26 のドキュメントを参照してはしい。 上記のアドレス生成手順の 2 と 4 で、はかのホストとの 通信が発生する。この通信に使われるのが、 IPv6 Neigh- bor Discovery Protocol (ND) である。このプロトコル の定義 [ 3 ] では、 Duplicate Address Detection の処理 はユニキャスト・アドレスの生成時にかならす実施しなけ れはならないとされている。ところが、この段階ではホス トのネットワーク・インターフェイスの初期化カ鮗って いない。そこで、前述の AII-Nodes MuIticast と、仮 に生成した Link-LocaI アドレスにもとづく Solicited- Nodes Multicast の 2 つのグループに属すようにする。 そして、このマルチキャスト・グループを用いて Dupli- cate Address Detection の処理を夫施する。 一方、ルータから提供されるアドレス情報は、 Link- Local アドレスによって IP レベルの接続陸がすでに得 られているので、 ND プロトコルを用いてルータに対し て情報を流すようにイ嶽頁すればよい。ここで入手できるの は、アドレスの subnet prefix である。取得した subnet prefix によって、 Site-LocaI アドレスあるいは GIobal Unicast アドレスを生成し、これを用いて他のネットワー クに到達できるようになる。 こまでに説明したように、 IPv6 におけるネットワー ク・インターフェイスの自重丿ル期化は、 ND と AA を用い て実現されている。この機能は、 IPv6 に対応したホスト ではかならす実装される。したがって、単一の Ethernet セグメントだけからなる屯なネットワークでは、ネット ワーク・インターフェイスの設定をしなくてもネットワー ク機能が使えるようになる。あるいは、叫屯な経路制御で 十分な竟 ( たとえは、ゲートウェイが 1 つしかないよ うなネットワーク・セグメント ) でも、アドレス自動設疋 機能だけでネットワークか利用できる。つまり、 IPv6 に 移行すれば、 AppIeTalk や NetWare とい抔呈度に簡単に ネットワークが使えるようになる。これは、 IPv6 への移 行の大きな魅力である。 アドレス自動設疋機能は、 IPv6 ホストについては定義 されているが、 IPv6 ルータに関しては用意されていない。 したがって、 IPv6 ルータについては手作業でアドレスな どの情報を・与えるしかない。しかし、 IPv6 ではルータの 自動設定もある程度は可能である。簡単なネットワーク構 成に対するルータの自動設疋が可能になれは、ホーム・ネ ットワークや小規模なオフィスのネットワークで利用する UNIX MAGAZINE 1998.1
TCP wrapper ■ 図 7 /opt/transfer/transfer スクリプト cd /opt/progi/data/reports /usr/bin/tar cvf /opt/transfer/files prog?/early* rcp /opt/transfer/files servl : /the/web/directory/servl/ /usr/bin/rm /opt/progi/data/ reports/prog?/earlystats* 図 8 doservl cd /the/web/directory/prodl tar xvf files mv /the/web/directory/servl/progm/early* /web/progm/docs/stats/reports/ mv /the/web/directory/servl/progp/early* /web/progp/docs/stats/reports/ mv /the/web/directory/servl/progr/early* /web/progr/docs/stats/reports/ /usr/bin/chmod 644 /web/prog?/docs/stats/reports/early* /usr/bin/chown root . other /web/prog?/docs/stats/reports/early* 図 9 安全な finger を実行するためのホスト拒否ファイル (/on/disguised/server/safe-finger ー 1 @%h ー /usr/sbin/mail —s %u —%d —%h root) & in . rshd: . servl : ルは servl に上書きコピーされる。ファイアウォールは ゲートウェイから Web サーバーへの rsh のみを許可し、 さらに TCP wrapper プログラムかま行される。このプ ロセスがホスト許可 / 拒否ファイルを十正する。 中幻カ鮗了すると、ファイルは tar ファイルから取り出 されて正しい場所に移される。そして、これらのファイル に対して chmod 、 chown か夫行される。図 8 は doservl サ→ヾーの概観である。 doserv2 もまったく同じだが、 れは doservl の代わりとなるものである。 ログファイルは別の安全なサーバー上に置かれる。この ファイルには、成功 / 失敗か第当求される。許可されないリ モートシェルの使用もすべて言求される。 特殊な機能 UNIX MAGAZINE 1998 ユ トパターンの両方がマッチしてはしめて可能である。 情報を得られる。しかしこれは、デーモンリストとホス ザー名を調べると、接続をおこなった当人に関する追加 TCP wrapper プログラム経由でクライアント・ユー Makefile で言殳する。 ければアクセスは拒否される。この機能を使いたければ、 れによりホスト名とアドレスを照合し、マッチしていな には、 -DPARANOID を有効にしてコンパイルする。 アクセスしているのか、さらに詳しい情報を知りたい場合 はかにもいくつかある。誰が自分のサーバーやファイルに TCP wrapper を最大限活用するための重要な機能は、 の機能は、正確なユーザー名を石忍しようとする場合にと くに有用である。システムへの侵入やサーバー誤用のはと んどは糸内て起きているので、この機能を使えは容易に 人物の特定かできる。侵入者を本剱日し、損害を被る前にア クセスをプロックするもう 1 つのセキュリティ機能があ る。これはユーサーの ID を調べることでアドレス詐畋 撃 (address-spoofing attack) を検知する。結果が un- known@host として返ってきたら言乍称がおこなわれてい ることになる。 侵入か試みられた場合に対処できるような TCP wrap- per の成疋法がいくつかある。 侵入者がアクセスを試みたときに、そのユーザー名やホ ストを管理者にメールで連絡するようにできる。これは、 ホスト拒否ファイルに数行追加す川まよい。 その場でのアクセス拒否、安全な finger コマンドの実 行、管理者への情幸当言ができる。安全な finger コマン ドは、リモートホストから送信されたデータをふるいにか ける。通常の finger コマンドよりもはるかに安全なもの である。これは、図 9 のようにホスト拒否ファイルに記 述する。 たとえば、誰かが servl 上でⅲ . rsh を実行しようとす ると、 TCP wrapper は safe-finger を起動する。クラ イアントのユーザー名、ホスト名もしくはアドレス、呼び 出されたデーモンプロセスが root ューサーに送られる。 もっと速く簡潔なのは、侵入者に関する情報だけを取得し て管理者に送るガ去である。あるプロセスに限定された内 97
連載 , / UNIX Communication Notes FF02 : 0 : 0 : 0 : 0 : 0 : 0 : 1 FFOI : 0 : 0 : 0 : 0 : 0 : 0 : 1 レスである。 この 2 つのアドレスは、それぞれ scope が 1 (node- UNIX MAGAZINE 1998.1 ・ルーフ。バック・アドレス ・割り当てられたユニキャスト・アドレス れはならない。 ホスト探索などで使われるので、かならす取り扱わなけ ス。このアドレスは、 IPv6 の Plug&Play 機能や謝妾 ・各インターフェイスで定義された Link-Local アドレ いことになる。 IPv6 ホストは、次のアドレスを取り扱わなければならな こまで、さまざまなアドレスを紹介してきた。各 取り扱うアドレス ればならない。 Node アドレスに対しては、メンバーとして join しなけ 扱うユニキャスト・アドレスから生成される SoIicited- という Solicited-Node アドレスカ乍られる。自ホストが FF02: : 1 :FFOC:417A からは、 4037 : : 8 : 200 : 200C : 417A たとえば、ユニキャスト・アドレスの、 ーキャストを含む ) の下位 24 ピットから取り出される。 そのホストで使われているユニキャスト・アドレス ( ェニ というアドレスである。、、 xx " て表した下位 24 ビットは、 FF02 : 0 : 0 : 0 : 0 : 1 : FFxx : xxxx 重要なのは SoIicited-Node アドレスである。これは、 のスコープでのすべての IPv6 ルータを表す。 1 (node-local) 、 2 (link-local) 、 5 (site-local) で、そ AII Nodes アドレスと似ているが、 scope がそれぞれ FF05 : 0 : 0 : 0 : 0 : 0 : 0 : 2 FF02 : 0 : 0 : 0 : 0 : 0 : 0 : 2 FFOI : 0 : 0 : 0 : 0 : 0 : 0 : 2 レスか定義されている。 2 つ目は AII Routers アドレスで、以下の 3 つのアド IPv6 ノードを表す。 local) と 2 (link-local) で、そのスコープでのすべての ・ A ル Nodes マルチキャスト・アドレス ・各ュニキャスト・アドレス ( ェニーキャストを含む ) か ら生成される Solicited-Node マルチキャスト・アド レス ・そのホストカ嘱すマルチキャスト・グループに対するマ ルチキャスト・アドレス Plug&Play IPv6 には、システムをネットワークに接続しただけで、 自重加勺にネットワーク・インターフェイスの初期化など をおこない、ただちにネットワークか利用できる機能があ る。こオ功ゞ、、 PIug & PIay " 機能である。 ネットワーク・インターフェイスに対する同様な機能 は、これまでにも AppIeTaIk や NetWare の環境では 当り前のように使われてきた。しかし、インターネット においては実現されておらす、インターネット工竟におけ る問題点として孑商されてきた。 IPv4 では、この間題を DHCP (Dynamic Host Configuration Protocol) の 開発とクライアントの対応によって解決した。たとえば、 Windows 95 では DHCP によるネットワーク・イン ターフェイスの自剏期化機能が当然のように使われてい る。だが、 DHCP クライアントの機能のないシステムや、 DHCP サーバーが用意されていない環竟では、ネットワ ーク・インターフェイスの自重辧刀期化はおこなわれない。 IPv6 では、この PIug&PIay 機能を標準で用意する。 したがって、 IPv6 を実装したホストであれは、ネット ワーク・インターフェイスを自重加勺に初期化し、ネット ワーク , 材妾続するとただちに利用できるようにする。この 機能は、アドレス自重辧ノ琪月化 ()A : Address Autocon- figuration) と呼ばれている。 IPv6 のアドレス自動初期化では、 stateless と state- full の 2 つの考え方にもとづく機構が考えられている。 stateless によるガ去の基本的なアイデアは、 ・ルータは、ネットワークに対して subnet prefix をア ナウンスする 各ホストは、 link-local で重複のない lnterface ID を 作る ・ subnet prefix と作った ID を組み合わせてアドレスを 生成する 25
TCP wrapper ■ 図 5 /etc/inetd. conf の変更 ( 3 ) telnet stream tcp shell stream tcp 図 6 ホストテーカレの言 nowai t nowait root /usr/sbin/in. telnetd /usr/sbin/in. rshd in . telnetd in . rshd LOCATION : /usr/include/incl . h SERVER: disguised. server HOST—ALLOW (ALIAS incl . h) in. rshd: serverl : spawn (sleep 1 ; in. rshd: server2:spavn (sleep 1 ; /the/web/directory/doservl) & /the/web/directory/dogerv2) & HO ST -DENY in. rshd : ALL : deny ロ (ALIAS excl . h) TCP wrapper の動作 先日、毎日の定例務を簡略化するスクリプトを作った のだが、 TCP wrapper の助けを借りることになった。そ の手順のなかには、ファイルを tar でまとめ、ゲートウェ イ・サーバーから Web サーバーに移動する作業がある。 コツは、これらのファイルをファイアウォールの稼重加 間外 (off-hour) に通過させる点にあった。この旁を自 動化するには、 rcp と rsh プロセスを実行する必要があっ た。 rsh プロセスは utmp や utmp システム監査ファイ ルロ魁亦を残さす、 finger や who コマンドでみえなくな る可能性があるため、きわめて危険なものとなりうる。侵 入者は、 # rsh system csh ーエ とするだけでいい ( s い m は侵入目標となるシステム ) 。 お分かりのように、これらのプロセスを j 面逼させるために 不用意にファイアウォールをオープンにすることがジレン マとなった。こうした理由により、サーバーにはセキュリ ティ層をさらに追加する必要があった。その彳齬リを果たす のが TCP wrapper である。さらにわれわれは、外部か らサーバーにアクセスする誰にも、 TCP wrapper を使っ ていることを知られたくなかった。 こまでに紹介した方針にもとづき、図 5 に示す /etc/ inetd. conf のエントリを変更した。 tcpd などは、スクリ プトの実行によってトランザクションが発生するのとは別 の安全なシステム上に作った。 96 /usr/sbin/in. telnetd と /usr/sbin/in. rshd が tcpd 実体である点に注意してほしい。 ホスト許可 / 拒否ファイルは、はかのすべての TCP wrapper プログラムと同しサーバー上に置かれている。 新たに /usr/include ディレクトリを作成し、ホスト許可 ファイルはⅲ cl. h 、ホスト拒否ファイルは excl. h という 名前にした。正規のものとは異なるファイル名にして侵入 者に TCP wrapper の存在を知られないようにするため である。名前の付け方はどのようなものでもかまわない。 ただし、これらのファイルのパス名は Makefile てオ旨定し なければならない。図 6 は、ホストテープルと、そこで 実行を許可されるものを指定している。ホスト許可ファイ ルには、サーバー名の後ろに、、 a Ⅱ。 w " がなく、代わりに ⅲ . rsh サーバープロセスを使って実行されるスクリプト カ甘旨定してある。 ホスト許可ファイルは、 servl と serv2 の両方で実行 されるサーバープロセスⅲ . rshd を許可するだけである。 次に、 /the/web/directory にあるスクリプトを実行する にのスクリプトのみ実行を許可されている ) 。ホスト拒否 ファイルに言当されたサーバープロセスⅲ . rshd を実行し ようとした場合、リクエストは拒否される。そして、この プロセスを実行しようとした人物のエントリがログファイ ルに加えられる。 次に実行されるプログラムが、ゲートウェイ・サーバ gatel と gate2 の両方に置かれた /opt/transfer/ transfer スクリプトである ( 図 7 ) 。このプログラムはディ レクトリの内容を tar でファイルにまとめる。このファイ UNIX MAGAZINE 1998.1