ShibbolethのJettyバージョン情報を隠す方法

サイオステクノロジーの服部です。

今回はShibboleth IdPを構築する際にJettyのバージョン情報を隠す方法をまとめます。

今回想定する環境は、学認から提供されている以下の技術ガイドに従ってShibboleth IdPを構築した環境を想定しています。
https://meatwiki.nii.ac.jp/confluence/pages/viewpage.action?pageId=20021624

ガイドに従って構築したIdPにアクセスすると、応答ヘッダーの"Server"にJettyのバージョン情報が含まれています。

また、存在しないパスにアクセスするとエラーページが表示されますが、こちらにもJettyのバージョン情報が表示されてしまいます。

Jettyにはバージョン情報を表示するか制御するオプションとして”jetty.httpConfig.sendServerVersion“が存在します。起動時にこちらのオプションを”false"にすることでバージョン情報の表示が無効となります。オプションの設定方法はjettyのサービスの環境変数を指定している、"/etc/sysconfig/jetty"に以下を追記するだけです。

JETTY_ARGS=jetty.httpConfig.sendServerVersion=false

こちらを設定して、jettyを再起動することでバージョン情報の出力が無効となります。応答ヘッダーの”Server“は、リバースプロキシに使用している"Apache"に変化しています。

エラーページについてもバージョン情報の表示が無効となります。

エラーページにて”SERVLET”に”default“と表示されていますが、気になる方は以下の設定を”/opt/jetty-base/webapps/idp.xml"に追記することで、こちらについても無効にできます。

<Configure>  <!--中略-->

  <Get name="errorHandler">
    <Call name="setShowServlet">
      <Arg type="boolean">false</Arg>
    </Call>
    <Call name="setShowStacks">
      <Arg type="boolean">false</Arg>
    </Call>
  </Get>
</Configure>

以上、短いですがShibboleth IdPを運用される方の参考になれば幸いです。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です