Liferay 7でレスポンスヘッダに出力されるプロダクト情報を削除する - Liferay 7でレスポンスヘッダに出力されるプロダクト情報を削除する - aegif Labo Blog Liferay
null Liferay 7でレスポンスヘッダに出力されるプロダクト情報を削除する
こんにちは。おおたにです。
今般求められるセキュリティ対策の中に、攻撃者の参考になりそうな情報を出力しないというものがあります。例えばレスポンスヘッダやエラー画面へのプロダクト情報(プロダクト名やバージョン)の出力を抑制するなどの対応です。
Apache HTTP ServerやTomcatについては一般的に行われていますが、Liferayもデフォルトではレスポンスヘッダにプロダクト情報を出力するため、要件によってはその出力を抑制する必要があります。
今回はLiferay 7でレスポンスヘッダに出力されるプロダクト情報を削除する方法を紹介します。以下では Liferay DXP(いわゆるEnterprise Edition)の場合を例に紹介しますが、7.0と7.1以降で若干設定が異なりますのでご注意ください。
デフォルトの動作
何も設定しないデフォルト状態では、LiferayからのレスポンスヘッダにLiferay-Portalという名前のヘッダが出力されます。内容は以下のような感じで、製品名(Liferay Digital Experience Platform)とバージョン(7.0.10 GA1等)が出力されます。
- Liferay Digital Experience Platform 7.0.10 GA1 (Wilberforce / Build 7010 / June 15, 2016)
- Liferay Digital Experience Platform 7.1.10 GA1 (Judson / Build 7110 / July 2, 2018)
- Liferay Digital Experience Platform 7.2.10 GA1 (Mueller / Build 7210 / May 13, 2019)
プロダクト情報出力の抑制
レスポンスヘッダに上記のLiferay-Portalヘッダを出力させないためには、設定ファイルによるLiferayの設定変更が必要になります。具体的な手順は以下のとおりです。7.0と7.1以降で指定する値が異なる点にご注意ください。
1. <LIFERAY_HOME>/portal-ext.properties
を編集し、以下の設定を追加する
http.header.version.verbosity=Liferay Digital Experience Platform (Liferay DXP 7.0)
http.header.version.verbosity=off (Liferay DXP 7.1以降)
2. Liferayを再起動して設定変更を反映させる
これでLiferay-Portalヘッダが出力されなくなります。
プロダクト情報のうち製品名だけ出力
レスポンスヘッダでLiferayからのレスポンスを判別したい等のような特殊なケースでは、Liferay-Portalヘッダに製品名だけを出力させることも可能です。こちらはバージョンに依らず同じ設定値です。
http.header.version.verbosity=partial
さきほどと同様にLiferayを再起動すると反映され、出力される値がLiferay Digital Experience Platform
のみとなります。
今回の内容は以上です。Liferay 7をお使いの場合は是非設定を試してみてください。