mod_securityでspamトラックバック対策

 σ(^^)が管理してるMovableTypeサーバー2台が、ときどきハングアップしたように無反応になることが時々ありまして、topによるとmt-tb.cgiが原因ぽい。つまり、トラックバック処理でリソースが食いつぶされているということですね。

 spamトラックバックのフィルタリング自体はMT内蔵機能でほぼ解決できるんですが、この処理自体が重すぎて、山のようにトラックバックが来た場合にDoS状態になってしまう訳です。

 そこでApacheレベルで特定のリクエストを排除できるmod_securityを導入してみました。1.8/1.9系の設定例はたくさん見つかるんですが、設定文法がまるっと変更された2.x系の情報は見つからず苦労しました。なにも考えずに最新版を導入してしまった…

 とりあえず設定してみたって段階ですが、覚え書きしておきます。

■インストール

 ウチの環境だと、mod_unique_idは導入済みでした。libxml2はlibxml2-develパッケージまで入れておく必要があるみたいです。

 で、後はアーカイブを展開し、Makefile内のtop_dir = 行に、httpd.confのServer rootで指定してあるパスを記入し、make、make installします。

 Apache側の設定として、httpd.confの然るべき場所に、

LoadFile /usr/lib/libxml2.so

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule security2_module modules/mod_security2.so

 を記入します。

■日本語を含まないトラックバックを弾く

 公式サイトには、USER-AGENTやIPアドレスなどのブラックリストを定義した設定ファイルが色々置かれていますが、この手は最新版を入れ続けないと効果が薄そうだし、ルックアップの負荷も大きそうなので、とりあえず日本の皆さんがやられている「日本語(2バイト文字)を含まないものを弾く」というアプローチを採ってみます。

 具体的な設定は、同じくhttpd.confで、

<Files “mt-tb.cgi”>
    SecRuleEngine On
    SecRequestBodyAccess On
    SecDefaultAction deny,log,status:406,phase:2,t:urldecode
    SecRule REQUEST_BODY “^[\x00-\x7F]+$”
    SecAuditEngine On
    SecAuditLog /var/log/httpd/mod_security.log
</Files>

としてみました。Filesディレクティブでトラックバック用スクリプトにだけ働くように指定しています。1.x系から変更になったコマンド名だけを書き換えるだけでは上手くいかず試行錯誤したんですが、どうやらSecDefaultActionにt:urlencodeを追加したら上手くいったっぽいです。

 動作試験しようにも、ウチのブログはブログ名が日本語なので、 一時的に

SecRule ARGS:excerpt “^[\x00-\x7F]+$”

 のように、POSTデータの内、excerpt(トラックバックで送られる概要)のみを検査対象にし、本文に日本語を含むエントリと含まないエントリからトラックバックしてみたところ、一応後者のみが弾かれました。

 これでしばらく様子を見てみたいと思います。

 が、しかし本ブログに関してはそもそもトラックバックが正しく受信できない問題が発覚しました。別途原因究明しないと…

 ともあれ、このmod_securityはかなり柔軟にレシピが書けるので、Webアプリケーションのセキュリティ対策に色々と活用できそうです。

イバラード時間、サクサク動きすぎ

 ハイビジョン感を満喫できるBDソフトないかなぁ、と思っていて目に付いたので買ってみました。

 井上直久氏のイラストの一部をCGアニメーションで動かしつつ、まったり音楽をつけました的な作品。

 実際大型テレビやプロジェクタで大写しにすると、まるで絵画を飾っているようで綺麗です。ただ逆にそういう視点で観るとちょっと動きすぎかな。特にパン、チルト、ズームしすぎ。フレーミングがかわるとどうしても絵画っぽく感じられなくなってしまう。動きが速いのも理由の一端かも知れません。一見1枚の絵画なのに、よくみると動いてる、くらいの感じなら、延々とBGVで流しておきたいかも、って気が強まる気がします。

 おそらくただのスライドショーに毛が生えたようなものじゃ商品性が薄いと考えたんでしょうが、個人的にはむしろ「スライドショーに毛が生えたようなもの」の方が良かったなぁ、と。細部がチョロチョロ変化するのは良いと思います。水が波打ってたり、街灯が明滅したり。

 あと、EDクレジットとか抜きでリピート再生する位のオーサリングは欲しかったです。

私本管理 + Amazon + バーコードリーダーで蔵書管理

