連載
» 2008年04月24日 00時00分 公開

Tomcatを安全にするセキュリティマネージャとは?Tomcatはどこまで“安全”にできるのか?(6)(3/3 ページ)

[x-labチーム,株式会社アメニクス]
前のページへ 1|2|3       

コラム 「Tomcatへ適用可能な標準的パーミッションクラス」

本稿では触れませんが、標準のパーミッションクラス以外にも多数のパーミッションクラスが存在し、自分で定義可能なカスタムパーミッションを利用することも可能です。


セキュリティポリシーにセキュリティマネージャを設定

 セキュリティポリシーの定義方法が分かったところで、Cometチャットを利用するためのセキュリティポリシー定義に戻りましょう。Webアプリケーションを発行する際には、利用するアプリケーションの用途に合わせて「WEB APPLICATION PERMISSINOS」に内容を追記していく必要があります。

 それでは、実際にCometチャット用にセキュリティポリシーを定義してみます。まずは、設置されているファイルを定義していきます。内容は以下のようになります。

grant codeBase "file:${catalina.home}/webapps/ROOT/WEB-INF/classes/CometServlet.class" {
}; 

 次に、許可するパーミッションクラスを定義します。本来であればパーミッションは利用最低限で定義すべきですが、今回はすべてのパーミッションを許可してしまいます。

permission java.security.AllPermission; 

 この2つの定義を併せた内容を「catalina.policy」ファイルに追記します。

// for CometChat Servlet //
grant codeBase "file:${catalina.home}/webapps/ROOT/WEB-INF/classes/CometServlet.class" {
    permission java.security.AllPermission;
}; 

 ファイルの内容を追記したら、ポリシーを適用するためにTomcatを再起動します。起動用のスクリプトに再起動のパラメータを付け、「/etc/init.d/tomcat restart」コマンドを実行します。

[root@www ~]# /etc/init.d/tomcat restart

 再起動が完了して再度Cometチャットを起動してみると、無事に起動できました。

図5 再度Cometチャットを起動 図5 再度Cometチャットを起動

 実際利用してみると……。

図6 Cometチャットが正常に動作 図6 Cometチャットが正常に動作

 ちゃんとチャットできることが確認できました。

セキュリティポリシーの定義を慎重に

 セキュリティポリシーの設定は人の手に掛かっているので「確実に安全」とはいえませんが、セキュリティポリシーの定義を慎重に行っていけば、少なくともいままでよりは安全に、信頼できるWebアプリケーションサーバを構築できるでしょう。

 駆け足でしたが以上で、Tomcat 6の新機能紹介と、非常に簡単ながらTomcatでセキュアなWebアプリケーションサーバを構築する方法を紹介する本連載はおしまいです。あとは、利用する環境に合わせてどんどん設定を試してみてください。本連載が少しでも読者の業務に役立てば幸いです。

著者プロフィール

x-lab チーム

株式会社アメニクスのR&D部門として、企業の価値向上を目的に結成された研究開発チーム(x-lab=amenix laboratory)。

アメニクスの社員をはじめ、システム開発技術者のみに限らず、MBA教授や外資系出身エンジニアなど幅広いメンバーが所属している。IT技術からマーケティング、金融テクノロジーなどさまざまな分野で活動中。


主な著書

『最速導入!オープンソースでつくる実用オンラインショップ』


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。