2012年4月20日金曜日

mysql5.1でslow_queryを有効にする


バージョンが変わって設定方法も変わったようなのでメモ。

my.cnfの[mysqld]に以下を追加します。

slow_query_log=1
slow_query_log_file=mysql-slow.log
long_query_time=3

追加したらmysqlを再起動します。


slow_query_log=ONでも可って書いてあったのでONで試しましたがOFFのままでした。
なので、slow_query_log=1にしましょう。

2012年4月18日水曜日

DoS対策で使えるiptablesのhitcountは最大値=20だった!

iptablesでDoS対策する方法に、hitcountを使って接続回数を制限するものがあります。
sshだったりhttpだったり、ポート別・IPアドレス別に制限がかかるのです。

sshの場合は60秒間で5回など、hitcountが少なくて良いのですが、
httpの場合は画像のロードなどもあるので、10回より多めにしておきたいところです。

さぁ試してみよう!


--seconds 30 --hitcount 50 に設定して、100回接続してみました。
しかしどうでしょう。全てOKになってしまいました。
数値を小さくすると効果が出ているのですが、数値を変えて試すと20以上は全てOKでした。
どうやらhitcountの最大値は20だったようです。
※ここまで検証で試しました。
※この事は普通に英語サイトで記述されています。orz


じゃ、対応してみようか


hitcountの最大値はデフォルトで20です。
設定ファイルを確認してみましょう。

# cat /sys/module/ipt_recent/parameters/ip_pkt_list_tot 
20



このままでは --hitcount 50 としても全く効きません。
なので、基本的な設定を変更します。


# vi /etc/modprode.conf
以下を追加します。

options ipt_recent ip_pkt_list_tot=50


設定を反映しましょう。

/-- CentOS5の場合 [ここから] --/

# service iptables stop
# rmmod ipt_recent
# modprode ipt_recent

/-- CentOS5の場合 [ここまで] --/


# service iptables restart




設定の反映が完了しました。
設定ファイルを確認してみましょう。

# cat /sys/module/ipt_recent/parameters/ip_pkt_list_tot 
50 <- 変わった!?



この設定が有効かどうかは、50回以上自動アクセスするテストプログラムを稼働させて、パケットがrejectされているか見てみましょう。
今回はmod_evasiveに付いてきたtest.plを書き換えて実行してみました。
便利ですね、このテストプログラム。



【参考URL】
hitcountの最大値について:

ip_pkt_list_totについて:

modprode.confの設定が反映されない時はmodplodeをreloadしてみよう:

2012年4月13日金曜日

EBSのスナップショット

AWSのEC2のサービスに、EBSがあります。
このEBSはスナップショット機能を使ってバックアップしているのですが、管理画面から見るとEBSのサイズで表示されているので、常にフルバックアップをしているものと思っていました。。。

実は、最初に取得したスナップショット以降は、差分を作成しているんだそうです。

仮想サーバーEC2 & EBS詳細 -ほぼ週刊AWSマイスターシリーズ
EBSのスナップショット作成機能の仕組みについて


なので、スナップショットの利用料金も差分の分のみ。
※利用料金をよくよく見たらそうなってました(汗

isStatusCode以外でstatusを確認する方法

symfonyのfunctional testでstatusをチェックする時はisStatusCodeを使います。
けど、今のステータスによって処理を変えたいので、次のものを使ってみます。


$status = $browsser->getResponse()->getStatusCode();



2012年4月5日木曜日

古いCentOSでyumすると404になる

CentOS4が稼働している仮想環境でyumをしようとしたら404・・・・・・orz
古すぎですねすいません。

CentOS4系はサポート終了のため、ミラーサイトから削除されたそうです。
それでも4系を使いたい場合は以下のサイトに替えましょう。




ただし、$releasever だけではディレクトリが見れない時があります。
そんな時は、$releasever.9と、コンマ以降を付け足してください。

そんな事する前に、OSアップグレードしろって話ですが…