年: 2005年

オンライン取引を安全に実行する方法

先日のPHP関西セミナーで、管理者権限で動作しているスパイウェアなどがインストールされたPC上で、Web上のログインやフォーム送信の安全性を保障する方法は(説明した方法では)無いと言いましたがこれは変わりがありません。時間があまり無かったので補足しておいた方が良いと思える点を補足します。

まずパスワードですが、パスワードが盗まれても大丈夫な仕組みは昔からあります。ワンタイムパスワードと呼ばれる方法です。ログインするコンピュータでパスワード生成プログラムを実行するとパスワードの安全性が損なわれる為、通常液晶が埋め込まれたカード型のパスワード生成機等のデバイスを使います。ワンタイムパスワードを利用している場合パスワードが盗まれる事はありません。他のコンピュータからログインされてアカウントを不正に利用される危険性はほとんど無くなります。

ワンタイムパスワードを使えば安全か考えるとまだ安全とは言えません。正規のユーザがコンピュータを利用中にスパイウェア等がデータを書き換えてしまう危険性が排除されている事をWebサイト側では保障できません。現実的な脅威かは別として、例えば銀行のフォーム送信等でデジタル署名などを行っても安全性を保障する事はできません。管理者権限で動作しているスパイウェアがインストールされているコンピュータだけでトランザクションを行うと、スパイウェアが任意の時点でデータのすり替えを行い、本来送信しようとしている送信先とは別の送信先にお金を送信する、等の危険性はなくなりません。そもそも署名に必要な秘密鍵がコンピュータにインストールされている場合、スパイウェアは秘密鍵を盗む事が可能です。USBデバイス等で秘密鍵が絶対に読み取られないようなデバイスの場合、秘密鍵が盗まれる事はないかもしれませんが、液晶などの表示機能が無いと署名した取引情報が意図しているものかユーザは判別できません。

信頼できないデバイス、スパイウェアがインストールされたPC等、だけを使用して信頼できるオンライン取引を行う事は技術的には不可能なはずです、安全に使えない、と言うのでは困るのでより安全に取引を行う方法を考えて見ます。安全に取引を行うにはトランザクションを行うデバイス、通信が信用できる必要があります。今の環境であれば、携帯電話に取引情報を送信して、携帯電話上で取引情報を表示・確認してから直接送信するか、署名してからPCで送信する方法が考えられます。携帯電話は信頼できる、と言う前提が必要です。別に携帯電話でなくても信頼できるデバイスで取引情報を確認し、取引情報改ざんを防ぐ署名ができる仕組みであれば何でも良いです。USBで接続された表示機能付き署名デバイス等でもOKです。ワンタイムパスワードの仕組みを知っている方なら思い浮かぶアイデアと思います。

スパイウェアがオンライン取引の最中に取引データを改ざんし、表示された取引情報とは別の取引を行うリスクには対処できませんが、別のPCからの不正な取引を十分なほど防ぐには暗号表を使うのが良いと思います。セミナーでは暗号表は繰り返し暗号表を利用した取引を見ることによって解読できるので安全ではないと言いました。確かに暗号表の解読は、暗号表が固定的であれば、難しくありません。「固定的であれば」と条件が付くので「動的であれば」安全になります。ここでも信頼できるデバイスが必要になりますが、携帯電話メールが信頼できるとすると取引の度に新しい暗号表を携帯電話にメールで送信すればかなり安全といえます。頻繁に携帯電話に暗号表を送信する方法は現実的かつ実用的と思います。既に何処かで利用されているかな?

PHP関西セミナーの資料

9月3日にPHP関西のセミナー講師をさせていただきました。プレゼンテーションファイル作成の時間が足りなかった為、予定していたより内容が薄い資料になってしまいました。話を聞いて頂いた方以外にはよく分からないかも知れませんが、最近のオープンソースのPHPアプリケーション脆弱性レポートからどのように脆弱性が作られたか考察しました。

セミナーを聞いて頂いた方向けに、その時のプレゼンファイル(PowerPoint形式)を公開します。

pgbenchのpthread版

(やはりバグを発見したので修正)

JPUG広報Blogに「pgbenchのpthread版が欲しい」と書いていましたが、先週末にPHP関西のセミナー講師を引き受けていたのでその移動時間中にテキトーに作ってみました。テキトーに作ったので勘違いしてバグを入れていました。今度はたぶん正しい結果になっていると思います。

