月別: 2011年7月

MySQL バイナリログ取得設定

デフォルトの状態ではバイナリログは出力されていないので設定しておく。

ロールフォワードリカバリにも利用できる。

設定ファイルを変更する

#vim /etc/my.cnf

[mysqld]
log-bin
expire_logs_days = 14

「expire_logs_days」でとりあえず2週間で削除されるように設定しておく。
※ロールフォワードリカバリするた為には別途都度バックアップをとっておく必要がある。

保存したらmysqlの再起動

設定が反映されているか確認する。

[(none)] 10:04 am> show master logs;
+-------------------+-----------+
| Log_name          | File_size |
+-------------------+-----------+
| mysqld-bin.000001 |       126 |
| mysqld-bin.000002 |       126 |
| mysqld-bin.000003 |       107 |
+-------------------+-----------+
3 rows in set (0.00 sec)

[(none)] 10:04 am> show global variables like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 14    |
+------------------+-------+
1 row in set (0.00 sec)

バイナリログの中身を確認する
今回の設定だと「/var/lib/mysql」以下にファイルができる
ファイルの中身はもちろんバイナリなので「mysqlbinlog」ユーティリティ
を利用する。

# pwd
/var/lib/mysql
# mysqlbinlog -D mysqld-bin.000001

参考URL

MySQLバイナリログの仕様

MySQL バイナリログの管理

MySQL バイナリログの削除

知って得する!MySQL のリカバリ

携帯電話向けWebサイトに対する・・・

これから携帯がらみのシステムをやりそうなので徳丸 浩さんの

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践

をちょっと読んだ。

以下すっごい簡単なメモ

携帯電話向けWebサイトに対する脅威と対策のまとめ

○簡単ログインに対する不正アクセス

携帯IDによる認証をやめ、IDとパスワードによる認証にする。オプションでクッキーによる自動ログインを実装する

○RefererによるセッションID漏洩

以下のいずれかを実施する
・クッキーによるセッション管理に移行する
・外部サイトにリンクしない
・外部サイトにリンクする際にはクッションページをはさむ

○その他セッションID漏洩

利用者がメールでURLを教えることには根本的な対策はない

○ログイン前のセッションIDの固定化

ログイン前にはセッションを有効化しない

○ログイン後のセッションIDの固定化

ログイン直後にセッションIDを変更する

今のところ完璧な対策は無さそうだけどできる限りの対策はしようと言う事で。

詳細は本で・・・。すごくよくまとまっていて分かりやすいので全部読むぞ!

 

体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
徳丸 浩
ソフトバンククリエイティブ
売り上げランキング: 1746

30日間チャレンジ

マット・カッツの30日間チャレンジ」を見て何か自分にとって新しいことをしてみようと思い立った。

このブログも平日1エントリ必ず書くというのは初めて以来今まで続いているけど
内容が薄いし、そろそろ書くことも習慣化してきたので次の段階へ・・・。

とりあえずマット・カッツの言うとおり何かしてみよう。
で、最初の30日間チャレンジは家にあって手をつけていないJavaの本をやってみる。

改訂第2版 Java言語プログラミングレッスン (上)
結城 浩
ソフトバンククリエイティブ
売り上げランキング: 4596

やった内容をブログに書くかはちょっとまだ未定。
まずは30日間継続して取り組んでみる。

話は変わって今日は浜松はお盆です。
実家に行って迎え火してきました。

お盆
お盆(おぼん)は、太陰太陽暦である和暦(天保暦など旧暦という)の7月15日を中心に日本で行なわれる祖先の霊を祀る一連の行事。一般に仏教の行事と認識されているが、仏教の教義で説明できない部分も多い。古神道における先祖供養の儀式や神事を江戸幕府が庶民に強いた檀家制度により仏教式で行う事も強制し、仏教行事の「盂蘭盆」(うらぼん)が習合して現在の形が出来たとされる。

こっちでは遠州大念仏とか有名なんだけど詳しいことは知らなかった。。。

