2016年04月10日

8. ミドルウェアのエラーページ

私が最近携わったセキュア化支援での指摘事項をまとめておきます。
なお、何れの対象システムもApache、Tomcatを利用したグローバル(インターネット)領域に公開するWebアプリケーションです。

【検出内容】
外部に公開するミドルウェアのエラーページをそのままにしていたため、
その内容からミドルウェア名やバージョン番号を特定できてしまった。

【(想定)被害内容】
脆弱性が悪用され、Webアプリケーションを改竄される。
また、機密情報を搾取される。

【対策内容】
エラーページを変更する。
Apacheの場合、httpd.conf( or httpd-multilang-errordoc.conf)を
-----
ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
ErrorDocument 410 /error/HTTP_GONE.html.var
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
-----
から
-----
ErrorDocument 400 /error/HTTP_BAD_REQUEST.html
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html
ErrorDocument 403 /error/HTTP_FORBIDDEN.html
ErrorDocument 404 /error/HTTP_NOT_FOUND.html
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html
ErrorDocument 410 /error/HTTP_GONE.html
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html
ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html
ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html
-----
に(編集 or )追記し、各htmlファイルを作成する。
また、Tomcatの場合(Apacheをフロントエンドとする前提)、server.xmlを
-----
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
-----
から
-----
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false" errorReportValveClass="">
-----
に編集する。もしくは、Apacheの場合と同じ方針であれば、web.xmlに
-----
<error-page><error-code>400</error-code><location>/error/HTTP_BAD_REQUEST.html</location></error-page>
<error-page><error-code>401</error-code><location>/error/HTTP_UNAUTHORIZED.html</location></error-page>
<error-page><error-code>403</error-code><location>/error/HTTP_FORBIDDEN.html</location></error-page>
<error-page><error-code>404</error-code><location>/error/HTTP_NOT_FOUND.html</location></error-page>
<error-page><error-code>405</error-code><location>/error/HTTP_METHOD_NOT_ALLOWED.html</location></error-page>
<error-page><error-code>408</error-code><location>/error/HTTP_REQUEST_TIME_OUT.html</location></error-page>
<error-page><error-code>410</error-code><location>/error/HTTP_GONE.html</location></error-page>
<error-page><error-code>411</error-code><location>/error/HTTP_LENGTH_REQUIRED.html</location></error-page>
<error-page><error-code>412</error-code><location>/error/HTTP_PRECONDITION_FAILED.html</location></error-page>
<error-page><error-code>413</error-code><location>/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html</location></error-page>
<error-page><error-code>414</error-code><location>/error/HTTP_REQUEST_URI_TOO_LARGE.html</location></error-page>
<error-page><error-code>415</error-code><location>/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html</location></error-page>
<error-page><error-code>500</error-code><location>/error/HTTP_INTERNAL_SERVER_ERROR.html</location></error-page>
<error-page><error-code>501</error-code><location>/error/HTTP_NOT_IMPLEMENTED.html</location></error-page>
<error-page><error-code>502</error-code><location>/error/HTTP_BAD_GATEWAY.html</location></error-page>
<error-page><error-code>503</error-code><location>/error/HTTP_SERVICE_UNAVAILABLE.html</location></error-page>
<error-page><error-code>506</error-code><location>/error/HTTP_VARIANT_ALSO_VARIES.html</location></error-page>
-----
を追記し、各htmlファイルを作成する。

【関連する記事】
posted by red at 13:29| Comment(0) | TrackBack(0) | セキュア化支援 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック