ImageMagickの脆弱性「ImageTragick」に対応するためにpolicy.xmlを下記を追加します。
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="SHOW" />
<policy domain="coder" rights="none" pattern="WIN" />
<policy domain="coder" rights="none" pattern="PLT" />
参考:http://qiita.com/nt-uni/items/bb4cc3064a3af857a63e
すると下記のようなエラーが発生しました。
MiniMagick::Error (Command ("identify -quiet -ping -format %wn <画像URL>") failed: {:status_code=>1, :output=>"identify.im6: not authorized `<画像URL>' @ error/constitute.c/ReadImage/454.\n"}):
処理の流れとして
- Aサーバで画像加工
- BサーバにAサーバで加工した画像を送る
- AサーバからBサーバに送った画像をチェック という流れで、画像をチェックした時にエラーが発生しました。
どうやら権限設定に問題がありそう。
画像チェック時に画像URLをhttpsでアクセスしていたので、pattern=HTTPSのrightsの属性値を変更しました。
画像の存在チェックをするだけで読み取りをすればよいだけなので read権限 を追加。
<policy domain="coder" rights="read" pattern="HTTPS" />
無事うまく行きました。