ITmedia
Today on ITmedia 2004年09月13日 19時55分
Home News Enterprise AnchorDesk Mobile PCUPdate LifeStyle Games Shopping Jobs
Security | Developer | Case Study | Survey | IT Premium | Mail Magazine | ケータイ・サービス
用語辞典 | ソフトバンクの出版物 | Site Map | Ranking » Top30
表紙
チャンネル/サービス一覧
ITプレミアム
ショッピング
転職情報
ケータイ向けサービス
メールマガジン
キャンペーン
IT用語辞典
ソフトバンクの出版物
スタッフ募集(制作)
 
ネットランナー 2002年10月号 2002年9月11日(水)
脱教えて君 反則技スペシャル

 ウェブサイトを設置するためのレンタルサーバや、プロバイダーのホームページスペースの一部では、「.htaccess」ファイルという設定ファイルの設置が許可されているところがある。一般的なUNIXのApacheによるウェブサーバでは「httpd.conf」というファイルで基本的な設定を行うが、このファイルにはサーバの管理者しかアクセスできず、一般ユーザーは手を付けられない。しかし、HTMLファイルを置くディレクトリに「.htaccess」というファイルを置くことでさまざまな設定を行うことができ、情報漏えいのようなセキュリティ上の弱点を修正できる(下図参照)。

 弱点を修正できるということは、逆に使うと危険な状況を作ってしまうので、「.htaccess」の使用を認めていないサーバも多い。自分の利用しているサーバが設置を認めているかどうか確かめてみよう。

図
「.htaccess」ファイルは設置すると、設置したディレクトリ以下のすべてのディレクトリでその設定が有効になる。別の設定にしたいディレクトリがあったら新しく「.htaccess」ファイルを設置する。だが、新しく設置した「.htaccess」ファイルで設定されておらず、上部のディレクトリの「.htaccess」ファイルで設定されている項目はそのまま引き継がれるので、油断をすると大事なファイルや個人情報が詰まったファイルをダウンロードされてしまう設定になりかねない。注意が必要だ

「.htaccess」ファイルの作り方
  • ウインドウズでは「.」で始まるファイル名は作成できないので、「_htaccess」などのような名前でファイルを作る。拡張子はいらない。そしてそれをFTPでサーバにASCIIモードで転送し、サーバ上で「.htaccess」という名前に変更する。「.htaccess」で設定した設定は、「.htaccess」ファイルを置いた以下のディレクトリすべてで有効になる。もし、違う設定にしたいディレクトリがあったら、そこに別の設定の「.htaccess」ファイルを置くと、そのディレクトリ以下で設定が反映され、それ以外の設定は上位ディレクトリの「.htaccess」ファイルの内容を引き継ぐ
ファイルの一覧表示をする/しない設定
  • 「.htaccess」ファイル内に「Options Indexes」という行を記せばファイルを一覧表示するようになる。ファイルを選択してダウンロードしてもらえるようなファイル倉庫にしたい場合などは、余計な装飾がないので読み込みも速く、この設定が便利だ
  • 「Options -Indexes」という行を記せば一覧表示をせずエラー画面となる。一般的にCGIを設置しているディレクトリはCGI内にCGIの設定を行うためのパスワードが記されていたり、CGIを細かく調べられるのを避けるため、一覧表示しないようにしておくのが鉄則だ
特定ホストのアクセスだけを許可/遮断する設定

order deny,allow
deny from all
allow from netrunner.ne.jp

「netrunner.ne.jp」というホストの人のみがアクセスできるようにする指示。1行目で禁止(deny)を許可(allow)よりも優先し、2行目ですべてのアクセスを禁止して、3行目で「netrunner.ne.jp」だけ許可するという意味。「netrunner.ne.jp」の部分はIPアドレスでも指定できる

order allow,deny
allow from all
deny from netrunner.ne.jp

すべてのアクセスを許可し、「netrunner.ne.jp」というホストの人のアクセスのみを禁止する指示。アクセスを禁止されているとエラーメッセージとなり、ページは表示されない。許可する場合と同様にIPアドレスでの指定も可能で、実際はホスト名で指定をすると、ホスト名からIPアドレスを調べる逆引きを行うため、サーバの負荷が高まる。できればIPアドレスで指定した方がいい

CGI設置の許可/禁止の設定

Options +ExecCGI
AddType text/html cgi
AddHandler cgi-script cgi

CGIを有効にし、実行するようにする指示。1行目でこのディレクトリ以下でのCGIの実行を許可し、2行目でHTMLファイルのようにCGIの結果を表示させ、3行目で「.cgi」という拡張子のファイルはプログラムとして実行するように設定している。掲示板のCGIスクリプトであれば、「bbs.cgi」にアクセスがあると、「.cgi」という拡張子なので処理が行われ、その結果として出力されるスレッドやレスなどを出力画面にHTMLファイルのように表示する

Options -ExecCGI
AddType text/html cgi

上の「.htaccess」ファイルの設定から、CGIプログラムとして実行するのを許可しないように変更したもの。プログラムとしては動作しないが、2行目にHTMLファイルやテキストファイルのように表示する設定は残っているので、CGIのソースがそのまま表示される。CGIプログラムのすべてがダウンロードできてしまうので、CGIの設定パスワード漏えいや収集した情報を記したファイルの場所、ウェブサーバの細かい設定を知られることになり非常に危険だ

前 脱教えて君 反則技スペシャル 10/20 次


SEARCH
@IT sbp 会社概要 | 利用規約 | プライバシーポリシー | 採用情報 | サイトマップ | お問い合わせ
ITmediaはアイティメディア株式会社の登録商標です。