サーバ環境
Athlon64 3200/3GB Memory/SATA2 HDD/Momonga Linux x86_64
PostgreSQL 8.0.3(64bit)(全てのSQL文をホスト/ポート付きで記録。他はほぼデフォルト。)

クライアント環境
AthlonXP 2500+/2GB Memory

pthread版pgbench

[yohgaki@dev pgbench]$ time ./pgbench -v -h 192.168.100.204 -U yohgaki -c 10 -t 100
starting vacuum…end.
starting full vacuum…end.
Warming up 15 seconds…
Start benchmarking…
End benchmarking….. (4.96586 seconds)
transaction type: TPC-B (sort of)
scaling factor: 10
number of clients: 10
number of transactions per client: 100
total number of transactions processed: 1000
tps = 235.404176 (excluding connections establishing)

real 0m25.739s
user 0m0.214s
sys 0m0.313s
[yohgaki@dev pgbench]$

こんな感じです。

何だか遅くなってしまたのでコードをもう少し効率化してみました。
今度はオリジナル版よりは速くなりました。

pthread版pgbench

[yohgaki@dev pgbench]$ time ./pgbench -v -h 192.168.100.204 -U yohgaki -c 50 -t 10
starting vacuum…end.
starting full vacuum…end.
Warming up 0 seconds…
Start benchmarking…
End benchmarking….. (1.16363 seconds)
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 50
number of transactions per client: 10
total number of transactions processed: 500
tps = 429.689481 (excluding connections establishing)

real 0m2.655s
user 0m0.047s
sys 0m0.088s

オリジナル版

[yohgaki@dev pgbench]$ time pgbench -v -h 192.168.100.204 -U yohgaki -c 50 -t 10
starting vacuum…end.
starting full vacuum…end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 50
number of transactions per client: 10
number of transactions actually processed: 500/500
tps = 337.674248 (including connections establishing)
tps = 379.093451 (excluding connections establishing)

real 0m1.615s
user 0m0.043s
sys 0m0.210s

と、多少スレッド版の方が速いです。今度は繰り返し実行してみてもスレッド版の方が速い傾向は変わりませんでした(汗

ベンチマークを開始する前にウォーミングアップの時間を設定したかった事、クエリ実行間隔をランダムに設定したかった事もpthread版が欲しかった他の理由でした。そこで

-w ウォームアップ時間(秒)
-r ランダム遅延(マイクロ秒)

も設定できるようにしました。よくあることですがサーバに負荷をかけた直後は良い性能がでるためウォームアップ時間は設定できた方が便利です。

ウォームアップ時間を5秒に設定した場合

[yohgaki@dev pgbench]$ time ./pgbench -v -h 192.168.100.204 -U yohgaki -c 50 -t 10 -w 5
starting vacuum…end.
starting full vacuum…end.
Warming up 5 seconds…
Start benchmarking…
End benchmarking….. (1.48874 seconds)
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 50
number of transactions per client: 10
total number of transactions processed: 500
tps = 335.854481 (excluding connections establishing)

real 0m6.671s
user 0m0.124s
sys 0m0.260s

とこの様な感じです。オリジナル版にウォームアップ時間オプションを追加して欲しいな、と書いておいたら石井さんが追加してくれるはず :)

ソースは
http://www.ohgaki.net/wiki/index.php?PostgreSQL%2Fppgbench
からダウンロードできます。変更するかもしれないので日付を入れておきました。日付が入っていないソースは古いソースです。もし古いソースをお持ちの場合、新しいソースを使ってください。古い物にはバグがあります。

グラフィックテキストも安全ではない

昨日に引き続き「絶対安全」と誤解されているかもしれないセキュリティ対策の話です。

CSRF(クロスサイトリクエストフォージェリ)対策、アカウント作成ボット対策としてグラフィック上に書かれたテキストを読み取らせるサイトが多くあります。普通のOCRで読み取れるような簡単なグラフィックテキストでもコメントスパムなどのボット対策としては(今のところ)十分有効ですが、認証用のグラフィックテキストを生成するプログラムにはCAPTCHAが有名です。

