あなたのWebサイト、脆弱じゃないですか?

   このエントリをはてなブックマークに登録    2007/1/31

Top 10 Signs You Have an Insecure Web App」という記事がありました。 面白かったので要約してみました。 私の勘違いなどが含まれている可能性があるので、詳細は原文をご覧下さい。

1. アクセスログ解析の公開

アクセスログ解析ツールには商用とフリーのものがありますが、多くのサイトがフリーのアクセスログ解析ツールを利用しています。 AWStatsやWebalizerなど、良く知られている脆弱性を含むものがあります。 何故、世界に対して脆弱なアクセス解析ツールを使っている事を公開しなければならないのでしょうか?

Google検索 : Generated by Webalizer" intitle:"Usage Statistics"

Google検索 : inurl:awstats filetype:pl

2. バックアップファイルのコピー

開発者は、古いファイルを「.bak」や「.old」というファイル名で保存してしまいます。 Webサーバはそれらの拡張子を理解しないので、それらを公開された場所に置いてしまうとソースコードなどが丸見えになってしまいます。

Google検索 : filetype:bak inurl:"default"

Google検索 : filetype:old inurl:"index"

3. 脆弱サイト晒しサイトに投稿されている

sla.ckers.orgなどの脆弱サイト晒しサイトに投稿されていませんか? Dell、HP、MySpaceなどの有名ベンダは既に晒された事があります。

4. ブラウズ可能なディレクトリ

ディレクトリが一覧表示されているのは、下手なサーバ管理を行っている証拠です。

Google検索 : "index of cgi-bin"

Google検索 : intitle:"index of/" intext:"parent directory"

5. 暗号化せずにパスワードを送信している

暗号化せずにパスワードを送信するようなサイトは「セキュリティに関して何も知りません」と公言しているようなものです。

6. 期限切れのSSL証明書

SSLの証明書にかかる多少の費用をケチっているサイトを信用できるでしょうか? 顧客はそんなサイトではクレジットカード情報を入力してくれません。

7. 脆弱なサードパーティアプリケーションを使っている

サードパーティソフトウェアを利用するのは良いことですが、それらのセキュリティホールに関しては常に把握しておきましょう。 既知の脆弱性に関しての情報収集を継続的に行いましょう。

参考

Secunia

SecurityFocus

8. 冗長なエラーメッセージ

開発用の冗長なメッセージはユーザにとっては無用です。 これらは、SQLインジェクションなどの脆弱性を攻撃者が発見しやすくするだけです。 しかし、冗長なメッセージを含まなければ攻撃をされなくなるわけではないのでご注意下さい。 単に脆弱な箇所を発見しにくくなるだけです。

Google検索 : "ORA-00921: unexpected end of SQL command"

Google検索 : "Microsoft OLE DB Provider for ODBC Drivers error"

9. 開発用コメントがソースコード中に

ソースコード中にコメントを書くのは良いことですが、公開する前に不必要なコメントは削除するようにしましょう。 Google Code Searchを使って脆弱なコードを探している人がいます。

(「Google Code Searchの危険な使われ方」参照。)

   このエントリをはてなブックマークに登録