MovableTypeが自動生成するファイルのパーミッションは設定しておくべき(mt-config.cgi)

MovableTypeでは、mt-config.cgiに生成されるファイルのパーミッションをあらかじめ設定しておかないと、html,css,jsなどのファイルは、全てが書き込み権限の666で、生成されたフォルダは777に設定される。

この設定のままで運用していると、いつかファイルを書き換えられてしまうことがあり、セキュリティ的に非常にまずい。
このような脆弱性がある場合、特に共用サーバーに設置していると同じサーバー内にいる他の利用者のサイトが乗っ取られた場合に、適切なパーミッション設定になっていないと、こちらも巻き添えをくらってファイルを改ざんされてしまうことになる。

適切なパーミッション設定の値は、サーバーによって推奨値が異なる場合があるが、一般的に推奨される値は次の通り。

一般的な値(参考)
作成したディレクトリ 705 ( rwx---r-x )
HTML・画像ファイル等 604 ( rw----r-- )
CGIの実行ファイル 705 ( rwx---r-x )
CGIのデータファイル 600 ( rw------- )
.htaccessファイル 604 ( rw----r-- )
.htpasswdファイル 604 ( rw----r-- )

なので、MovableTypeで自動生成されるファイルのパーミッションもこれに合わせて生成させるように設定するには、
mt-config.cgiに以下のように追記する。

# パーミッション設定
DirUmask 0072
HTMLPerms 0604
UploadPerms 0604

DirUmask 0072は、フォルダのパーミッション「705」で生成
HTMLPerms 0604は、ファイル(htmlやphpなど)のパーミッション「604」で生成
UploadPerms 0604は、アップロードされる画像ファイルなどをパーミッション「604」で生成

ちなみに、すでに運用中のものに対してmt-config.cgiで変更しても、今後生成するファイルに対し有効なので、昔に生成されたファイルのパーミッションは手動で変更してください。