当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2017年7月22日土曜日

Dominoでアクセス禁止ページを設定してみよう!

皆さん、こんにちは。

しばらく記事が書けずにいました。
ここのブログの他にも、ブログ記事を書くことになってしまったので、おろそかになっていました。
(まぁ、理由はそれだけではないのですが・・・)


さて、今日はXPagesもアプリ開発も何も関係ない話題です。

かなり前の話になりますが、
Prominic.NET
というホスティング業者がIBM Champions for ICS向けに開発用としてIBM Notes/Dominoシステムを無償で提供しますよ。
という話がありました。
詳しくはこちら→Hosting for IBM Champions - Prominic.NET

NRPCアクセスやWebアクセスができるものということでかなり便利に使えそうなので、申し込んでみました。
Webアクセスを許可しているため、インターネットドメインの取得だけは別途行う必要があるのですが、IBM Notes/Dominoを購入することに比べたら、微々たるものなので、潔く購入しました。

この後は所定の手続きに従って、連絡を待っていました。
数日後には、なんとまぁ、私専用のDominoサーバが構築されてそこにアクセスするためのIDも送られてきましたよ。
嬉しいですね。
今まで、Dominoアプリのデモをするには、自分のPCにインストールしてあるDominoサーバを起動していたので、準備に時間がかかることかかること。
それがすぐにデモを見せられるようになったのは嬉しいことです。


ところで、自分用のDominoがWebサーバとしてインターネット上にあるということは、不正なアクセスをしてこようとする人も少なからずいるわけです。


デモ環境として利用しているので大事なデータはおいていませんが、やはり気持ちいものではありません。

そこで、アクセスされて困るNotes DBはブロックするようにします。
一番簡単なのは、ACLを変更することです。
ですが、これだと、ログイン画面が表示されたり、HTTP500のエラーページが出るなど、
Notes DBが存在していることが分かってしまいます。

今回は、そういったことが分からないようにするための仕掛けを見ていきましょう。

やりたいこと
1.アクセスされて困るNotes DBにアクセスできないようにする
2.存在しないDBのURLを入力されても同じようなエラーを返すようにする

としておきます。


手順は次の通りです。
1.「Domino Web サーバー設定」DBを作成する。
 「Domino Web サーバー設定」(domcfg5.ntf)というテンプレートを元に、「domcfg.nsf」という名前でNotes DBを作成します(ファイル名は決まりです)。
 ※テンプレートを引き継いで設計のチェックは外しておきましょう
Domino Webサーバー設定DBを作成する

2.「エラーと返答フォームマッピング」の文書を作成する
 「エラーと返答フォームマッピング」ビューを開いて、[マッピングの追加]アクションを実行します。
 新規文書作成画面になるので、そのまま[保存して閉じる]アクションを実行します。

3.エラー画面を作成する
 IBM Domino Designerを使って、domcfg.nsfに「CustomGeneralErrorForm」という名前のフォームを作成します。このフォーム名は、先ほど作成したマッピング文書の中に指定されていた名前になります。
今回は、こんな画像を貼り付けたフォームにしてみました。
アクセス禁止用のフォーム設計
また、「HTML Head Content」にページのタイトルも設定しています。

4.Webアクセスを禁止したいNotes DBの設定を行う
WebからアクセスしてほしくないNotes DB(ドミノディレクトリやlog.nsf等)のDBプロパティを開いて
「URL参照を許可しない」にチェックを付けます。
URL参照を許可しない

これで完了です。

実際の画面を見てみましょう。

まず、設定適用前のエラー画面がこちらです。
「URL参照を許可しない」にチェックを付けていると、HTTP500のエラーを返します。
このチェックを外していると、ログイン画面が表示されます。
「URL参照を許可しない」にチェックを入れただけの場合

次に、「URL参照を許可しない」にチェックを入れて、なおかつdomcfg.nsfに「エラーと返答フォームマッピング」文書を追加してエラーフォームを作成したときの状態です。
作成したエラー画面が表示される


どうでしょう?簡単ですよね。

手順は、
Web サーバーのメッセージをカスタマイズする
に出ているので、詳しくはそこを参照してください。



実際には、Domino Webサーバのセキュリティを強化する方法はいくらでもあります。
IBM Lotus Domino Web サーバーをセキュアにする
こちらのドキュメントを読むと、よくわかると思いますので、自社のDominoのセキュリティが不安だという方は読んでみましょう。



では、今日はこの辺で・・・




Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
IBM Championの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: