Web の便利さとどこからでもアクセスできるという性格から、ノーツ/ドミノ・ユーザーの多くは、特に出張の際などの従業員のメール・アクセス方法として Web を使っています。Web メール、そして最近発表された iNotes Web Access は、ユーザーがアクセスできるインターフェースを提供し、ドミノが確実に、そして安全にデータをロードします。
このケース・スタディーでは、メールへの Web からのアクセスをセキュアーにしたり、顧客のネットワークのトラフィックをセキュアーにする基本点を見ていきます。この記事はもともと顧客の皆さんに、使えるサービスにはどのような選択肢があるのか、そしてその仕組みを理解してもらえるように書いたものです。アーキテクチャーに関する正式な文書としてではなく、顧客にはこのような選択肢があるということを紹介する記事として見てください。
Web ブラウザーは HTTP プロトコルを使って HTML を介してユーザーのメール・ファイルにアクセスします。Web アプリケーション・サーバーはメールを保管したり転送を行なったりするだけでなく (通常 SMTP を使って行なわれます)、HTTP プロトコルを使って HTML を介し、ユーザーのメール・ボックスにアクセスできるようにします。そして、ユーザーはメッセージの内容やインターフェースなどを利用することができるようになるというわけです。
Web ブラウザーは、空港のターミナルで利用できたり、航空会社のビジネス・クラスのラウンジで利用できることがありますし、インターネット・カフェでも使えます。さらに、会社が社員にモデムや必要なソフトウェアをインストールしたノート型PC を持たせるかもしれません。そして、ドミノ Web アプリケーションはこのようなサービスを Web アプリケーションで利用するのに適しています。
アーキテクチャーの中でもっとも攻撃にさらされやすいのは企業のネットワークの外側、つまり情報が Web クライアントとサーバーの間で交換される部分です。しかし、企業ネットワークの内側にも注意を払うべきところがあります。この「危機」は企業内部の人間に関係がある場合もあるからです。
誰が、なぜ攻撃してくるのか
企業ネットワークの外側で交換される情報を扱う際には、Web クライアントと Web アプリケーション・サーバーの間で交換されるパケットを傍受することでインターネット上で攻撃されます。企業ネットワーク内でやりとりされる情報の場合は、社員や契約社員などが攻撃している可能性があります。
まず攻撃してくるユーザーをひとまとめに「ハッカー」と呼ぶことにします。そして、ここから分類していきます。すべてのハッカーが悪意を持ってやっているわけではなく、コンピューター・サイエンスをマスターしようとしている人や、変わった考え方を持った人なのかもしれません。ですから、ここで悪意あるハッカーを「クラッカー」として別に分類します。クラッカー達の目的は、良くて Web サイトへのいたずら、ひどいものになると情報や知識の横領、ばらまき、そして破壊におよびます。
基本的な HTTP 認証しか使われていない場合の、ユーザーの ID やパスワード。これによって攻撃者がメッセージング・サーバーにログインしたり、ユーザー宛ての eメールを読めるようになってしまいます。
この他にも、ローカル DNS サーバーがハッキングされ、ユーザーが「にせ」のサーバーを気づかずに使って、そのサーバーに認証情報を流してしまうといった人が間に介在する攻撃方法もあります。
もう1つ、攻撃というわけではないのですが、Web ブラウザーのキャッシュには情報がためられますが、セッション中に交換された情報が Web ブラウザーのキャッシュに残ると、次にワークステーションを使う人がその情報を見ることができるということも考慮しておく必要があります。
誰かが攻撃をしかけて、サーバー上のデータにアクセスする恐れがあるので、サーバー自体もリスクを持っています。使っている OS 次第では、ファイル・システムや、その中のファイルにアクセスする方法はいくらでもあります (バッファー・オーバーフローや見つかってはいるもののまだ対抗策がとられていないセキュリティー上の穴などが原因となります) 。
ドミノ サーバーに保管されているメッセージを暗号化するのは簡単です。まずデータベースのプロパティー・ボックスの [ローカルのデータベースを暗号化する] オプションを使い、サーバー ID を使ってサーバー上のデータベースを暗号化します。すると、そのサーバーのドミノ管理者は、暗号化したときに使ったサーバー ID を使ってのみ、データベースにアクセスできるようになります。これによって、なんらかの方法でサーバーが OS レベルでハッキングされて (このようなことはサーバーの保護を強化すれば起こらないはずですが) ファイル・システムにアクセスされ、データベースをコピーできたとしても、暗号化されているためにその内容を読むことはできないわけです。
では、攻撃者がサーバー ID も手に入れたとしたらどうなるでしょうか?もし管理者がサーバー ID にパス・フレーズ (パスワードではなく、記号や番号が混じった、例えば「t34m_m33ting@120'cl0ck%r00m-222D」のようなもので、ひたすら色々な文字の組み合わせと試してくるような攻撃を防ぎます) を付加していれば、サーバー ID を使うことはできません。ユーザーは、暗号化されたデータベースを解読するためのキーとなる内容を解読するには、パス・フレーズを持っている必要があるからです。
ここで、ドミノ ID にパス・フレーズを付けると、ドミノ サーバーは自動で再起動することができなくなってしまうということに注意します。管理者は、コンソールで ID のパスワードを入力する必要があり、7x24 の使用にも影響してきます。ですので、パス・フレーズの使用にあたってはよく考えるべきです。これには、SNMP (Simple Network Management Protocol) を使ってサーバーの再起動イベントを避け、コンソールで管理者へパスワード入力要求のメッセージを表示させるのも手でしょう。
暗号化されたメールを送る
Web ブラウザーでの HTTP プロトコルにおける X.509 認証、そして Web ブラウザーと Web アプリケーション・サーバー間の通信チャンネルの暗号化については前述したとおりです。これと同じ手法を使い、X.509 認証を利用して、セキュアーな eメール通信を実現します。
S/MIME クライアント内 (ロータス ノーツ、Netscape Messenger、Microsoft Outlook Express) でクライアント証明書が要求されます。ノーツ・ブラウザー、Netscape Navigator、あるいは Internet Explorer 4 が、信頼の置ける認証機関の Web サイトでクライアント認証要求を作成するように促します。
要求が送信されると、ブラウザーがプライベート・キーを作成し、ローカルに保存します (この処理は Internet Explorer の場合のみ異なります)。
最後に、Netscape Messenger (4.x) と Microsoft Outlook Express では、受取人の証明書を得るためのメカニズムを2つ備えています。
まず、送信者は、送りたい相手に署名付きのメッセージを送ってもらいます。送信者がこのメッセージを受け取ると、Netscape Messenger (4.x) と Microsoft Outlook Express は、自動的にその証明書を、保存されている証明書の一覧に加えます。同様に、署名付きのメールが、別の Netscape Messenger (4.x) あるいは Microsoft Outlook Express ユーザーに送られた場合、そのユーザーは送信者の証明書を得ることになります。