Webアプリケーションファイアウォール
Liferay Cloud 5.x.xで利用可能です。
Liferay Cloud には ModSecurity という Web アプリケーションファイアウォールが含まれています。 ウェブサーバーに送信されたリクエストを、あらかじめ定義されたカスタムルールと照らし合わせて検査します。 このステップでは、XSS、SQLインジェクションなどの典型的なWebアプリケーションのリアルタイムL7攻撃や、機密情報の損失につながる可能性のあるその他の形式の乗っ取りを防止します。
Liferay Cloud には、 プライベートネットワーク、パブリック ロードバランサー ( レイヤー7 ) 、 CDN などのネットワークセキュリティ機能が追加され ています。
共有クラスタサブスクリプション では、カスタムファイアウォールルールは使用できません。
ModSecurityの有効化
ModSecurityはデフォルトで無効になっています。 これを有効にするには、 LCP_WEBSERVER_MODSECURITY
環境変数 を、プロジェクトリポジトリの webserver/LCP.json
ファイルに追加してください。 攻撃検知ルールは、ModSecurityが有効な場合のみ処理されます。 独自のルールを追加する必要があります .
これらの値は、 LCP_WEBSERVER_MODSECURITY
で許可されています。
On : ModSecurityを有効にします。 攻撃検知ルールが処理される。
Off : ModSecurity を無効にします。 ルールが処理されない。
DetectionOnly : ModSecurity を有効にします。 ルールは処理されるが、破壊的なアクションは実行されない(ブロック、拒否、ドロップ、許可、プロキシ、リダイレクト)。
環境変数LCP_WEBSERVER_MODSECURITY
は ModSecurity自身の SecRuleEngine
ディレクティブ と同等です。
ModSecurity を有効にするには、 LCP_WEBSERVER_MODSECURITY
の値を On
または DetectionOnly
に設定し、 変更をデプロイします。.
ModSecurityの設定変更
ModSecurityの設定はデフォルトを推奨します。 デフォルトの設定を上書きするには、プロジェクトリポジトリの websecerver/configs/{ENV}/modsec/
ディレクトリに modsecurity.conf
ファイルを作成します。 Liferay Cloud のデフォルト modsecurity.conf
を完全に上書きするため、必要な設定をすべて行う必要があります。
この推奨設定例 をコピーして、独自の modsecurity.conf
ファイルの出発点としてください。 このファイルを使用する場合は、 SecRuleEngine DetectionOnly
の行をこの行に置き換えてください。
SecRuleEngine ${LCP_WEBSERVER_MODSECURITY}
許可された設定の詳細については、 ModSecurity Reference Manual を参照してください。
攻撃検知ルールの追加
攻撃検知ルールはデフォルトでは提供されません。 あなたの特定のニーズに従ってルールを提供する必要があります。
OWASP ModSecurity コアルールセット
OWASP FoundationのModSecurity Core Rule Set(CRS)は、Liferay Cloudでの使用を推奨しています。 OWASP CRS はこちらからダウンロードできます .
ModSecurityにOWASP CRSを追加するには。
ダウンロードしたアーカイブをリポジトリフォルダに解凍します
webserver/configs/{ENV}/modsec/rules/
.crs-setup.conf.example
をwebserver/configs/{ENV}/modsec/
フォルダに移動します。crs-setup.conf.example
をcrs-setup.conf
にリネームしてください。crs-setup.conf
ファイルを開き、ファイルの最終行に以下を追加してください。
/etc/nginx/modsec/rules/*.conf
- ファイルをリポジトリにコミットし、 変更をデプロイします。.
ルールセットは、 ModSecurity を有効にした時点で解釈されます。
ModSecurity監査ログの使用
を有効にすると、 、ModSecurity は自動的に監査ログを生成し、すべてのトランザクションの詳細情報を記録します。 ログに記録された情報を見るには、Web サーバーの /var/log
ディレクトリにある modsec_audit.log
ファイルを開いてください。
独自の modsecurity.conf ファイルを提供して ModSecurity を設定する場合、 modsec_audit.log の代わりに、Web サーバのコンソール (ダウンロードできる場所) に情報を記録することが可能です。
modsecurity.conf
ファイル内のこの行を変更してください。
SecAuditLog /var/log/modsec_audit.log
/var/log/modsec_audit.log
を /dev/stdout
に置き換えると、各トランザクションの監査ログがコンソールに表示されます。 監査ログは、変更を展開した時点で表示されます。
必要であれば、 modsecurity.conf
ファイルに1行追加して、監査ログの形式をJSONに変更します。
SecAuditLogFormat JSON