読者です 読者をやめる 読者になる 読者になる

スケのブログ

Java, Java EE, OpenAMなどの情報を記述していきます。

OpenAMのクリックジャッキング対策

クリックジャッキング

クリックジャッキング - Wikipedia
を防ぐ方法の一つとして「X-Frame-Options」ヘッダーを防止したいページのResponse headerに含めるというのがある。

X-Frame-Optionsには以下の3つの値が設定できる。

DENY
サイト側の意図に関わらず、ページをフレーム内に表示することはできません。

SAMEORIGIN
自身と生成元が同じフレーム内に限り、ページを表示することができます。

ALLOW-FROM
指定された生成元に限り、ページをフレーム内に表示できます。

OpenAMではどのように防止するか

OpenAM-12.0.1から内蔵サーブレットフィルターに任意のHTTPヘッダーを設定できるようになりました。以下をweb.xmlに追加してください。

<filter>
  <filter-name>Clickjacking</filter-name>
  <filter-class>org.forgerock.openam.headers.SetHeadersFilter</filter-class>
  <init-param>
    <param-name>X-Frame-Options</param-name>
    <param-value>DENY</param-value>
  </init-param>
</filter>
...
<filter-mapping>
  <filter-name>Clickjacking</filter-name>
  <url-pattern>/XUI/*</url-pattern>
  <url-pattern>/UI/*</url-pattern>
  <url-pattern>/console/*</url-pattern>
  <url-pattern>/oauth2/authorize</url-pattern>
  <dispatcher>FORWARD</dispatcher>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>INCLUDE</dispatcher>
  <dispatcher>ERROR</dispatcher>
</filter-mapping>

クリックジャッキングを防止する方法はほかにもあります。詳しくは以下を参照してください。
https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options



参考
https://forgerock.org/2016/06/protect-openam-deployment-clickjacking/
http://www.techscore.com/blog/2015/03/05/%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%82%B8%E3%83%A3%E3%82%AE%E3%83%B3%E3%82%B0%E3%81%A3%E3%81%A6%EF%BC%9F/