単純なグラフィックテキストだとOCRで機械的に読み取られてしまう事は明白です。昨日、IRCで話をしていてOCR技術はかなり向上してきており単純な物は100%認識できてしまうようなってしまっている事を知りました。この分野はあまり気にかけていなかったので昨日PWNTHAと言うCAPTCHAなどで作成されたグラフィックテキストを読み取るツールを知りました。リンク先を見ると分かりますが、今では結構OCRで読み取りが難しいと思われるようなグラフィックでもかなりの高確率で読み取れるようです。

仕掛けは多少大掛かりになりますが、グラフィックテキスト情報を人間に読ませる攻撃方法も考案されています。例えば、こんな感じです。

前準備:音楽、映画、アダルトコンテンツなど多くのネットユーザが参照したくなるWebサイト(以下、「解読サイト」)を用意する。

1. プログラムで攻撃対象のWebサイトのグラフィックテキスト付きページを開きページを保存する。
2. グラフィックテキストを解読サイトのコンテンツダウンロードの認証キーとしてユーザに解読させる。
3. ユーザが解読してくれたテキストを攻撃対象のWebサイトの認証キーとして利用する。

このような手法を用いられた場合、グラフィック上に記述されたテキストや写真情報を使った防御策も完全とは言えません。

セキュアキーボードは安全ではない

SSLが流行しはじめた頃、「このサイトはSSLを使っているので安全です」とうたっていたサイト多く見かけました。これが大嘘であった事は周知の事実となっていると思います。

最近セキュリティ対策として「セキュアキーボード」と呼ばれている「ソフトウェアキーボード」が流行しつつあります。特に金融機関を中心に急速に浸透してきています。ソフトウェアキーボードとはWeb画面上に口座番号・暗証番号などを入力するボタンを表示してID情報を入力する仕組みです。残念ながら「セキュアキーボードを使っているので安全です」とうたっているサイトも大嘘をついている事になります。

セキュリティ関連MLではどのようにセキュアキーボード(ソフトウェアキーボード)を破るか話題になっていました。この対策は簡単に敗れる事が知られています。スクリーンラッパーという名称になる(?)ようですが、クリックした瞬間の画面イメージを攻撃者に送信する、という単純な手口でセキュアキーボードは破られてしまいます。すこし考えれば直ぐに破り方くらい分かると思うのですが何故か「セキュアキーボード」(安全なキーボード)と言う名称が付いているサイトが多くあります。

スクリーンラッパー付きのスパイウェアがいつ頃出回り始めるかな、と思っていたらもう出回っているようです。セキュアキーボードは”古い”キーロガーだけを使うスパイウェアには有効ですが、新しいスパイウェアには無力です。「セキュア」キーボードという名称は利用者に「安全である」と錯覚させる呼び名と思います。直ぐにセキュアキーボードや安全と思わせるような名称は使わないようにした方が良いと思います。

やはり基本に忠実にスパイウェアをインストールされないようにするしか本当に有効な方法は無いです。しかし、クライアントにスパイウェアをインストールされていない事をWebサイト側から確認することは不可能です。サービスを提供しているサイトは非常に悩ましいですね。

追記:ちなみにスパイウェアを植えつけるWebサイトと認知されているサイトは900ちょっとだそうです。私が見た統計情報にはjpドメインのサーバはありませんでしたが、用心は必要でしょう。

ちくせい(竹清)でうどん

ちくせいが有名、という事は知っていたのですが土曜日が休みなので今まで食べた事がありませんでした。kazさんが高松にいらしていたのでちくせいだけご一緒しました。こののてんぷらはうわさどおり上手に揚がっていました。moriqさんとも久しぶりに会いました。その後、全日空ホテルでお茶しました。楽しかったですが娘が走り回ってご迷惑を….
# moriqさん、時間が長くてすみません

