Tomcatの設定4:セキュリティ関連の調整
Tomcatで運用する場合で、いくつか考慮した方が良い設定・情報を記載します。
セキュリティ関連は常々追加されていますので、これだけ実施すれば大丈夫。ということはありません。
定期的に脆弱性情報をチェックして、バージョンアップや設定追加を行っていくことを踏まえた
運用計画と運用体制を考えていくのが現実的な方法でしょう。
JVN iPedia
https://jvndb.jvn.jp/
IPA(独立行政法人 情報処理推進機構) 重要なセキュリティ情報一覧
https://www.ipa.go.jp/security/announce/alert.html
TomcatをそのままインストールするとTomcat\webappsにdocsやexamplesなどが入ります。
運用には不要ですので削除しましょう。
managerはTomcatの管理コンソールです。
運用には便利ですが、使わないのであれば削除しましょう。
もし使う場合はIDとパスワードを変更することを忘れずに。
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>
セキュリティ関連は常々追加されていますので、これだけ実施すれば大丈夫。ということはありません。
定期的に脆弱性情報をチェックして、バージョンアップや設定追加を行っていくことを踏まえた
運用計画と運用体制を考えていくのが現実的な方法でしょう。
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>
コメント
コメントを投稿