Fail2banの設定を時々見直してたり


 マビが実質24時間メンテのような状況になっててblogネタとしてはよろしいですが、まあそれは後日落ち着いた頃にでも。

 Fail2banはここ数ヶ月かなりいい仕事をしてるけど、Logwatchに時々ダバーと漏れる時もあって、その度に調整はしている。むしろこれは調整して使うツールかもしれない。極力手間を掛けない、という方針には反するけど。Snortとかそういうのだと手間要らずになるんかなあ…。まーいいか。Fail2banの設定するのも面白いし。
 普段はLogwatchだけ見ていて、リトライ上限回数以上の攻撃ログを残すホストがあるとFail2banから漏れているので設定を見直すのだが、最近はずっと漏れていなかった。が、昨日漏れていたので、まずログとフィルタを確認。漏れるとは思えない。fail2ban-regexでテストしてもちゃんと問題のホストは引っ掛かる。おかしいなあ、と思ってよくよく考えると、監視時間の設定の問題だった。この攻撃元は15分置きに一回という何だかゆるやかなペースで攻撃…、じゃないな、これ第三者中継のブロックじゃん。ってことはSPAMの再送か。なるほど。まあ弾くように設定を変えよう。
 もうちょっと前にミスしていたのはDovecotとの連動の設定で、dovecot.confのauth_verboseをyesにしないと引っ掛けられないっぽかった。Fail2banのwikiを見ると、Dovecotのバージョンに依存する面もありそうな雰囲気が。まあログの書式だろうから仕方ないといえば仕方ないな。
 過去のbanのログを見ると、全部PostfixかDovecotであった。同一フィルタにしてしまったせいで、第三者中継なのかPOPログインなのか分からんけど。SSHはポート変更するだけで一切来なくなるなあ、現状だと。ポートスキャンまではしないのか。そんなことせんでもいくらでもあるってことなのかなあ。


s3cmd-0.9.9.91がUTF-8なファイル名を食ってくれない


 s3cmdで事務所データのバックアップを掛けているが、スクリプトを改善しようとしてエンバグった。間違えてUTF-8なファイル名のままS3に置こうとしてしまって、s3cmdがエラー発生。
 s3cmdに日本語ファイル名を投げないように変更したのだが、せっかくだからs3cmdのどこでエラーが発生しているのか見てみた。ふむふむ。site-packages/S3/S3Uri.pyの中でos.stat()にUnicode型を投げてるせいでUnicodeEncodeErrorっぽいかなあ。うむ。どーでもいいか(笑)。site-packages/S3はs3cmdの一部っぽいかな。同一作者だし、検索してもs3cmdしかヒットしないし。

 バックアップスクリプトの見直しを終えて、crontabを書き直して、寝て起きてS3の中を見ると、何故かcronでスクリプトが発動していた。crontabには1:45と指示してあり、実際に1:45に旧スクリプトが起動してエラーを吐いていて、1:45付けのメールが届いている。その後、crontabを7:00前後に書き直したのは覚えているが、その時に1:45の指定は変えていない。そしてS3の中には7:01に転送されたファイル群が。これはS3の仕様からして、7:01に転送を開始したことになるだろうから、つまりスクリプトが7:01に発動したものと思われる。んー。cronの仕様がよく分からんな。
 何でこうなったんだろう、と考えていたが、よくよく設計を見直すとそもそもOsukini側でcronを使う必要が無いことに気付いたので、cronを使わないように修正して忘れることに。


Ivy Bridgeを待つことにした


 半年ほど前はSandy Bridgeを待っていた。Ivy Bridgeが2012年Q1予定とか言われても、そんなん待ってたらキリねーしここで行くぜー、と思っていた。具体的にはSandyを夏にでも買おうと思っていた。何しろ、俺PCはVeniceなAthlon64だし、家族PCに至ってはNorthwoodなPen4だ。新しくすると消費電力とかも減るんだろうか。
 が、三次元トライゲートトランジスタの記事とか読んで、Ivy Bridgeも2011年Q4予定と聞いて、もうちょっとだけ待とうと。元々、新アーキより新プロセスの方に購買意欲を感じる方なので。どうもその方がお得な気がして。


APCが復活した


 remiレポジトリから拾っているphp-pecl-apcだが、更新が掛かって正常化した。めでたい。
 経緯はAPC breaks file includes/requires in wordpressにあったけど、同じ問題の起きた人が結構いるらしいのと、全然再現しなくて開発者が悩んだっぽいのと、何やらソース管理でやらかしてたのを直したのかなー、くらいは分かった。ような気がしました。英語よく分かんね。
 で、復活しても体感速度の違いがいまいち分からんなー、と思ったらapc.optimization=0になっていた。そういえば止まった直後に、問題を切り分けようとして変えたんだった。2に戻したら心持ち軽くなったような。気が。


GAEの価格体系がアホのように激変予定らしい


 何やら新しい課金体系が発表されていた。つーか、そろそろ正式サービスに移行するよー、ということらしい。正式じゃないことすら知らなかった(笑)。
 で、新しい課金体系はもう何か、とんでもなく変わるんですが。割と縛りのきついPaaSでこれはあまりにも。もうあれかな、まともにサービス続けられる状態じゃなくてバッサリやるしか無かったとか?
 恐らく、新課金体系が大幅に高く付くことになる人とかもいるわけで、それはつまりその人には大幅値上げに等しい。一方、GAE向けに開発されたコードは使い回しも難しく、これはロックインに近い。これらを合成すると、ロックインされた状態で大幅値上げを食らう、みたいな形になる人が結構いるんじゃないですか、と。
 elasticであることをサービスの微細化の方向に活かすことではGAEが断然面白く思えていたので、そうじゃなくなりそうなのは残念。EC2かよ、みたいな。
 つーか俺も今GAEを余裕の無料枠で使ってるけど、あれらはどうなるんだろ。さすがに無料のまま行けるかなーとは思うけど。一日アクセスなしとか普通なんで(笑)。