一般ユーザ向け Fire Wall ガイド

1999年2月15日
鈴木泰山


目次


基礎知識編




cs 外から cs 内への login

ここでは cs の外から cs の内側に telnet をする方法について簡単に説明します. cs では cs 内のホストに対するインターネットを経由した攻撃から cs を守るために cs 内と外との境界部分に fire wall を構築しています. cs の fire wall では特定のパケットが cs 外から cs 内に通過しないようなフィルタリングを行なっています. (厳密には全ての cs のホストが fire wall で守られているわけではありません. 現状では南三号館にあるホストに限られています. なお,以降では便宜のため fire wall の内側のことを cs 内,外側を cs 外と記述しています.) フィルタリングの対象となっているパケットはアタックに利用される可能性が高いものが主ですが,このなかには telnet も含まれています. しかしながら,cs 外から telnet ができなくなってしまうと不便なので,通常の telnet に比べて認証を厳重に行なうことを条件として telnet が間接的に fire wall を通過することを許可しています. このため,cs 外から cs 内に telnet する際には,まず最初に dezima というホストに telnet して特殊な認証を行ない,そこから cs 内の各研究室のホストにログインすることになっています.

dezima へ login するためには,OTP という特殊な認証を行なう必要があります. OTP は One Time Password の略で,一種の使い捨てパスワードを利用して認証を行なうというものです. OTP を利用した login は以下の手順で行ないます.

  1. dezima に telnet で接続
  2. 手元のコンピュータでパスワードを暗号化
  3. 暗号化したパスワードを dezima に入力して認証を行なう
この方法の場合,パスワードを暗号化して転送するためネットワーク上に生のパスワードが流れることがありません. また,暗号化したパスワードも login を行なう度に変化するので,ネットワーク上をながれるパスワードは dezima に login する度に違う文字列になります. したがって,通常のパスワードに比べ安全性が高い方法になっています.

それ以外に cs 外から cs 内へ login する方法として ssh があります. これは secure shell の略で,パケットを暗号化して転送することにより経路の安全性を確保した一種の telnet です. 現時点で ssh は非常に安全性が高いと思われているので,fire wall を直接通過することを許可しています. よって ssh を利用すれば dezima を経由せずに直接研究室の machine に login することが可能です. また,ssh は通常の telnet の他に X を通すことも可能です. ssh による login の詳細などは各研究室の管理者にお尋ね下さい.





利用者編




OTP での login

事前に必要な作業

  1. dezima のアカウントの作成

    OTP を利用して cs 内に telnet を行なうためには dezima のアカウントが必要です. dezima のアカウントの取得は研究室の管理者にお願いして下さい.

  2. OTP の登録
  3. .rhosts に dezima を追加

    dezima から研究室の machine へは rsh で接続するようにしているので,各自のホームディレクトリの '.rhosts' に dezima が書いてあれば,認証を一回行なうだけで(cs の内側のパスワードを入力せずに)研究室の計算機に login することが可能です. '.rhosts' に dezima を書いていない場合は,dezima に login した後に cs 内のパスワードを入力することになりますが,そうすると cs 内で利用しているパスワードがネットワーク上を生のままで流れてしまうので必ず '.rhosts' に dezima を追加しておくようにしましょう.

    
           taizan@snow:~/[23] cat ~/.rhosts                   
           dezima.cs.titech.ac.jp taizan
           taizan@snow:~/[24] 