■ガジェット好きの憧れ(?)、バーコードリーダー

 突然ですが右のバーコードリーダーを買いました。

 USBやPS/2接続のこの手のバーコードリーダーはPCからみるとキーボードとして認識されるようにできていて、バーコードに記載されている文字列をあたかもキーボードでタイプしたかのように送信してくれます。なので、ソフト側は特にバーコードに対応していないExcelだろうがメモ帳だろうが簡単に連携できてしまうワケです。考えた人エラいですね。

 で、ネットで見てもっとも安かったのが右の製品です。USBタイプで、ドライバーのインストールも無しで普通にHIDキーボードとして認識されました(XP)。

 写真では見えないですが握り部分のお腹側にトリガボタンがついていて、デフォルトではバーコードに当てながらこのボタンを押すとスキャンされます。それ以外に触れるようなところもないし、こういうもんだろうと思ってたんですが、実はマニュアルに設定変更用のバーコードがたくさん記載されていて、結構パラメーターをいじることができました。たとえばボタンを1度押してからもう一度押すまでの間、捉えたバーコードをひたすら読み込む連続スキャンモードにも変更できました。こっちの方が楽ですね(でもたまに何にもないところに置いただけでピっと反応したりw)。あとスキャン成功時のフィードバックも最初は「ピーーっ」っとやや長くてウザかったんですが、この長さなども変更して短音にすることができました。

2009.03.27追記:この記事は注目度が高いようなので、改めてこちらの記事に写真を追加しました。

 バーコードリーダーなんだからバーコードで設定しよう、というアイデアは知れば納得。昔レシピのバーコードで設定ができる電子レンジがあったなぁ、と思い出しました。

2009.03.27追記:ちなみにこの設定バーコード冊子はもし無くしても公式サイトでダウンロードできるので安心です。TSK-Uの場合は、「バーコードリーダー日本語マニュアルver.2」ってのでOKです(追記日現在)。

 ちなみに写真の色はよくある色温度の設定ミスかと思いきや、本当にこんな青白い色してます。普通にレジなんかでみかけるベージュ系の方が良かったなぁ。いっそ黒とか。

 まぁ、なにより値段が安く、普通に使えるので満足しています。

■ISBNで蔵書管理

 で、なんで突然バーコードリーダーなんて買ったかというと、窓の杜私本管理Plusという蔵書管理データベースを見つけたからなんです。

 ウチもいい加減本がたまりすぎており収集がついてません。特に続き物のマンガは前半は実家に行ってたり、新刊は友達に貸してたりとバラバラ。また大抵はこっちから遊びに行くついでに持ってくということが多いので、どの作品は誰に何巻まで貸したか、というのも覚えきれなくなってまして、なんか上手く管理したいなぁとは思っていました。

 で、蔵書管理はやったことある人はわかると思うんですが、まず最初に既存の本をガァーっと入力するのが壁です。タイトル、著者名などの情報をキーボードで打っていたら30冊くらいで飽き飽きしてきますね(^^;)。

 この私本管理PlusではAmazonとのマッシュアップでその苦労を軽減してくれます。その際バーコードリーダーがあると更に便利なのです。

 もちろん普通にタイトルなどのキーワードで検索しても引っ張って来てくれますが、検索でヒットしたものの情報を全部もってきてから取捨する方式なので、ひどく時間がかかります。ご存じの通りAmazonは登録数がハンパないので、曖昧なキーワードだと余分なものも数多くヒットし、その分の読み込み時間もかかってしまうのです。

 一方で本ソフトはISBN(国際標準図書番号)を使ってAmazonから情報を引っ張ってくることもできます。しかもテキスト欄に1行1ISBNで羅列しておいたものを、バッチで引いてくることができます。上記のリーダーはバーコード読み取り時に改行コードも含めてくれるので、このテキスト欄にフォーカスを置いて、ひたすらバーコードをスキャンして、最後に「検索」ボタンを押せば、何十冊もの書籍データを一括で登録できてしまうワケです。

(ちなみにISBNは現在多くの本は2段のバーコードが記載されていますが、そのうちの上段がISBN相当分なので、上だけスキャンすればOK)。

 その他、全体的にみると、ややとっつきにくいUIですが、項目名などのカスタマイズも自由度が高いですし、ローカルデータベースの中の検索にもISBNが使えるので、10冊まとめて貸し出す、とか1巻?30巻は実家に移動する、とかいう時にもバーコードでスキャンして、保存場所を一括で変更、という感じで使えます。

 データもインストールフォルダ内に完結しているっぽいので、ファイルサーバー上に置いて共有もやりやすいでしょう(ただしソフト自体は特に排他制御とかはしてなさそう)。

 あと表紙データもAmazonからもってきてくれるので、iTunesでアルバムアートを表示させた時のような嬉しさがありますね(単純に確認にも便利)。

