X



トップページ開発室
165コメント55KB
リロードバーボンver2を作るよ
0001ピロリ(WiMAX)
垢版 |
NGNG
【サーバ】2011夏モデルを作ろうpart2 さてチューニング始める?
http://toro.2ch.net/test/read.cgi/sakhalin/1325755785/

この辺で出ていたリロードバーボンver2を作ろうのスレッドじゃ
現在のよりも、「軽い・メモリ食わない・鋭敏」なのを作りたいぞ
0002 ◆Rock54hC3G0C (西日本)
垢版 |
NGNG?PLT(23506)
apacheのログにパイプでいぃんじゃないかなぁ。。。と。
高負荷の時云々って話があったけれども、パイプ先でメインの処理をするから重たくなるのであって、
パイプ先で抜き取りだけして、メインのお仕事は専門家に任せるってのはどうなのかしら。
0003名無しさん@お腹いっぱい。(もんじゃ)
垢版 |
NGNG
物理性能的な目標はわかった。
論理性能的な目標は何?
1 どういうものがdenyされればいいのか
2 あるいはどういう現象が解消されればいいのか
3 あるいは今までのバーボンとおなじ物を新しい仕組みで実現するだけなのか
0005名無しさん@お腹いっぱい。(もんじゃ)
垢版 |
NGNG
なるほど。
論理性能的な目標はわりとどうでもよくて
今までのバーボンだと1000を遥かに越えてからバーボン入りしてるようなケースを
出だしでさっさとdenyしちゃおうって話ね。
0006ピロリ(WiMAX)
垢版 |
NGNG
現在のSambaがいまいち時代遅れで激しい爆撃には全く効果なしってのもある
Sambaもre-disとか使って新しい方法にするという手もあるしやりたい
0007名無しさん@お腹いっぱい。(もんじゃ)
垢版 |
NGNG
現状だと
n秒間隔でチェック
チェック時にm回以上アクセスしてたらdenyってやってたんだべ?
nを小さくする(たとえば1/10)。
mを小さくする(たとえば1/100)。
ってやればOK?
0009ピロリ(WiMAX)
垢版 |
NGNG
現在検出は10分間隔なのよね
それを秒のオーダーの物を作りたいのよ
というか作る必要があるみたいです
0010名無しさん@お腹いっぱい。(もんじゃ)
垢版 |
NGNG
なぜ激しい爆撃にに対応できないのか?
というのがわからん。
なぜわからんかというと、どういう仕組なのか知らないからなんだが。
すでに腹案の仕組みがあるならゲロすれ。
0012名無しさん@お腹いっぱい。(もんじゃ)
垢版 |
NGNG
例えば・・・・例えばだよ?
毎秒、ログを持ってくる。
とにかく数え始める
どれか1つでも3個を超えたらdenyして処理を終わる。
ってやるだけでいんじゃね?
全ログ処理する必要ないし、一回の処理で全部denyできなくても
次の一秒があるじゃん的な。
0013ピロリ(WiMAX)
垢版 |
NGNG
>>1 のスレのあちこちに書いてあるー

apache > logbuffer の現在の仕組みを
apache | bbon > logbuffer にするのだ
bbon というパイプを書いて常駐させリアルタイムにメモリー上でmやらnを解析して
.htaccessを書き換えて即denyってな感じ
0014名無しさん@お腹いっぱい。(たこやき)
垢版 |
NGNG
ttp://httpd.apache.org/docs/2.2/programs/rotatelogs.html
こゆのて重いの?
0016ピロリ(WiMAX)
垢版 |
NGNG
ログを解析するという現在の仕組みをやめようって話さ
書き出されたログを解析するのは遅いし重いし
0018ピロリ(WiMAX)
垢版 |
NGNG
そだね、
0021名無しさん@お腹いっぱい。(しまむら)
垢版 |
NGNG
1. 過剰な投稿やリロードを検出する仕組み
 Apacheのログソースでいいのか?
 pfのoverloadとか使えない? FreeBSDに詳しい人どうすかね?

2. deny/接続拒否する仕組み
 .htaccessでいいのか?
 sunosさんのmod_authz_iplistを活用できないか?

※ 1.と2.をまとめてApacheのDoS対策モジュールで面倒見られないか?

3. お断りリストの管理
 対象を速やかに加え、指定した期間を過ぎたらリストから消す仕組みが必要
 redisなどのKVS(Key-Value Store)を活用できそうな気がする


過剰なHTTPアクセスまたはTCPコネクション要求を検出(1.)
対象のIPアドレスを.htaccessのdenyリストなりmod_authz_iplistのブラックリストに追加(2.)
同時にIPアドレスとお断り期間をKVSに登録。cronなどで定期的にKVSからデータを引っ張って上記お断りリストを更新(3.)
0023ピロリ(WiMAX)
垢版 |
NGNG
一歩一歩いきますかー
はじめての httpd.conf
httpd.conf にapacheがlogbuffer経由でログ書き出せの命令が書いてあるはずー
というとで httpd.conf を見ようと思う。
しかし httpd.conf はrootじゃなきゃ見れない設定になっている @awabi
Nttecにお願いして私でも見えるところにコピーしてもらった。

みてきまーす
0024ピロリ(WiMAX)
垢版 |
NGNG
.conf をテキスト形式に設定してローカルに落としてメモ帳でみた。

こう書いてある
##################################################
### Log
##################################################
BufferedLogs On
ListenBackLog 4096

LogLevel warn
ErrorLog /dev/null

#TransferLog "/dev/null"
#TransferLog "| exec /usr/local/sbin/logbuffer"
TransferLog "| exec /usr/sbin/rtprio 23 /usr/local/sbin/logbuffer"

LogFormat "/var/httpd/access_log %h %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
0025ピロリ(WiMAX)
垢版 |
NGNG
TransferLog "| exec /usr/sbin/rtprio 23 /usr/local/sbin/logbuffer"
これを
TransferLog "| bbon2 | exec /usr/sbin/rtprio 23 /usr/local/sbin/logbuffer"
ってすればいいんだっけ?

問題は、開発中はbbon2を頻繁にmakeすることなんだ
つまり makeしたあとどうなるのか・・・
makeした新しいbbon2がどうすればすぐに置き換わるのか・・
どうすればいいの?
レスを投稿する


ニューススポーツなんでも実況