login の手順

  1. dezima に telnet
  2. user name を入力
    
           taizan@not-cs:~/[21] telnet dezima.cs.titech.ac.jp
           Trying 131.112.90.200...
           Connected to kurofune.cs.titech.ac.jp.
           Escape character is '^]'.
    
           Jokisen (kurofune)
    
           login: taizan                         ← user name を入力
           Information for OTP user:
           otp-md5 99 aa12345                    ← donkey で下線部を利用               
           Password:
  3. 手元のコンピュータで暗号化したパスワードを作成

    ○ UNIX の場合

    暗号化したパスワードの作成には donkey というプログラムを利用します. donkey は,cs の ftp site などから入手が可能です. dezima に telnet する前に入手しておいた方がよいでしょう.

    暗号化したパスワードを作成する際には otp-md5 と書かれた行の二つ目以降の情報(上の下線部)を donkey の引数として渡します. この作業は必ず手元にある計算機で行なうようにしましょう.

    
           taizan@not-cs:~/[31] donkey -f md5 99 aa12345
           Enter passphrase :                    ← ここにパスワードを入力
           RIO BAH FINE HOST RED BEY             ← これが暗号化されたパスワード        

    cs の ftp siteから持っていった donkey を使っている場合は -f md5を省略しても構いません.

    otp-md5 を donkey への alias にしておくと,otp-md5 の行をカットアンドペーストすれば良いのでらくちんです.

    
           taizan@not-cs:~/[32] alias otp-md5 'donkey -f md5'
           taizan@not-cs:~/[33] otp-md5 99 aa12345       ← カットアンドペースト        
           Enter passphrase :

    ○ Windows の場合

    暗号化パスワードの計算には winotp.exe というプログラムを使用します. 実行後,Hash algorithmMD5 にし,donkey へのオプション(上の例では 99 aa12345 の部分)を Enter OTP Parameterに入力します. Secret Password にパスワードを入力し Compute One-Time Passphrase をクリックすると One-Time Passphrase に結果が出力されます.

    ○ MS-DOS の場合

    otpkey.exe というプログラムを使用します. 実行時に -H md5 というオプションをつけ,その後に donkey へのオプションを続けて入力します.

    
           C:\> otpkey -H md5 99 aa12345
           using alg md5
    
           Enter secret password:                    ← ここにパスワードを入力          
           RIO BAH FINE HOST RED BEY                 ← この行だけ使用        
           37E0 B602 4D83 700E

    ○ Macintosh の場合

    Macintosh で計算する場合は OPIE Calcurator を使用します.Hash AlgorithmMD5 に変更し,Challenge String に donkey のオプション(上の例の場合は 99 aa12345)を入力します. Password にパスワードを入力した後, OPIE メニューの Password checking のチェックを外してから Compute をクリックすると,Reply (chars) に結果が表示されます.

    ○ その他・一般

    出先などの計算機で暗号計算プログラムのインストールが困難な場合は,あらかじめフロッピーディスクなどにコピーして持参するのが良いでしょう. また,JAVA アプレットが実行可能な web のブラウザがある場合は,JAVA で書かれた OTP 計算プログラムを利用するのがよいでしょう. 最悪の場合は数回分の暗号化パスワードをあらかじめ計算して紙に印刷し,出先に持って行くという手もあります.

  4. 暗号化したパスワードを入力
    dezima に telnet している console に戻って,暗号化したパスワードを入力します. この際に,パスワードを聞かれている所で空行を入力すると,パスワードがエコーバックされるようになるので多少便利です.

    
           Jokisen (kurofune)
    
           login: taizan
           Information for OTP user:
           otp-md5 99 aa12345
           Password: (echo on)                   ← ここで空行を入力
           Password:RIO BAH FINE HOST RED BEY    ← ここに暗号化したパスワードを入力        
           NEWS-OS Release 4.2.1R FCS#5 #0: Sat May 25 21:26:16 JST 1996
    
           Last login: Thu Jan 01 00:00:00 from snow
    
           Digital UNIX V4.0A  (Rev. 464); Sun Nov 16 12:50:20 JST 1997 
    
           Terminal type is vt100
           taizan@snow:~/[21]                    ← 研究室の計算機へ自動的に rsh

  5. 研究室の計算機に自動的に rsh


login の履歴

dezima を経由して cs に login した場合には,次の金曜日に login の履歴がメイルで配送されます. メイルに書かれた login 履歴が,実際の login と一致しているかどうかを必ず確認するようにして下さい. login 履歴に,記憶にない login が書かれていた場合や,login していないのに履歴のメイルが送られてきた場合は,お手数でも fw-admin@cs.titech.ac.jp まで御連絡をお願いします.




ssh での login

ssh による login は各研究室で設定,管理することになっております. 接続方法や接続先の計算機などは研究室の管理者にお尋ね下さい.




OTP の設定,変更など

OTP の有効期限

OTP にはパスワードに有効回数が定められています. dezima に telnet した時に otp-md5 の次に記述されている数がパスワードの有効回数です. パスワードの有効回数は,dezima への login に成功する度に一つづつ減っていきます.


       Jokisen (kurofune)

       login: taizan
       Information for OTP user:
       otp-md5 99 aa12345                    ← 下線部がパスワードの有効回数               
       Password:
パスワードの有効回数が 0 になると,それ以上そのパスワードでの login がで きなくなってしまうので,有効回数が 0 になる前にパスワードを変更するよう にしましょう.とくに東工大から離れた所にお住いの方は,有効回数が 0 にな るとパスワードの変更が非常に困難になってしまいますのでご注意下さい.


OTP の登録

OTP の登録(初回)は自分で行なうことが可能です.方法は OTP の変更と同じな ので,OTP の変更を参照して下さい.


OTP の変更

