Memo for FreeBSD 5.2.1


Contents

  1. 基本方針
  2. TOOLの導入
  3. セキュリティ構築手順
  4. SSHサーバの設定をする
  5. 公開鍵を作成する
  6. 公開鍵を利用者に渡す
  7. Tera Term Proのインストール
  8. Tera Term Proを使う
  9. WinSCP2 を使う
  10. メニューに戻る

Tera Term Pro を使ったセキュリティ構築法

基本方針

FreeBSDでは標準でSSHが導入されている。そのため、ftpd,telnetd,rlogindは起動しない設定がディフォルト値となっている。 これらをr系コマンドと呼び、これを使わず、セキュリティ対策が施されている、s系コマンドを推奨している。 ここでは、SSHを使い、telnet,ftpの実現を試みる。
    セキュリティ構築の基本方針を次のように定めた。
  1. SSH(Secure SHell)とRSA認証を前提とする。
  2. telnet,rlogin,ftp はデーモンを起動しない。
  3. SSHを使った接続とする。22 port のみ公開する。
  4. リモートホストは、UNIX・Windowsとする。
  5. プレーンテキストでの認証は拒否する。
  6. 公開鍵は、サーバーでする。
  7. 鍵ファイルを利用者に渡す手法とする。

TOOLの導入

