Ghostscript に緊急レベルの脆弱性、悪用攻撃も発生
https://japan.zdnet.com/article/35100535/
MastodonではImageMagick経由でGhostscriptが呼び出される場合があります。
今回はImageMagickの設定ファイルを変更することでGhostscriptの呼び出しを回避します。
また、今回は行いませんが ImageMagick の policy.xml ではメモリリソースの使用量の調整も可能です。
コンテナからImageMagickの設定フォルダを取り出す
cd (docker-compose.yml のあるフォルダ) docker cp mastodon1_web_run_1:/etc/ImageMagick-7 . mv ImageMagick-7 etc-ImageMagick-7
policy.xml を編集
emacs ./etc-ImageMagick-7/policy.xml
policy.xml のコメント部分におすすめの設定が書いてあります
Rules are processed in order. Here we want to restrict ImageMagick to only read or write a small subset of proven web-safe image types: <policy domain="delegate" rights="none" pattern="*" /> <policy domain="coder" rights="none" pattern="*" /> <policy domain="coder" rights="read|write" pattern="{GIF,JPEG,PNG,WEBP}" />
この3行を の手前にコピペします
変更した設定フォルダをボリュームに指定する
docker-compose.yml を編集します
web とsidekiqのコンテナのvolumes の指定に追加します
- ./etc-ImageMagick-7:/etc/ImageMagick-7
再起動
一度コンテナを削除してから作り直すため、まだDBの永続化を行っていない方は行っておいてください。少し前の記事で説明しています。 http://d.hatena.ne.jp/tateisu/20170416/1492341633
dockerのコンテナを再起動します。
# stop じゃなくてdown。コンテナはrmされる docker-compose down # 起動 docker-compose up -d
sidekiq コンテナを増やしている方は docker-compose scale もお忘れなく