Index >> Novell NetWare/NDS Fan >> GroupWise WebAccess via SSHメモ

                GroupWise WebAccess via SSHメモ
2001/03/13
* Sorry, this page is only for Japanese now. Please let me know what would you like to know. If I know, may be written about these in the near future. Thanks to visit here.

1.目的

 Novell の代表的なメッセージングサービスといえば・・・ま、諸説ありますが(笑)、とりあえず GroupWise だということにしておいてください(^^;
 で、GroupWise はインターネットとの親和性が普通にあるシステムなので、当然 Web メールのような機能もあります。しかし、SSL に対応していないため、 残念ながら現時点では素直にインターネットへ公開できません。
 そこで、SSH のポートフォワーディング機能を使って、ちっとはセキュアな GroupWise WebAccess の運用をしてみようというものです。

 このメモは、Novell/NetWare関係なのか、Linux関係なのか、非常に悩んだのですが、目的がGroupWiseなので一応Novell関係ということにしておきます。 なお、Linux 関係のところからも一応リンクはしておきます。

 なお、前提として、サイトに専用線もしくは繋ぎっ放しのダイヤルアップ回線(フレッツhogehogeとか)が繋がっていて、ファイヤウォールが構築されていて、ポート フォワーディングもしくはNATが設定できることが条件です。

2.入手先
GroupWise / GroupWise WebAccess
Novell さんから買ってください(笑)
Plamo Linux
Plamo Fun なページを御覧ください
OpenSSH
Plamo 2.1 にはパッケージで同梱されているので、入手する必要ありません
Delegate
Plamo 2.1 にはソースが添付されているので、取り立てて入手する必要はありませんが、どうしても最新版がいい方は、 http://www.delegate.org/delegate/からどうぞ
PortForwarder
PortForwarder Homeからどうぞ

3.導入方法

 このメモで行っている方法をきちんと動かすには、動かそうとしているネットワークの構成やインターネットとの接続環境について、 正しく把握していることが絶対条件です。また、ファイヤウォールに穴をあけなくてはならない都合上、ファイヤウォールの設定も ご自身でできなくてはなりませんし、穴のあけ方も熟知していなくてはなりません。
 もし自信がなければ、自信のない箇所についてそれ相応の技術や知識のある人(もしくは業者)に依頼しましょう。
 元々ファイヤウォールなんてなくて、簡単なダイヤルアップルータなどで接続している場合も、基本的には同様です。変な設定をすると、 外から丸見えになってしまいますから、充分注意してください。
 どうしても自力でできない場合は、近郊ならお手伝いしなくもないです。メールでお問い合わせください。
  1. やろうとしていること
     何をしようとしているのかわからないと進めづらいでしょうから、簡単に説明します。
     GroupWise には WebAccess という機能があります。世間でいうところの「Webメール」に近いもので、ブラウザだけで GroupWise の ほとんどの機能を使えるという優れものです :-)
     これは、通常 NetWare サーバ上で動作する Webサーバ(Novell Web Server 3.1 もしくは Netscape Fasttrack Server)上で CGI として 動作する Web/GroupWise PostOffice のゲートウェイです。これが動いていれば、イントラネット上のホストからはブラウザだけで GroupWise の ほとんどの機能が使えるわけです。

     ところで、もう一つの主役「SSH」ですが、 ここらへんやら ここらへんを読んでいただくとわかるとおり、 パケットを暗号化して交換する Telnet の代替機能です。通信路自体を暗号化するので、中を流れるパケットを盗聴される危険が非常に低くなります (断じてできないとは言わないが、少なくとも僕にはできません)。
     で、このSSH、実は暗号化した通信路の内部を別のプロトコルで通過することができます。SSH ポートフォワーディングというらしいですが、 NetWare をよくご存知の方ならきっとご存知な似た機能でいえば、昔よく使った「IPトンネル」みたいなものです。IPしか伝送できない通信路を経由して、 IPXしかしゃべれないNetWareサーバ同士を接続した、あれです。
     この SSH ポートフォワーディング機能を使って、SSH ログイン認証が取れたホストのブラウザから GroupWise WebAccess への通信を 実現してあげようというものです。図解するとこんな感じです。

    SSH利用イメージ
