Liferayは、Liferay DXPが可能な限り安全であることを保証するために、OWASP Top 10(2013年版)およびCWE / SANS Top 25のリストに従っています。これらの推奨事項に従うことにより、既知の種類の攻撃やセキュリティの脆弱性から製品を保護できます。たとえば、Liferay DXPの永続性レイヤーは、Service Builderフレームワークによって生成および維持されます。このフレームワークは、HibernateおよびパラメータベースのクエリによってSQLインジェクションを防止します。
クロスサイトスクリプティング(XSS)を防ぐために、ユーザーが送信した値は出力時にエスケープされます。統合機能をサポートするために、Liferay DXPは入力をエンコードしません。データは、ユーザーから送信された元のフォームで保管されます。Liferay DXPには、CSRF攻撃、ローカルファイルインクルード、オープンリダイレクト、危険な種類のファイルのアップロードと配信、コンテンツスニッフィング、クリックジャッキング、パストラバーサル、およびその他多くの一般的な攻撃に対する組み込みの保護が含まれています。
最善をつくすために、Liferay DXPには最新の攻撃に対する修正と製品のセキュリティを向上させるための手法も含まれています。たとえば、Liferay DXPはPBKDF2を使用してパスワードを保存します。Liferay DXPには、Quadratic Blowup XXE攻撃やRosetta Flashの脆弱性、Reflected File Download(RFD)、そしてその他の種類の攻撃に対する緩和策も含まれています。
チュートリアルのこのセクションでは、LDAP、シングルサインオン、サービスアクセスポリシーなど、さまざまなセキュリティおよびログイン機能を設定する方法を説明します。以下は利用可能なものの概要です。
認証の概要
Liferay DXPのユーザー認証には様々なソリューションが用意されており、それらを使用して実行できます。
- 資格情報をチェックおよび保存するための拡張可能アダプターを備えたサインインポートレットを使用したフォーム認証(ポータルデータベース、LDAP)
- シングルサインオン(SSO)ソリューション - NTLM、CAS、SiteMinder、OpenSSO、OpenID、Facebook
- SAMLプラグイン
- JAASとアプリケーションサーバーの統合
注:LiferayのSSOソリューションはWebDAVと互換性がありませんが、Liferay Syncと一緒に使用することができます。 WebDAVとLiferay Syncの詳細については、Publishing Filesの記事を参照してください 。
AuthVerifier
レイヤーを使用して、リモートでアプリを認証および認可できます。
- パスワードベースのHTTP Basic + Digest認証
- トークンベースのOAuthプラグイン
- JavaScriptアプリケーション用のポータルセッションベースのソリューション
ユーザー認証とリモートアプリケーション認証の両方が拡張可能です。
開発者は、カスタムログインポートレットおよびプラグインを作成したり、デフォルトのログインポートレットであるauth.pipeline
を拡張したり、SSO用のAutoLogin
の拡張機能を作成したり、カスタムのAuthVerifier
実装を作成したりできます。
認可と権限のチェック
データへの許可されていない、または保護されていないアクセスを防止するために、いくつかの調整可能な認可レイヤーが用意されています。
- Liferay DXPのJavaサーブレットへのアクセスを制限するためのリモートIPおよびHTTPSトランスポートチェック
- ポータルサービス関連の認可チェックを実行するための拡張可能なアクセス制御ポリシーレイヤー
- ほぼすべてのポータルエンティティまたはデータ(ポータルデータベースなどに格納されているもの)に対する拡張可能なロールベースの権限フレームワーク
- ポートレットアクセスを制御するためのポートレットコンテナセキュリティチェック
- ポータルリモートAPI認証方式のためのリモートIPチェック
- ポータルリモートAPIへのアクセスを制御するためのサービスアクセスポリシー
追加のセキュリティ機能
ユーザーは、サイト、チーム、ユーザーグループ、または組織に割り当てることができます。カスタムロールを作成したり、ロールに権限を割り当てたり、ロールをユーザーに適用したりすることができます。ロールは、サイト、組織、またはグローバルなどの特定のコンテキストでのみ適用されるように範囲指定されています。詳細については、ロールと権限のドキュメンテーションを参照してください。
Liferayマーケットプレイスからダウンロード可能な追加のセキュリティプラグインがあります 。 たとえば、ユーザーの操作を追跡するためのAuditプラグインや、XSSベクトルからHTMLを消去するためのAntiSamyプラグインがあります。
さまざまなセキュリティ機能を細かく調整したり、無効にする方法は多数あります。以下はそのような設定操作の例です。
- サインインポートレットの*[アカウント作成]*リンクを無効にする
- Liferay DXPのHTTPS Webサーバーアドレスを設定する
- ユーザーをリダイレクトできる許可サーバーのリストを設定する
- 任意のページからアクセスできるポートレットのリストを設定する
- アップロードとダウンロードが許可されているファイルの種類を設定する
安全な設定と実行に関する推奨事項
Liferay DXPは、「デフォルトで安全」という概念を念頭に置いて構築されています。組み込みの保護を無効にしたり、セキュリティホワイトリストのすべての値を許可したりすることはお勧めできません。このような行為は、セキュリティの設定ミスや安全でないデプロイにつながる可能性があります。
Liferay DXPのインストールをセキュリティで保護する方法の詳細については、セキュリティに関する声明、コミュニティセキュリティチーム、およびそれらのページに記載されているリソースを参照してください。
また、カスタマーポータルに記載されているようにセキュリティパッチを適用することをお勧めます。
コミュニティおよびCEのデプロイでは、以前のセキュリティパッチがすべて含まれている最新のコミュニティバージョンを常に使用して、セキュリティを保護します。新しいバージョンがリリースされるまではコミュニティセキュリティチームがコミュニティセキュリティチームのページを通じて、最新のCEバージョンのパッチを発行します 。