とにかく呆れるほど遅せええええええええ!メモリ128MB-統合グラフィックのWindowsXPは拷問と言えよう。てなわけでチューニング。 Windowsの動作を軽快にしたい、 圧縮フォルダを使わない、 ショートカット追跡OFF、 さらにリモートデスクトップ禁止にした。
これでPF使用量92.4MB。しかしMS-IEを1枚開くとスワップするなあ・・・。144pin SO-DIMM 256MB PC133ってヨドだと1万円近くて買う気しない。
キーボードの全角/半角キーが死んでるの忘れてた。InterlinkXPは分解するときに、まずキーボードを外さなきゃならないんだが、クマ三郎の皮脂やら食べかすやらがネッチョリ詰まってて、強引にあけた時壊れたのである・・・・
キー配列変更するかな。
以前にも書いたけど、mod-security1と2では文法自体がかなり異なる。 詳細なドキュメントはあるのだが 正直膨大すぎて読むのが大変だ。
SPAM抑止には標準のルールセットに頼るという手もあるようだが、会員登録が必要らしく、最新のものは素ではダウンロードできなくなっている(ように見える)。
この文章は、よりピンポイントに「今荒らされている掲示板を救いたい!」という人のためのメモである。
例えば ともりん先生の掲示板。 一時期はバイアグラ.comだの何だので 荒れ放題 であった。 むろん掲示板をバージョンアップしたりすれば良いのだが、 他人の書いたCGIのコードを読んで穴塞ぎするのも面倒臭すぎる。 派手なSPAMは大抵海外からのものなので、良くある手法として「1バイト文字のみのタイトルを弾く」というルールが考えられる。
YY-BOARDのHTMLを見るとタイトル名の欄は変数名subで受け取る仕様。
<input type=text name=sub size=36 value="" class=f>
なので、ルールの記述は以下のようになる。正規表現で^と$は最初から最後までという意味、\\000-\\177は8進数で7bitキャラ範囲全てという意味になる(16進数なら0x00〜0x7Fということ)。
SecRule ARGS:sub "^[\\000-\\177]+$"
しかし・・・ これではうまくいかなかった。 security2のデフォルトはURLデコード前の符号化文字列を比較するようになっていた。世の中大半のmod-security1向けのページは、デコード後の比較を書いているので動かない。
mod-security2では t:urlDecode を追加しなければならないようだ。
SecDefaultAction deny,log,status:406,phase:2,t:urlDecode
余談だがリファレンスマニュアルのTransformation functionsの項は余さず読んでおいたほうがいいかも。compressWhitespaceがデフォルトで、タブやコントロールコードも全てスペースに置換されてるとか知らなかった・・・
Debian etchの場合は ここらへんからパッケージを落としておくこと。 標準のリポジトリからはインストールできなかった。
mod-security2.loadは作成されるが設定ファイルは一切作成されないので、/etc/mods-enable/mod-security2.confをvi等で作成。
<IfModule mod_security2.c> <Directory "/home/*/public_html"> SecRuleEngine On SecRequestBodyAccess On SecResponseBodyAccess Off SecUploadKeepFiles Off SecDebugLog /var/log/apache2/modsec_debug.log SecDebugLogLevel 0 SecAuditEngine RelevantOnly SecAuditLogRelevantStatus ^5 SecAuditLogParts ABIFHZ SecAuditLogType Serial SecAuditLog /var/log/apache2/modsec_audit.log SecRequestBodyLimit 4096000 SecRequestBodyInMemoryLimit 4096000 SecResponseBodyLimit 4096000 SecDefaultAction deny,log,status:406,phase:2,t:urlDecode SecRule ARGS:blog_name "^[\\000-\\177]+$" SecRule ARGS:sub "^[\\000-\\177]+$" SecRule ARGS:CommentName "^[\\000-\\177]+$" SecRule ARGS:CommentMsg "^[\\000-\\177]+$" </Directory> </IfModule>
ぱぱサーバは上記のようになっています。「えっ?これだけかよ?」と思うでしょうが・・・いや突破しようと思えば簡単に突破できるんでしょうけど、そもそも日本語読めない連中を相手にするのが嫌なだけなので、これでいいのです。
「一億玉砕」「進め一億火の玉だ」も思考停止なんだけど、 「戦争は悪いことだからやめましょう」「核兵器は危ないので廃絶しましょう」「両手をあげて降参すれば許してくれます」も 付ける薬がないくらいの思考停止 だと思うんだけどどうよ。
触れるのが嫌だから蓋(思考停止)しちゃうのが日本人の悪い癖だわな。戦争を「しない」ためには軍備がいる。世界がこんなんなんだから理想だけ呪文のように唱えても広島で座り込みしても絶対世界は変わらない。
俺的には、日本の核武装は不可避な選択のように思える。もしくは日本が日本でなくなるか、どっちか選ぶ時がきっとくるな。
でも、あれだね。戦時中に死んでった若者と同じように、そういう教育されたから、それを呪文のように唱えながら戦わずに死んでいくんだろうな、俺らは。