SSH利用イメージ

 ただ、GroupWise WebAccess サーバは一般にNetWareサーバですので、SSH が動きません。そこで、Delegate のリバースプロキシの一つ 「マウント」機能を使って、Delegate を WebAccess サーバの黒子に仕立て、これへのSSH ポートフォワーディングをすることで WebAccess サーバへの SSH 接続を実現します。

 では、必要なコンポーネントを順番に動かしていきましょう。

  1. GroupWise WebAccess を動かす

     ま、目的がこれですから、これは動かして置いてください(笑)
     これが動かせない場合、これ以降読んでも意味がありません。自力ではできないけど、どうしても動かしたい場合は、近郊なら手伝える場合もあります。

     動いたら、イントラネット内でアクセス可能かどうか確かめてください。イントラネット内でアクセスできないものは、 インターネットからだってアクセスできません(^^;

  2. Plamo Linuxを動かす  Plamo Fun なページを御覧ください、としかいいようが・・・(^^;  これも駄目なら、近郊ならお手伝いしなくもないです。

  3. OpenSSHを動かす  こちらもPlamo Fun なページの中で書いています。インストールメモの中のおまけです。

     動かせたら、Windows なら TeraTerm Pro と TTSSH、それに秘密鍵を使って、きちんとアクセスできることを確かめてください。 ログインできてれば必要ないといえばないですが、一応パケットがどこへどう向かってどうやって伝達しているかのイメージを作るため、 DOS プロンプトを開いて下記のコマンドを実行してください。

    C:\WINDOWS>netstat -rn

     Plamo をインストールした LinuxBox のIPアドレスに向かって、そのポート22番へ接続を張っている様子が御覧になれるでしょう。

  1. Delegate を動かす

     Delegate は、Plamo 2.1 の CDROM の、/contrib/Src/delegate6.1.18.tar.gz が使えます。もっと新しいものがほしい場合は、 http://www.delegate.org/delegate/を参照してください。
     まずはこのソースを展開します。

    $ cp /cdrom/contrib/Src/delegate6.1.18.tar.gz /usr/local/src
    $ cd /usr/local/src
    $ tar xvfz delegate6.1.18.tar.gz

     Make の方法は、解凍したディレクトリ内の README.MAKE に記載されている通りです。具体的には、src/Makefile 中の ADMIN = のうしろに、 ご自身のメールアドレスを記載するだけです。

    $ vi src/Makefile
    $ make

     これで、src/delegated ができているはずなので、root になって(su して)これを /usr/sbin あたりへ置きましょう。

    $ su
    password:
    # cp src/delegated /usr/sbin

     また、delegate 用の設定ファイルを作る場所も同時に作成しておきます。

    # mkdir /etc/delegate

     では、ここに WebAccess サーバへのリバースプロキシの設定を書きます。ファイル名は httpmount.conf ということにします。

    # vi /etc/delegate/httpmount.conf
    # cat /etc/delegate/httpmount.conf
    SERVER=http
    MOUNT=//webacc5/* http://aaa.bbb.ccc.dd:80/*
    REACHABLE=aaa.bbb.ccc.dd
    RELIABLE=*
    CONNECT=d:*:*

     ここで、aaa.bbb.ccc.dd は実際に WebAccess サーバが動いている NetWare(NTかもしれないが)サーバのIPアドレスです。
     このファイルを作成したら、コマンドラインから Delegate を起動してみます。

    # /usr/sbin/delegated -P80 +=/etc/delegate/httpmount.conf

     メールアドレスが指定されていないから云々というエラーが出ますが、気にしないでください。これで、イントラネット内のホストの ブラウザで LinuxBox へリクエストすると、WebAccess の画面がでれば、準備OKです。

  1. PortForwarder で SSH ポートフォワードを行う

     最後の仕上げです。Windows なホストに PortForwarder を持ってきて、SSH ポートフォワードをしましょう。
     PortForwarder の配布ファイルを解凍します。そして、おなじディレクトリに config.txt を作成します。config.txt の中身は、以下のようなものです。

    Host webacc5
    HostName webacc5.your.domain
    Port 22
    User que
    LocalForward 80 aaa.bbb.ccc.dd:80

     最初はイントラネットからテストするのでしょうから、aaa.bbb.ccc.dd はイントラネットから見た LinuxBox のIPアドレスです。 秘密鍵(identityという名称のファイル)も同じディレクトリに置きます。これで PortForwarder.exe を起動します。

    PortForwarder起動画面

     まず、Config file: 欄に上記の config.txt を指定します。また、ホスト名には config.txt 内で定義したホスト名「webacc5」を指定します。 これで [Connect] ボタンを押したら、Status が Connected になることが期待されます。ならないと何も始まらないので、上でご紹介したページなどを参照して、 Connect しましょう :-p
     正しく Connected になったら、ブラウザを起動して、URL に "http://localhost/" と入れてください。当然ですが、くれぐれも ローカルホスト上で Apache などを動かさないように。絶対につなぎにいきません(笑) どうですか? WebAccess の画面は出ましたでしょうか?

     うまくでればひとまず完成です。後は、この LinuxBox の22番ポートをインターネットから参照できるようにファイヤウォールの設定を変更し、 ネームサーバに名前を登録して名前で引けるようにして、外部ネットワークから接続できることを確かめましょう。

     しつこいようですが、ファイヤウォールの設定を間違えると大変です。よく検討してから作業しましょうね(^-^)b

付録1.参考文献

Plamo Fun なページ
手前味噌ですが、このサイト内です(笑)
DeleGate リファレンスマニュアル和訳
参考にさせていただきました。ありがとうございますm(_ _)m
Index >> Novell NetWare/NDS Fan >> GroupWise WebAccess via SSHメモ