Tomcatの設定4:セキュリティ関連の調整

Tomcatで運用する場合で、いくつか考慮した方が良い設定・情報を記載します。



セキュリティ関連は常々追加されていますので、これだけ実施すれば大丈夫。ということはありません。
定期的に脆弱性情報をチェックして、バージョンアップや設定追加を行っていくことを踏まえた
運用計画と運用体制を考えていくのが現実的な方法でしょう。

JVN iPedia
https://jvndb.jvn.jp/

IPA(独立行政法人 情報処理推進機構) 重要なセキュリティ情報一覧
https://www.ipa.go.jp/security/announce/alert.html



1.不要なアプリケーションディレクトリの削除


TomcatをそのままインストールするとTomcat\webappsにdocsやexamplesなどが入ります。
運用には不要ですので削除しましょう。

managerはTomcatの管理コンソールです。
運用には便利ですが、使わないのであれば削除しましょう。
もし使う場合はIDとパスワードを変更することを忘れずに。




2.HTTPヘッダー情報から不要な情報を削除


HTTPレスポンスには色々な情報が載っており、こちらを対策することがセキュリティ確保に有益ということです。
セキュリティ診断などを行うと必ずチェックされる部分です。

◆サーバーの製品情報、バージョン情報が含まれないようにする

何も対応をしていないと、HTTPレスポンスヘッダーに
 Server: Apache-Coyote/1.1
というサーバー製品とバージョン情報が出てきます。
これを削除するにはTomcat\conf\server.xmlを修正します。

<Connector port="8080" protocol="HTTP/1.1"
    server="hoge-hoge"
    connectionTimeout="20000"
    redirectPort="8443"
/>

こちらの対応を行うと、server=""に設定した内容が表示される形となります。



◆HeaderSecurityFilterの適用

こちらもHTTPレスポンスヘッダーに
・X-Content-Type-Options
・X-Frame-Options
・X-XSS-Protection
の対応を行うための設定となります。

それぞれ
・コンテント-スニッフィングに対する防御
・ページフレーミングとクリックジャッキングに対する防御
・XSS攻撃に対する防御
を行うための内容となりますが、詳細は、、、自身で調べてください。


こちらの対応はTomcat\conf\web.xmlに対して、以下の記述を追加します。
※web.xmlは各アプリケーションディレクトリにありますが、
すべてのweb.xmlに記述するか、conf\web.xmlに入れるかのどちらかになります。

記述場所は<web-app> ~ </web-app>の間

<filter>
  <filter-name>SecurityFilter</filter-name>
  <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
  <init-param>
    <param-name>antiClickJackingOption</param-name>
    <param-value>SAMEORIGIN</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>SecurityFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>


コメント

このブログの人気の投稿

IVS文字・サロゲートペア文字の注意

Tomcatの設定3:8080ポート以外で動作させる

Tomcatの設定5:メモリ調整と起動モード

GeneXusのオプション設定、起動時オプション

ファビコン(fabicon)の設定