2013年6月2日日曜日

Redmine 2.0.3を2.3.1にアップグレード

脆弱性放置のRuby on Railsが標的に、Webサーバを狙うボット攻撃が横行
http://www.itmedia.co.jp/enterprise/articles/1305/30/news029.html

らしいです・・・。
RedmineはRailsで動作しているアプリケーションなのでバージョンアップすることにしました。
この脆弱性について詳しくはこちら
http://jarmoc.com/blog/2013/05/28/ror-cve-2013-0156-in-the-wild/

Redmine2.0.3とRailsも3.2.6の組み合わせで使用していたので、
脆弱性放置・・・の対象になります。

まずは、既存環境のバックアップからです。

1. redmineのインストールディレクトリをバックアップ

cp -r /path/to/redmine-2.0.3 /path/to/redmine-2.0.3-20130530


2. データベースをバックアップ

mysqldump --default-character-set=binary redmine > redmine_20130530.sql


3. redmineの最新版(2013-05-30現在2.3.1)をダウンロード

cd /path/to
curl -L -O http://rubyforge.org/frs/download.php/76933/redmine-2.3.1.tar.gz
unzip redmine-2.3.1.tar.gz

4. プラグインのダウンロード

私の場合は、前のバージョンで使用していたプラグインはコピーした場合に動作しなかったため最新版をダウンロードしました。
cd /path/to/redmine-2.3.1/plugins
e.g.
git clone git://github.com/backlogs/redmine_backlogs.git
その他、いくつか。

5. 定義ファイルの設定

こちらは旧バージョンのコピーでも問題ないかもしれませんが、
バージョンが離れていたので新規のものに再定義しました。
こちらは環境により異なります。
・ /path/to/redmine/configuration.yml
・ /path/to/redmine/database.yml

6. モジュールのインストールおよびアップデート

cd /path/to/redmine
bundle update


7. dbのマイグレーション

rake generate_session_store
rake db:migrate RAILS_ENV="production"
rake db:migrate_plugins RAILS_ENV=production
rake redmine:plugins:migrate RAILS_ENV=production
rake tmp:cache:clear
rake tmp:sessions:clear

8. railsのバージョン確認

rails -v
Rails 3.2.13

Webサーバを再起動して完了です。
脆弱性対応済みのバージョンにアップグレードできました。

まとめ

Redmineだけ使っているとRails環境をあまり意識しないので、Railsの脆弱性にも日頃から気をつけなくてはいけないですね。
Redmine環境を構築するときに細かいトラブルがあったりしたのでアップグレードが面倒に感じることもありますが、バックアップさえ取得できていれば動作しなかった場合はすぐに戻せるので、脆弱性は放置せず対応する必要がありますね。
反省・・・しております。


0 件のコメント:

コメントを投稿