【JPIERE-0373】ルートのコンテキストパスの追加設定

JPiereとしてルートのコンテキストパスに追加設定を施しました。

JPiereの運用に際して必要であれば、ここにさらに追加設定して使用して下さい。

 

追加した設定

◆ディレクトリリストの表示をOFFにする

一般的にデイレクトリリストを表示させてしまうのは、それはせ攻撃者に対して情報を与えるという点で、セキュリティー的に良くないとされています。そこで、ディレクトリリストが表示されないように追加設定しました。

ディレクトリリストの表示
ディレクトリリストの表示

iDempiereの初期設定ではディレクトリリストが表示されるようになっていますので、注意して下さい。

 

◆存在しないURLにアクセスした際のエラーページ設定

存在しないURLにアクセスした際に、何もしないと基本的にwebサーバーがエラーを返して、そのエラーが表示されます。iDempiereはWebサーバーにjettyを使用していますので、下記のようにjettyのバージョン番号が表示されます。この表示内容は、攻撃者に対してwebサーバにjettyを使用している事と、そのバージョンの情報を提供してしまっています。攻撃者に不用意に情報を提供しないために、JPiereでは存在しないURLにアクセスした際のエラー表示の画面を作成しました。

存在しないURLのエラー表示
存在しないURLのエラー表示

iDempiereの初期設定では上記のように表示されるようになっていますので、注意して下さい(※上記はiDempiere5.1の場合)。

 

◆ルート(トップ)ページのデザイン修正

iDempiereの標準のルート(トップページ)は、下記のデザインでかっこよいのですが、このページからfelixコンソールやサーバーの管理画面に遷移できるようになっており、iDempiereをVPNやLANの外側に置く場合には、セキュリティー的に好ましくないかなと思います。そこで、JPiereオリジナルのトップページにデザインを変更しました。

iDempiere標準のトップページ
iDempiere標準のトップページ

追加リソース

ルートのコンテキストパスの追加設定を行うカスタマイズはJPiereフラグメンツ(JPFS)として管理しており、jpiere.fragment.org.adempiere.serverに下記のリソースを追加しています。

追加リソース

◆jpiere_root.xml

◆jpiere_root.jsp

◆resources/templates/jpiere/images配下のファイル

  • background-line.png
  • backfround-world.png
  • icon.png
  • large-logo-jpiere.png

環境設定

コンテキストパスの追加を有効にするためには、次の設定が必要になります。

開発環境で有効にするために

開発環境で有効にするためには次の設定が必要です。

◆iDempiereのソースコードのルートフォルダ直下に、jpiere_root.xmlを配置する

jpiere.fragment.org.adempiere.serverのプロジェクトにあるjpiere_root.xmlをiDempiereのソースコードのルートフォルダの直下に配置して下さい。

◆org.adempiere.serverプロジェクトのweb.xmlの編集

org.adempiere.serverプロジェクトのweb.xmlを下記のように編集します。赤字が編集箇所です。

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app [

<!ENTITY jpiere SYSTEM "jpiere_root.xml">

]>

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"

         version="3.1">

    &jpiere;

<display-name>iDempiere Root</display-name>

◆resourcesファルダ配下にJPiereのリソースを追加

org.adempiere.serverプロジェクトのresourcesファルダのtemplatesファルダの配下に、jpiere.fragment.org.adempiere.serverプロジェクトのresourcesフォルダのtemplatesフォルダの配下にあるjpiereフォルダをコピペして下さい。

 

◆org.adempiere.serverプロジェクトの直下にjpiere_root.jspを配置

org.adempiere.serverプロジェクトの直下にjpiere_root.jspを配置します。

 

◆ウェルカムファイルの設定

org.adempiere.serverプロジェクトのウェルカムファイルの設定をjpiere_root.jspに変更します。

以上で、開発環境では、追加設定が有効になるはずです。

 

インストールパッケージ含めるために

コンテキストパスの追加設定をインストールパッケージに含めて、インストール先の環境で有効にするためには、上記の開発環境で有効化した後に、さらに次の設定が必要です。

◆org.adempiere.serverプロジェクトのビルドにjpiere_root.jspを含める

org.adempiere.serverプロジェクトの直下に配置したjpiere_root.jspをインストールパッケージに含めるようにbuild.prepertiesファイルの設定を編集します。

 

◆org.adempiere.server-featureプロジェクトのbuild.propertiesファイルの編集

org.adempiere.server-featureプロジェクトのbuild.propertiesファイルの"root="の設定に、file:../jpiere_root.xml を追加して下さい。

編集例
編集例

関連するコンテンツ