毎年7月のお盆の夜に初盆の家を回って太鼓や鐘などにあわせて念仏踊りを披露する。代表的なイベントとして、鹿谷町(浜松市中区)の犀ヶ崖公園(旧アソカ布橋幼稚園)で、毎年7月半ばに大念仏が開催されている。

かつてはこの際に披露される念仏踊りを「とったか」と呼んだ。

この大念仏は、三方ヶ原の戦いおよび犀ヶ崖の戦いで犠牲となった人を弔うために始まった。この戦いで命を落とした武田勢兵士の鎮魂のために迎え入られた宗円僧侶の下、行われる行事になった。

Linux logrotateのタイミングでapacheが落ちる

どうも/etc/cron.daily時にapacheが落ちていて毎日monitがapacheを
叩き起している風だったので原因を調べた。

httpdのエラーログ

# less /var/log/httpd/error_log.1
[Tue Jul 12 03:16:04 2011] [notice] SIGHUP received.  Attempting to restart

上記のメッセージでググると以下のサイトを発見。

httpdのlogrotateのタイミングでhttpdが落ちてしまう時の対処法

どうもlogroteteが悪いらしい。自分の設定ですが。。

logrotateしたときにapacheの再起動がかかるが、そのときに正常に再起動しない
ことによってweb表示がされないとかなんとか。

上記サイトにのっとって設定を変更。
もともとreloadだったのをrestartにしておいた。
この問題って結構メジャーなんすね。。ググると沢山でる。

その他参考サイト
logrotateしたときにapacheが落ちるエラーについて

第3回 エラーログで障害原因を突き止めろ!

logrotateでログ・ローテーション

※2011/07/13 追記
意図した通りに動きました!

Linux loadaverageをとりあえず記録する。

夜中とかのload averageが見たいと思ったのでちょこっと。

at+linkの専用サーバに仕掛けてあったスクリプトをマネする。

#!/usr/bin/perl
use strict;
use warnings;
system("uptime >> /root/monitoring/uptime.dat");
1;
*/5 * * * * perl /root/monitoring/uptime.pl

とりあえずuptimeコマンドを5分起きに叩いておけば
過去の状況がわかるということらしい。
マネした元は1分毎に実行してたけどいまのところそこまでの
情報が欲しいわけではないのでこんなところで。

uptime.datの出力例

 16:20:01 up 19 days, 17:47,  1 user,  load average: 0.03, 0.01, 0.00
 16:25:02 up 19 days, 17:52,  1 user,  load average: 0.00, 0.00, 0.00
 16:30:01 up 19 days, 17:57,  1 user,  load average: 0.00, 0.00, 0.00
 16:35:01 up 19 days, 18:02,  1 user,  load average: 0.00, 0.00, 0.00
 16:40:01 up 19 days, 18:07,  1 user,  load average: 0.00, 0.00, 0.00
 16:45:01 up 19 days, 18:12,  1 user,  load average: 0.08, 0.03, 0.01
 16:50:01 up 19 days, 18:17,  1 user,  load average: 0.06, 0.02, 0.00
 16:55:01 up 19 days, 18:22,  1 user,  load average: 0.00, 0.00, 0.00
 17:00:01 up 19 days, 18:27,  1 user,  load average: 0.00, 0.00, 0.00
 17:05:01 up 19 days, 18:32,  1 user,  load average: 0.00, 0.00, 0.00
 17:10:01 up 19 days, 18:37,  1 user,  load average: 0.00, 0.00, 0.00
 17:15:01 up 19 days, 18:42,  1 user,  load average: 0.00, 0.00, 0.00
 17:20:01 up 19 days, 18:47,  1 user,  load average: 0.00, 0.00, 0.00
 17:25:01 up 19 days, 18:52,  1 user,  load average: 0.00, 0.00, 0.00

この時間平和すぎる。。

さぁ明日確認しますかね。。
logwatchの出力内容の変更も楽しみ。

エセサーバ管理者なんでもっと専用サーバ中のスクリプト見て真似してみなければ。