今回はウェブサイト改ざんに対するMTのセキュリティ対策についてまとめてみました。Movable Typeの公式サイトにセキュリティ対策ガイドがあるので、具体的な対策については公式サイトと、シックスアパート株式会社 長内毅志さんのスライドを参照しました。
CMSへの不正アクセスやウェブサイト改ざんは、最初にどのCMSを使っているかを特定し、脆弱性をついて攻撃を仕掛けてきます。テンプレート内にあるジェネレータータグを削除してどのCMSを使っているかがわかるような記述は残さないようにする対策が必要になります。バージョン情報からも脆弱性を探られるのでジェネレータータグの削除は対策の一つになります。
固定でURLを持っている管理画面等が攻撃されやすいため、MT管理画面への攻撃がダントツで多いとのことです。ですのでログイン画面のURLをmtやblogなど容易に想定できるものにしない、管理画面にベーシック認証をかける、パスワードを8桁以上にして強度をあげるなどの対策をしましょう。
ログイン画面のURLがわかってしまうと総当たり攻撃と呼ばれるブルートフォースアタックをかけられ、サイトを乗っ取られてしまう危険性があります。MTには一定の回数以上、ユーザー名とパスワードを間違えると、ユーザーのアカウントがロックすることができるロックアウトの機能があるので設定しましょう。
参照) Shellshock攻撃は、MovableType・NASなどの管理画面をターゲットに - 2014年下半期IBM Tokyo SOC分析レポート | マイナビニュース 不正サインインに対するアカウントのロック : Movable Type 6 ドキュメント
セキュリティ対策まとめ
MTで具体的にできる対策をまとめます。 1)MT本体の管理ディレクトリを想定できないものに変更する 2)管理画面にベーシック認証をかける 3)管理画面を SSL 通信にする 4)CGI スクリプト名を変更する 5)使わないCGI スクリプトの権限を604などに変更して実行権限与えないようにする 6)8桁以上のパスワードを設定する、英字(大文字、小文字)、数字を混ぜるとより効果的。 7)認証ロックアウト機能を使う ユーザーが一定時間内に一定回数ログインに失敗するとアクセス禁止にできる機能。 8)rss、rdf、atomなどに書かれているジェネレータータグを削除する。 atomにジェネレータータグが入っているのは気が付きませんでした…。 いっそのことMT本体と公開サーバーを別にするのもありじゃないかなと思いました。