OTP の変更手順
  1. donkey を利用してパスワードの素を作成
    OTP の素の作成は,必ず手元にある計算機で行なうよ うにして下さい. 特に cs の外から dezima を経由して cs 内に login して OTP の変更を行なう際には,間違って cs の計算機で donkey -i を実行してしまわないように注意して下さい.

    手元に donkey がない場合はdonkey の入手を参照してください.

    1. donkey -i -f md5 を実行
    2. login name, sequence, seed はデフォルトを使用
    3. パスワードを2回入力
      パスワードの長さは 255 文字までで,使用する文字の制限はない.
  2. koudai に telnet
  3. メニューから otp を選択
  4. donkey で作成したパスワードの素を入力
  5. 成功したら終了

       taizan@snow:~/[21] donkey -i -f md5             ← donkeyを実行 (1-1)       
       Enter login name [default taizan]:              ← default を利用(改行を入力) (1-2)        
       Enter sequence 1 to 999 [default 99]:           ← default を利用(改行を入力) (1-2)        
       Enter new seed [default sn12345]:               ← default を利用(改行を入力) (1-2)        
       Enter passphrase :                              ← 新しいパスワードを入力 (1-3)        
       Enter passphrase :                              ← もう一回 (1-3)        
       taizan 0099 sn12345          54993f8b45585382  Jan 01,1998 00:00:00    ← これが OTP の素        
       BEAM OUST SOUL GENT FORM MYRA
       taizan@snow:~/[22] telnet koudai
       Trying 131.112.16.1...
       Connected to koudai.
       Escape character is '^]'.

       NEWS-OS Release 4.2.1R FCS#5 (koudai)

       login: taizan
       Password:                                        ← cs のパスワードを入力        
       Last login: Thu Jan 01 00:00:00 from snow
       NEWS-OS Release 4.2.1R FCS#5 #0: Thu Jun 13 20:09:21 JST 1996
       *******************************************************************************
       *  Welcome to koudai,                                                         *
       *                   This is password handle utility.                          *
       *                                                 Type "j" for Japanese help  *
       *******************************************************************************
       Available commands are:
       ypchsh          change your login shell
       ypchfn          change your finger data
       yppasswd        change your password
       otp             change your one time passwd sequence
       fwpasswd        change your password on dejima
       english         show help message in English
       japanese        show help message in Japanese
       help            show help message
       quit            finish this command

       koudai> otp                                       ← メニューから otp を選択 (3)        
       Input a character sequence of the following form.
       To create the sequence, use the command "donkey -i -f md5".

       kouji 0099 se28270          12345678abcdef01  Jun 23,1996 10:11:13

       taizan 0099 sn12345          54993f8b45585382  Jan 01,1998 00:00:00    ← OTP の素を入力 (4)        

       koudai> quit
       Thanks for using <click>
       taizan@snow:~/[23] 




donkey の入手

コンパイル済みの donkey のバイナリは cs の ftp サイト から入手可能です. 現在バイナリが用意されているのは以下に挙げたシステム用のもののみです.

システム ファイル名
SunOS 4.*/sparc donkey-sparc-sun-sunos4.1.4
Solaris 2.*(SunOS 5.*)/sparc donkey-sparc-sun-sunos5.4
OSF1/alpha donkey-alpha-dec-osf1
FreeBSD/i386 donkey-i386-unknown-freebsd2.1.0
BSD-OS/i386 donkey-i386-unknown-bsdi2.1
NEWS-OS/mips donkey-mips-sony-newsos
HP-UX/PA-RISC donkey-hppa1.1-hp-hpux10.10
IRIX/mips donkey-mips-sgi-irix5.3
Macintosh OPIEcalc.sit.hqx
MS-Windows winotp.exe
MS-DOS otpkey.exe

なお,donkey のソースも cs の ftp サイトにあります.

この他に, OTP を計算する Java アプレットもあります (本家はこちら).




ftp

cs 内から cs 外の ftp site との間で ftp する際には passive モードに対応した ftp クライアトでないとファイルの転送などに失敗します. 通常,OS に付属している ftp は passive モードでの転送ができないので,cs 外に ftp する際には利用できません. passive mode に対応した ftp クライアントとしては ncftp や fff などがあります. これらのソースは cs の ftp サイトにも置いてあります.

ftp の相手側にも fire wall がある場合は,passive モードの ftp クライアントでもファイル転送ができません. この場合は,転送したいファイルを ftp.cs.titech.ac.jp の /lab/研究室名/というディレクトリの下に一旦 put し,そのファイルをクライアント側から get する必要があります. それぞれのディレクトリのパーミッションは,研究室の管理者が管理することになっていますので,詳細は研究室の管理者にお尋ね下さい.





HTML by SUZUKI Taizan / 鈴木泰山
E-mail: <taizan@cs.titech.ac.jp>
Last modified: Tue Feb 15 17:00:00 JST 1999