Categories
Uncategorized

プロフェッショナルの仕事

先日、何年か振りの脆弱性報告をもらって Contact Form 7 のセキュリティリリースを出したんですけど、予想外に大きな反応があって WordPress Tavern に取り上げられたりもしました。

さまざまなメディアがあれこれ書いているのを読んでいて際立っていたのが Wordfence のこちらの記事です。

特に感銘を受けた部分を抜き出して日本語訳してみます。

Contact Form 7 には数々の被害軽減策が設けられているのでこの脆弱性を利用しても不正利用を完遂するのは難しいだろう:

– アップロードされたファイルはランダムな名前が振られたフォルダに一時的に格納されて、メールに添付したらすぐ削除される。つまり攻撃者はまずランダムなフォルダ名を判定する必要があり(ディレクトリインデックスが有効になってるとかなければ無理)、しかもそれをディレクトリとアップロードファイルが削除されるまでの一瞬のうちにやり遂げないといけない。

– Contact Form 7 は .htaccess ファイルを使ってアップロードされたファイルへの直接アクセスができないようにしている(これができないとコードの実行もできない)。これは Apache のサイトでしか機能しない対策ではあるが、サイトに別の脆弱性があってそこに付け込まれるとかない限り、アップロードファイルの実行は阻止されるだろう。

– ファイル名は許可された拡張子のものでなければならない。二重拡張子を持った任意のアップロードファイルに PHP ハンドラーを割り当てるような Apache 設定というのは通常はみられない。

なぜこれに感銘を受けたかというと、こんなことはマニュアルのどこにも載ってないんですよ。この記者と三好の間に事前の nemawashi があったとかそんなこともありません。推測ですがこの記者は Contact Form 7 のコードを独自に調査してファイル処理のフローを確認してこれを書いたとしか考えられません。しかも、僕がリリースノートを書いて寝て起きたらこの記事が出回ってたんですよ。半日も経ってない。

それにひきかえ、なんて言って別の誰かをこき下ろそうとするのはよくない癖だよなとは思いつつも書いてしまうのですが、先日日本の大手ホスティングサービスの広報記事で Contact Form 7 が名指しされるということがあったんですが、

Contact Form 7 に問題があるみたいに聞こえてなんか感じ悪い、というのはとりあえず脇に置くとして(てゆーか海外のホスティング会社からこんな扱い受けたことないぞ。やったら訴えられたりするんじゃないの)、まずさくらインターネットさん、名前出すんだったら公式サイトのマニュアルにリンクぐらいしましょうよ。意味ないじゃないですか。エックスサーバーさん、リンクしてくれてありがとうございます。でも最重要のセキュリティ設定である Akismet が抜けている一方でセキュリティ設定でもなんでもない承諾確認チェックボックスが取り上げられているのはどういうわけですか。一体何を参考にこれ書いたんですか。

かたや、自らコードを精査し、公正性を疎かにせず、過度の不安や楽観を招かないよう表現を選んで記事を書いた Wordfence。かたや、適当にググって拾ってきた(であろう)情報を元に無責任な記事を書いて流した日本のホスティング会社。どちらもそれでメシ食ってるプロフェッショナルなんでしょうけど、仕事への取り組み方がこうも違うものかと愕然とするのです。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s