バイオUXとバーコードリーダー

 プラグインを落としてくれば、DVDやCDなどもAmazonからデータを持ってくられるようです。 また、CGIでWebインターフェイスとも連動できるようです。出先からケータイで「あれ何巻までもってたっけ?」なんて時に便利そうですね。

 ソフトは上記のWeb公開を見越してデスクトップ機に入れましたが、登録時は写真のようにVAIO UXにつないで家中の本をスキャンしてまわりました。  VAIO上では普通にメモ帳でISBNを取り貯めて、あとでまとめてデスクトップ機でソフト上にコピペすればOKです。こういう使い方ができるのも強みですね。

■いっそ自作したい気も

 PEAR辺りのライブラリでAmazonマッシュアップ用のツールがあれば、PHPベースで自分で作ってみるのも面白いかも知れませんね。私本管理でもWeb公開できますが、Linuxマシンだけで完結できるならウチ的にはその方が便利ですし。

 でもまぁ、当分はこの環境が活躍してくれそうです。

同日追記:

 つーか、すでにないかなぁと思って物色中、MacOSX用ではこんなのを見つけました。>Delicious Library

 デザインが秀逸なのもさることながら、iSight(内蔵カメラ)でバーコードを読み取れるってのもスゴい。最近のMacBookとかなら追加ハード無しで使えちゃうんですもんね。やるなぁ。

「うたわれるもの」BD-Boxが年末に出るらしい

 2ch経由、ファミ通記事より。

 「うたわれるもの」BD-Boxが年末に出るらしいすよ。来ました、コレ。ちょうど最近うたわれるものらじおを聞いていて、やっぱDVD-Box買った方がいいかなぁ、でも\18,000×4箱だからなぁ、とか思ってたところです(アブネー)。特典映像とかもちゃんとついてるといいな。ついでにうたわれるものらじお全52回もLineaPCMで収録してくんないかなw。

 てか、2chにもあったけど、オリジナルHDマスターのTVアニメとしては初のBD化じゃないですかね?騎馬戦のシーンとかCGで細かく作ってる作品なのでHiVisionで見る価値は大いにありですね。tvkは額縁放送だったし(つД`)。つーか、これはもうAir以上に期待です。年末が待ち遠しいですね。

 SuaraのライブBDも出るらしく、Aquqplus関係はBD積極的で(゜∀゜)イイ!。

VGF-WA1、2台目ゲト

VFG-WA1 White
仕事部屋。後ろはこないだ買ったプラント

VDF-WA1 Black 
寝室。ベッドの棚にスッポリ入ってGood

■VGF-WA1買い増し

 Wi-Fiオーディオ、VGF-WA1ですが、やはりいい感じなので、仕事部屋のiPod Hi-Fiも売っ払って買い換えることにしました。

 結局、iPod Hi-FiもiPodドックとしては使っておらず、AirMac ExpressのAirTunes機能を光入力にして使っているだけ。リビングのiTunesマシンにリモートデスクトップ接続で入ってiTunesを操作したりと面倒だったので。

 今度は色も変えて2色揃えてみたり。iPod Hi-Fiよりも一回り小さいのも良いですね。寝室の方もベッドの枕元の棚の裏板に電源ケーブル用の穴をあけて、スッポリ収めることができました。

■ややトラブルも

 寝室で使っていて問題も出ています。「この曲は再生できません」エラーで止まってしまうことが多いのです。同じアルバムで同時にリップしたはずのAACでもある曲はOKだったり他はNGだったり。プレイリストで流していて1曲ダメになると後も全部ダメ、ということが多いので、プリリスト内にタブー文字とか混ざってるのかなとか色々試行錯誤したんですが、どうも受信状態の問題っぽいです。部屋を移動させると、エラーになってた曲もスンナリ再生できたり。ただしアクセスポイントを寝室に移動してもダメで、その状態で本体をリビングにもってくとOKだったり。とりあえず、WA1側の無線LANの省電力設定をオフにしてしばらく使ってみようと思います。

 だとするとエラーメッセージが不親切(不適切)過ぎですね。またエラーのダイアログが出たままで再生が止まってしまのもどうかと。スキップして次の曲に移っていってくれればいいのに。寝入りばなに何度「あれ?」と身を起こしたことか…

 またこのエラーが出てしまうと本体でENTERキーを押さなければ抜けられず、リモコンの操作は一切受け付けなくなるのも改善してほしいものです。

2007.07.13追記

 「再生できません」エラーですが、電波状況の問題ではなく、TVersityのトランスコード周りの問題だったようです。トランスコード設定を「必要な時」から「常時」に変更したところ安定しました。ちなみにオフにするとWMAは全く再生できなくなったので、WMAもトラコン必要みたいです。「常時」だとMP3の時でもトランスコードして送ってるってことですかねぇ。というか何にトランスコードしてるかも問題。LPCMにデコードしてるだけならあんまり悔しくないですが、WMAまで常時MP3にトラコンしてたらなんか悔しい。

 まぁ、σ(^^)の耳では音質の変化は感じられないからいいんですが…