![]() ![]() ![]() ![]() |
この章では、ポータル デプロイメントのセキュリティについてのベスト プラクティス、ヒント、および技法を説明します。このガイドの他の章は、資格の追加、セキュリティ プロバイダの管理、委託された管理の設定による、ポータル リソースへのアクセスのセキュリティについて説明していますが、この章では、プロダクション環境のポータルをセキュリティで保護するための追加の手順について説明します。これには、ファイアウォールの使用、データベース接続のセキュリティ、WSRP プロデューサのセキュリティ、RMI、EJB JNDI など非 HTTP プロトコルを使用するアクセスのブロッキングなどが含まれます。
ヒント : | この章では WebLogic Portal 固有の情報が説明されています。次に進む前に、WebLogic Server インストールのセキュリティの詳細について、WebLogic Server ドキュメント「プロダクション環境の保護」を読むことをお勧めします。 |
この章では、以下のセキュリティのトピックについて説明します。
簡単なセキュリティ対策として、パスワードやクレジット カード番号などの機密データを決してクリア テキストに保管しないようにします。
ポータル ソフトウェアをセキュリティで保護するには、ファイアウォールを使用します。IP プロトコル フィルタ処理からコンテンツ フィルタ処理まで、ファイアウォールには多くの選択肢があります。どのファイアウォールも、ポータル ソフトウェアのセキュリティを保護するためのの第一歩として適しています。
最適な保護を得るは 2 つのファイアウォール ソリューションを使用します。WebLogic Server (または WebLogic でサポートされる認定サーバ) の前にファイアウォールを配置し、WebLogic でサポートされるサーバ プラグインを使用します。このプラグインが、もう 1 つのファイアウォールを介してポータル ソフトウェアと通信します。これらのファイアウォールは、HTTP と HTTPS 以外のすべてのトラフィックをフィルタで除外するようにコンフィグレーションできます。さらに、プラグインと WebLogic でサポートされているサーバは、プラグインと WebLogic でサポートされているサーバ間で双方向の SSL を実行するようにコンフィグレーションできます。
ファイアウォールに応じて、状況 (非暗号化) によっては、プラグインと Web サーバの間を通るパケットのコンテンツをフィルタ処理できます。
この方法の欠点は、両方のファイアウォールが同じプロトコルをフィルタ処理することです。そのため、攻撃者は最初のファイアウォールに通り抜けられると、2 つ目のファイアウォールも通り抜けられることになります。このセキュリティーホールによる危険を軽減するために、サポートされている WebLogic Web サーバの認定された安全なバージョンを使用できます。
ファイアウォールの詳細については、「サポート対象の Web サーバ、ブラウザ、およびファイアウォール」を参照してください。
最も簡単な対策の 1 つは、WebLogic Portal Administration consol をセキュリティで保護することがです。
極端な場合、データベース通信をセキュリティで保護すると有効な場合があります。すべてのドライバがこのようなメカニズムをサポートしているわけではありませんが、多くのプロバイダがデータベースに暗号化された通信を提供しています。このように特別の暗号化を行うと、パフォーマンス上で重い負荷となりますが、セキュリティにきわめて関心の高いお客様にとっては選択肢の 1 つとなります。
ポータルをプロダクション環境へデプロイする前に、委託管理および訪問者の資格のポリシーを確認することは重要です。委託管理は、ロールの階層構造内で WebLogic Portal Administration Console の特権を伝達するメカニズムです。訪問者の資格を使用すると、ポータル アプリケーション内のリソースにどのユーザがアクセスできるか、それらのリソースに対してユーザが何をできるかを定義できます。
この節では、WSRP を使用する WebLogic Porta アプリケーションをセキュリティで保護するためのベスト プラクティスについて説明します。WSRP セキュリティの詳細については、『連合ポータル ガイド』を参照してください。
この節では、コンテンツ管理システムをセキュリティで保護するためのヒントを説明します。
UUP (統合ユーザ プロファイル) には、ユーザ固有の情報を格納することができます。UUP および WebLogic Portal の詳細については、『ユーザの対話管理ガイド』の「UUP のコンフィグレーション」章を参照してください。
ポータル システムをさらに保護するために、アプリケーション スコープのリソースをコンフィグレーションします。これを行うには、ポータル アプリケーションに JDBC プールの定義を作成して、weblogic-application.xml
コンフィグレーション ファイルからそれを参照する必要があります。JDBC プールに加えて、すべての JMS リソースにも同じ方法でアプリケーション スコープを設定できます。
詳細については、「JDBC アプリケーション モジュールのデプロイメントのコンフィグレーション」および「JMS アプリケーション モジュールのデプロイメントのコンフィグレーション」を参照してください。
この節では、ユーザが GroupSpace 内から新しい GroupSpaces を作成しないようにする方法について説明します。メンバーが GroupSpace 内から新しい GroupSpace を作成できるかどうかは、コミュニティ ロール (管理者が指定したコミュニティの機能) によって管理されます。コミュニティ ロールと機能の詳細については、『コミュニティ ガイド』 を参照してください。
communities-config.xml
ファイルで指定されているため、次の種類のメンバーは、別の GroupSpace 内から新しい GroupSpace を作成すために管理ツールにアクセスできます。
<capability>
<name>manager</name>
<display-name>Manager</display-name>
<admin>true</admin>
</capability>
<capability>
<name>memberuser</name>
<display-name>Member User</display-name>
</capability>
コード リスト 3-1 のコードを使用して、すべてのメンバーの管理機能をチェックすることができます。
CommunityContext cc = CommunityContext.getCommunityContext(request);
CommunityUserContext userContext = communityContext.getCommunityUserContext();
CommunityMember thisMember = userContext.getMember();
CommunityMembership membership = userContext.getMembership(thisMember.getId(), cc.getCommunity().getCommunityDefinitionId());
if(membership.hasAdminCapability())
{
...
}
この節では、WebDAV Web アプリケーションをセキュリティで保護する方法について説明します。WebDAV は、WebLogic Portal アプリケーションと共に自動的にデプロイされます。
コード リスト 3-2 には、web.xml
にある WebDAV Web アプリケーション WAR ファイル WEBLOGIC_HOME\cm\lib\modules\webdav-web-lib.war
用のデフォルトのセキュリティ制約スタンザを示します。WebDAV のデフォルトのセキュリティ設定を変更するには、デフォルトの <auth-constraint>
要素の <role-name>
属性を変更して特定の管理ロールのメンバーのみが WebDAV Web アプリケーションへのアクセス権を持つようにすることができます。
ヒント : | web.xml 設定のデフォルトのセキュリティ制約を変更するには、デプロイメント計画を使用することをお勧めします。デプロイメント計画の使用の詳細については、『プロダクション業務ガイド』を参照してください。 |
<security-constraint id="securityconstraint">
<web-resource-collection>
<web-resource-name>webdav</web-resource-name>
<description>Security constraint for webdav</description>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>AllAuthenticatedUsers</role-name>
</auth-constraint>
</security-constraint>
![]() ![]() ![]() |