今日はこれから蒜山に行ってきます。娘が馬に乗るを楽しみしていて、さっき起きたのですが「行くよー!」と大声で言っています。さすがに今すぐは出れません(汗

FedoraCoreのメイン開発プラットフォームはx86_64?

PentiumDを購入したのですがMomongaのカーネルでは945/955チップセットのSATAデバイスは現状のカーネルでは認識しませんでした。少し前のブログにパッチを当てたらとりあえず認識したと書きましたが、素直に最新のカーネル使ってみようとFedoraCore develのカーネルをCVSから拾ってきました。

x86_64でビルドしたところ問題なくビルド&動作しました。やはり基本には忠実でないと…
i686でビルドしたところ簡単なシンタックスエラーでビルドに失敗しました。FedoraCoreの開発者のほとんどはi386からx86_64に移行しているのかも知れませんね。

DJB先生の標準PCもAthlon64ですが、

The 2005.05.14 standard workstation costs $552. Notes on the price:

http://cr.yp.to/hardware/advice.html

とたったの$552です。香川ではECCメモリは店頭で売っていないですし、通販で買っても結構高い(前回買った時はDDR2-533 1GBが24,000円ちょっとが最安値)での普通のメモリを買えばこれくらいで作れそうです。私も最近Athlon64のPCをMomongaビルド用のPCとして作りました。Athlon64 3200、nVidia gForce FX5200、メモリ3GB、250GB+400GB HDDという感じで作ったので$552とは行きませんでしたが、むかーしDynabook386SX用に買った60MB(60GBではありません)HDDと同じ程度の値段で作れました。

しかしスーパーマルチドライブ安くなりましたね。バルクなら5000円切ってました。

セキュリティ専門家のほうが問題な時もある

Oracleのセキュリティ責任者の記事です。最近Oracleは2年以上も深刻なセキュリティホールを放置していた疑惑をもたれています。それに対する広報活動の一環だと思われます。Oracle程になると恐喝的なセキュリティ問題の報告も多いようようですね。非常に短い時間での対応を求めるのは問題と思いますが、2年は長すぎると思います。この問題を提起したセキュリティ専門家は評判が良い方だったらしいです。どちらにしても、パプリシティを利用したこの記事、Oracleとしてなかなか良い対応だったと思います。

38.4度

大阪の豊中では38.4度を記録したそうです。暑すぎる…

香川では水不足でお盆明けには本気で少なくとも夜間断水しそうな雰囲気です。先月に早明浦ダムを見に行ってきたのですが40%ほどの貯水率で香川では取水制限をしているにも関わらずかなりの量の水を放出しているようでした。渇水のため他の支流から流入はほとんど無いような状態でしたが吉野川には十分な水が流れていました。徳島県分の灌漑用水として水利権は香川の10倍ほどあったと思います。この既得権益分が十分な水量があった理由のように思えます。本当にダムの水がなくなったら困るのは香川だけでなく徳島の方も困ると思します。それにもかかわらず徳島県知事は「既得水利権の削減には県議会の承認が必要」と国土交通省の要請に応じなかったと新聞は伝えていました。地方自治エゴの一例ではないかと思いました。

地方自治のエゴと言えば「課税自主権」はエゴだと思います。地方自治体が勝手に税金を徴収できる課税自主権を改正憲法に入れようとする動きもあるようです。私は「課税自主権」には大反対です。税金を徴収できる項目は国が定め地方は「税率」のみ変更可能にするべきです。こうすれば住民が自治体毎の実効税率を簡単に比較できるようになるため「住民にとって便利」です。論理的に考えれば、一般市民は自治体に課税自主権は不必要と考えると推測できるのではないでしょうか?自治体毎に異なる税制や制度を持つと、非常に面倒な事になることはアメリカを見れば火をみるより明らかです。まねをするなら良いところだけまねして欲しいです。

課税自主権の付与は地方分権の一環らしいですが、地方分権をする前にやるべきことの多くが出来ていません。その筆頭は情報公開です。有るべき書類がなくなっても誰も処分されない、情報公開といっても黒塗りばかりの無意味な資料しか公開しない、など問題山積です。地方自治体やその外郭団体で10億円以上の横領があってもなかなか明らかにならない事例がいくつもあります。要するに今の仕組みはチェック機能が働くような仕組みになっていないのです。

確かアメリカの上院から選ばれた数名の議員は国の予算が不正に支出されていないかチェックするため仕組みがあったと思います。全ての情報を参照できる代わりに知り得た機密情報を漏洩すると終身刑になる、という仕組みになっていたと思います。まず、こういう良い仕組みを取り入れて欲しいものです。

チェック機能といえば郵貯・簡保マネーが本当に有用な事業、最低限でも破綻しない事業、に投資されているか正しくチェックできていません。チェックできるように民営化するはずが本当の目的については議論されていません。本気で真の目的を議論すると既得権益を持つ者からの反発が強くなるからなのだろう、と素人考えですが、と推測しています。野党も争点作りに反対しなければ、という流れで反対するのは日本という国を悪くするために貢献していると思います。来週には結論が出そうですが、どうなることやら…

LaVie RXの無線LAN設定

NECのLaVie RXシリーズの内蔵無線LANの設定でハマリました。

Windows XP ProfessionalがプレインストールされたBTOデモルですが何故か無線LANアクセスポイントに全く接続できない状態でした。デバイスマネージャには何も問題無く無線LANデバイスは表示され、ネットワークのプロパティにも表示されます。プロパティも表示できるのでESSIDやWEPキーも登録できます。しかし、全くアクセスポイントに接続できませんでした。

あまり時間を使うのも無駄。有線LANは普通に利用できるので有線LANを使っていました。しかし、無線LANを内蔵しているのに使えないのも困るので再度いろいろ試して見ましたが、やはりダメでした。

ふとタスクバーに表示されているアイコンに×マークが付いているものがある事に気が付きマウスポインタを乗せると「ワイアレススイッチが入っていない」旨のメッセージは表示されています。これかなと思いダブルクリックすると無線LANの状態を表示している「ワイアレスネットワーククライアント」が表示されました。無線LANを使う、使わない、ラジオボタンがあり無線LANを使用するが選択されています。動作チェック機能があったので使ってみると無線機能でFailureとエラーが表示されていました。

きっと何処かにスイッチがあるに違いないと思って本体をみてみたのですがありません。ざっとマニュアルを見てみましたがとても役に立ちそうにおもえる記述はありませんでした。

仕方が無いのでNECの121コンタクトセンターに電話すると、どのような状況であるか、動作確認の方法(他の無線LANを内蔵したPCからの接続確認、11b/11gの両方で試したこと、アクセスポイントのファームウェアも最新版に更新してみたことなど)を説明しているにも関わらず「では私と一緒に無線LANの設定をしてみましょう」と言い出されました。さすがにこれは無意味かつ時間の無駄なので丁重に断り、他に考えられる原因を聞くと、デバイスを削除してみることを薦められました。デバイスマネージャでデバイスを削除しても状況は変わりません。

「BTOモデルなので無線LANモジュール(?)の接続不良・ミスとかでは?」「ワイアレスクライアントマネージャで無線LANを使うになっていれば使えるはずですよね?」「ちなみに同じPCが2台ありますが状況は同じですよ。壊れているなら修理に出すのでなにか他に動作を確認する方法は?」と色々聞き保留で随分待たされた後、「NXパッド下の点が3つ付いているようなランプが付いていますか?」と聞かれました。ランプは確認できましたが点灯していませんでした。

最終的には「Fnキー+F2」で無線LAN機能をON/OFFできる事が分かりました。しかし、ここまで来るまでに1時間ほどの時間が経過していました…

よく分かっていないユーザが危ない野良フリーアクセスポイントを使用してしまう危険性を考えれば工場出荷時に無線LANが無効であっても良いと思います。しかし、サポートセンターに電話かけてこれほどまでに時間がかかる問題では無いような気がします。FAQになっているのではないかと思うのですが…

マニュアルを全部最初から読んでいれば何処かに記述してあるのかも知れませんが、PCを買って最初からマニュアルを読んだ事がありません。PCの設定に慣れている人はハマリ易いのではないかと思います。マニュアルを全く読まなかった訳ではないのですけどね…

ちなみにNECのコンタクトセンターの方の感じはよかったです。解決までの時間はかかりましたがコールセンターとしての評価は高いです。

LinuxとICH7は鬼門?!

GigabyteのGA-8I945Gマザーボードを購入しました。このマザーボートを購入した理由はPCI Express x16用のハイエンドグラフィックスカードは必要なかった事と廉価なPCI Expressグラフィックスカードが無かった事、そしてPentinumDを使いたかった為です。
# IntelのxxxGチップセットはグラフィックスカード機能を内蔵しています。
# 16MBくらいのメインメモリは使えるのだろう、と思っていたらGA-8I945G
# は最大でも8MBしか使えません…

945チップセットはICH7によってPATA/SATA IDEインターフェース機能が提供されています。ネットで検索するとSuSEなどのディストリビューションではSATAのみの環境でもインストールできているようですがMomonga Linux 2はインストールでませんでした。ATA HDDのFAQサイトではata_piixかahciでICH7で利用できると書いてあるのですが、SATAデバイスは全く認識されない状態でした。

仕方が無いのでPATAのHDDとDVD ROMをIDE0インターフェース接続してとりあえずインストールした後、いろいろ試して見る事にしました。しかし、このIDE0のインターフェースが悪いのかICH7サポートが悪いのか、DVD ROMをはずしてもhdparmで2MB/秒程度の速度しか出ていません。状態を確認するとDMAさえ使っていませんでした。hdparm -d1でDMAを有効に設定しようと試みても「サポートしていない」旨のエラーでDMAも有効に出来ません。

なんとしてもSATA HDDを使えるようにしなければと思いつつネット検索していると、カーネルのデバイス認識に問題あるため(?)チェックコードを削除するとSATAドライブを認識できたケースがある事を見つけました。kernelに次のパッチを適用してやっとSATA HDDが認識できました。

--- linux-2.6.10/drivers/scsi/ata_piix.c.orig   2005-08-01 10:44:38.000000000 +0900
+++ linux-2.6.10/drivers/scsi/ata_piix.c        2005-08-01 10:44:53.000000000 +0900
@@ -589,12 +589,6 @@
        port_info[0] = &piix_port_info[ent->driver_data];
        port_info[1] = NULL;

-       if (port_info[0]->host_flags & PIIX_FLAG_AHCI) {
-               int rc = piix_disable_ahci(pdev);
-               if (rc)
-                       return rc;
-       }
-
        if (port_info[0]->host_flags & PIIX_FLAG_COMBINED) {
                u8 tmp;
                pci_read_config_byte(pdev, ICH5_PMR, &tmp);

hdparmでも66MB/秒と普通の数値が出ています。cp -ax でPATAにインストールしたMomonga Linux 2をSATAにコピーし、grub.confやinitrdイメージを作り直してパッチ付きカーネルでブートできるようにしました。ここでは書いていませんが、要所要所で適切にBIOSも設定しなければなりません。設定を間違えるとPATAのディスクさえ認識してくれません。ご注意下さい。

他のディストリビューションでSATAのみの環境でのブートを試みたのはKnoppix3.9 日本語版だけですが、これもSATAデバイスを全く認識してくれませんでした。SuSEなら大丈夫(?!)なのかもしれませんが…

GigabyteのGA-8I945GはLinuxで使えない事もないですがお勧めできるM/Bでは無いです。同じシリーズのM/Bも同じかと思います。M/Bの問題と言うより、もしかしてICH7/ICH7RはLinuxにとって鬼門?!

# PS/2マウスコネクタの接触が悪いのか、他の原因なのか分かりませんが
# マウスが動かなくなるのも困ります。抜き差しすると直ります…
# 955チップセットに買い換えるかな…

DNSサーバを使ったユーザトラッキング

前からちょくちょく見かけていたのですが最近はDNSサーバを使用しユーザトラキングを行っているSPAMメールがどんどん増えているように思えます。

SPAMMERとしてもどのどのメールアドレスからは反応(クリック)があったのか知りたいので最も安直な手口として

http://example.com/?u=user@example.com

の様なメールがありました。さすがにこれではトラッキングしていることがばればれなので

http://example.com/?id=1234

とか

http://example.com/?prod_id=1234

等とトラッキングしている事を判りづらくする試みは行われていました。ちょっとコンピュータ(Web)を知っている方ならトラキングを行っている(行える)事は明らかなので、最近はドメイン名も使うSPAMMERも増えてきたようです。

http://tracking_id.example.com/
tracking_idはユーザを特定できるIDとなる任意文字列

の様な形式URLが使われています。こんな事をしても全部のサーバ名を作るのが大変では?と思うかも知れませんがDNSサーバによってはワイルドカードが使用できます。

*.example.com 10.10.10.10

の様な定義ができるのです。ユーザがアクセスしてきたらアクセスしてきたHOST情報からユーザを特定し記録した後、別のサイトにリダイレクトする、等の方法を使っているはずです。
# リダイレクトはしてもしなくてもどちらでも良いです。念のため。

DJBDNSユーザなら誰でも思いつく方法と思いますが、広まるまでに時間が必要でしたね :p