標準的なtelnet,ftp はSSHに対応していない。そのためSSH対応のTOOLを用意する必要がある。PuTTY(Free Win32 Telnet/SSH)が有名であるが、あえてここではTera Term Pro を導入する。
    導入するTOOLのリストを示す。
  1. Tera Term Pro ver.2.3 [2003/05/現在]
      (作者:T. Teranishi) Download
  2. TTSSH:An SSH Extension [2003/05/現在]
      (作者:Robert O'Callahan) Download
  3. Tera Term Pro 日本語パッチ [2003/05/現在]
      (作者:安藤 弦彦) Download
  4. TTSSH 日本語パッチ [2003/05/現在]
      (作者:安藤 弦彦) Download
  5. WinSCP2(Secure CoPy)---> FTP機能実現
      (作者:VSE) Download
      こちらがお勧め 日本語解説 Download   

セキュリティ構築手順

セキュリティを構築するには、サーバー側で行う作業意と、クライアント側で行う作業が必要となる。 最初にサーバー側の設定を行い、その後クライアント側の設定となる。ここでは、その作業の流れを記す。
  1. SSHサーバの設定をする。
      プレーンテキストによる認証拒否などの設定を行う。
  2. 公開鍵を作成する。
      User単位で鍵を作成する。
  3. 公開鍵を利用者に渡す。
      メール(?)などで鍵ファイルを利用者に渡す。
  4. client側の設定をする。
      Tera Term Pro,WinSCP2 などの設定と利用

SSHサーバの設定をする。

SSHサーバーの設定は、/etc/ssh/sshd_config で行う。管理者権限で設定を行う。今回は 特に、loginパスワード認証・空のパスワードを禁止・RSA認証を使用に重点を置いた。
    Protocol 2SSHプロトコル2での接続に限る
    PermitRootLogin norootユーザーからのログインを禁止する
    ChallengeResponseAuthentication noPasswordAuthentication,PermitRootLoginの効果に影響する。 Default は yes のため、これを指定しないと、鍵なしでのログインが可能となってしまうので要注意
    RSAAuthentication yesRSA認証を使用できるようにする(SSH1)
    PubkeyAuthentication yes公開鍵方式の認証を使用できるようにする(SSH2)
    RhostAuthentication norhosts、/etc/hosts.equivの設定を無視する(SSH1)
    IgnoreRhosts yesrhosts、shostsの設定を無視する(SSH1)
    RhostsRSAAuthentication noRSAホスト間の認証で.rhosts、/etc/hosts.equivを無視する(SSH2)
    HostbasedAuthentication noRSAホスト間の認証で.rhostsを無視する(SSH2)
    PermitEmptyPasswords no空のパスワードを禁止する
    PasswordAuthentication nologinパスワード認証を使用しない

    設定が完了したら、rootになってSSHデーモンのsshdを再起動する。
    FreeBSD# /etc/rc.d/sshd restart

公開鍵を作成する。

公開鍵は、ログインユーザー単位で行う。
    #su mickey $ ssh-keygen -t "rsa1" [Enter]
    Generating public/private rsa1 key pair Enter file in which to save the key (/home/mickey/.ssh/identity): /home/mickey/.ssh/windows [Enter]
    Created directory '/home/mickey/.ssh
    Enter passphrase (empty for no passphrase):*********** [Enter]
    Enter same passphrase again:*********** [Enter]
    Your identification has been saved in /home/mickey/.ssh/windows
    Your public key has been saved in /home/mickey/.ssh/windows.pub
    The key fingerprint is:
    9b:a9:81:24:7a:df:4c:55:c3:83:96:6a:ed:ce:a9:2e mickey@FreeBSD.micnet.or.jp
    $ cd .ssh [Enter]
    $ mv windows.pub authorized_keys [Enter]

    この場合は、windows というファイルが公開鍵となる。

公開鍵を利用者に渡す。

公開鍵を、ログインユーザーに渡す。
その際、属性をUID,GIDともに読み書きの権限を与える。
メールや、FDなどで直接Windows クライアントに渡す。分かりやすい名前に 変更すると、利用しやすい。ここではk_mickeyとした。
    #cd ~/.ssh
    #cp windows k_mickey

Tera Term Proのインストール

Tera Term Proのインストールについて記す。

Step_01 Tera Term Pro のインストール

    tterm23.zip を展開してできる setup.exe を実行する。

Step_02 Tera Term Pro 日本語パッチ

    ttrmp2312j.zip を展開してできる以下のファイルをすべて Tera Term Pro をインストールしたディレクトリにコピーする。
    japanize.txt
    keycode.exe
    ttermpro.exe
    ttpcmn.dll
    ttpdlg.dll
    ttpfile.dll
    ttpmacro.exe
    ttpset.dll
    ttptek.dll

Step_03 TTSSH プラグインのインストール

    ttssh151.zip を展開してできる以下のファイルをすべて Tera Term Pro をインストールしたディレクトリにコピーする。
    Libeay.txt
    libeay32.dll
    readme.txt
    ttssh.exe
    ttxssh.dll

Step_04 公開鍵のインストール

    入手した公開鍵を、 Tera Term Pro をインストールしたディレクトリにコピーする。

Tera Term Proを使う

    ttermpro.exe(または ttssh.exe)を実行して TTSSH を起動する。
    TCP/IP を選択
    Host: FreeBSD.micnet.or.jp … 接続先のホスト名
    Service SSH … 接続するサービス
    として OK を押し、FreeBSD.micnet.or.jpに接続する。



    ホストに初めて接続する場合は未知のホストである旨の警告が表示されるので、Continue を押す。 このとき Add this machine and its key to the known hosts list を選択しておくと、次回から警告が出なくる。



    TTSSH を初めて起動する場合は known_hosts ファイルが存在しないという警告が出る。 OK を押すと自動的に作成される。


    Use plain password to log in は利用できない状態になっている。
                                  (Server側の設定)
    User name: mickey … ユーザ名
    Passphrase: ******* … パスワード
    を入力して OK を押し、ホストにログインする。


WinSCP2 を使う

    WinSCP2 のインストールおよび利用方法は、標準的なインストールで利用できるため、ここでは説明を行わない。

  1. WinSCP2 を起動する。


  2. WinSCP Login 画面が表示されたら必要な項目を入力し,“Login”を選択する。
    Host name  FreeBSD.micnet.or.jp
    User name    mickey
    Password      ************




  3. 初めて接続するホストの場合,Warning が表示さる。
    ここで表示される fingerprint を受け入れる場合には [Yes] を選択する。


  4. 再度パスワードを聞かれる。


  5. ログインが完了すると左にローカルホスト,右にリモートホストのファイル一覧が表示された画面が表示される。


  6. 作業が終了したら,“F10 Disconnect”で WinSCP2 を終了する。