...

TRACEメソッドについて - コンピュータ・ハイテック

by user

on
Category: Documents
8

views

Report

Comments

Transcript

TRACEメソッドについて - コンピュータ・ハイテック
TRACE メソッドについて
- TRACEメソッドについて -
コンピュータ・ハイテック 株式会社
平成18年5月23日
Copyright (c) 2006 COMPUTER HI-TECH INC.,
1
TRACE メソッドについて
目次
はじめに.................................................................................................................................................... 4
1.
用途................................................................................................................................................ 4
2.
対象者............................................................................................................................................ 4
1. TRACEメソッドについて .................................................................................................................. 6
1.
TRACEメソッドとは?................................................................................................................... 6
2.
発行方法........................................................................................................................................ 7
2. TRACEメソッドの危険性................................................................................................................. 8
3. TRACEメソッドの制御 ..................................................................................................................... 9
1.
有効性の確認方法 ....................................................................................................................... 9
2.
無効にする方法 ..........................................................................................................................10
3.
変更を確認する方法...................................................................................................................12
Copyright (c) 2006 COMPUTER HI-TECH INC.,
2
TRACE メソッドについて
Copyright (c) 2006 COMPUTER HI-TECH INC.,
3
TRACE メソッドについて
1. はじめに
1.1 用途
この文章には、
* TRACE メソッドの役割
* TRACE メソッドの危険性
* TRACE メソッドの有効・無効の確認方法
* TRACE メソッドの有効・無効化方法
* TRACE メソッド無効化後の確認方法
が記述されております。
1.2 対象者
TeamFile サーバがインストールされた Linux マシンに対して管理者権限でアクセスできるサイ
ト管理者
Copyright (c) 2006 COMPUTER HI-TECH INC.,
4
TRACE メソッドについて
Copyright (c) 2006 COMPUTER HI-TECH INC.,
5
TRACE メソッドについて
1. TRACE メソッドについて
1. TRACE メソッドとは?
TRACEメソッドは、WebDAVがベースとしているHTTP1.1 で定義された「メソッド」です。「メソ
ッド」とは、HTTPプロトコルをサポートするサーバ(通常のWebサーバやTeamFileサーバ)に対し、
Webクライアント(ブラウザやTeamFileクライアント)から要求を送るための方法を表します。
2006 年現在、WebDAV サーバは勿論、一般的な Web サーバの多くが HTTP1.1 をサポート
しておりますので、TRACE メソッドは標準で装備しています。(Apache 系 Web サーバではデフォ
ルトで有効になっています)
TRACE メソッドは、Web クライアントがリクエストした内容に幾つかの情報を付加して、そっくり
そのままクライアントに「送り返す」(トンボ返しする)機能を有しています。
TRACE メソッドは以下の役割を果たす目的で導入されました。
* HTTP レベル(つまりアプリケーション層)でリクエストがサーバに届いているかどうかを確認
する(Ping のイメージです)
* クライアントから発行されたリクエストが通過した HTTP プロキシサーバの情報を取得する
(Via ヘッダ)
* クライアントから特定の段数にあるプロキシサーバを指定して情報を得る(Max-Forwards
ヘッダ)
何れも、HTTP レベルで正しくリクエストが送受信されるのかを確かめる目的で利用されます。
ですので、初期導入時のネットワーク環境の確認やテスト中に利用されることがあります。
TeamFile では、TRACE メソッドを使用しておりませんが、Apache の標準設定に従い、有効化
されております。
Copyright (c) 2006 COMPUTER HI-TECH INC.,
6
TRACE メソッドについて
2. 発行方法
IE などのブラウザから標準的なアクセス方法で TRACE メソッドを発行することはできません。
発行するには、ActiveX や Ajax などの特殊な方法が必要となります。
(例) ActiveX を使って発行する (以下のコードは動かさないで下さい)
<script type="text/javascript">
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlHttp.open("TRACE", "http://www.teamfile.com/",false);
xmlHttp.send();
xmlDoc=xmlHttp.responseText;
alert(xmlDoc);
</script>
Copyright (c) 2006 COMPUTER HI-TECH INC.,
7
TRACE メソッドについて
2. TRACE メソッドの危険性
TRACE メソッドには危険性があることが、以下の攻撃方法によって明らかになりました。
【 名前 】
Cross-Site tracing (XST、クロスサイトトレーシング)
( http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf
)
【 攻撃方法 】
クライアントのリクエストが「トンボ返し」されることを利用して、クライアントだけが知り得る情報を
盗聴します。
具体的には、以下の情報がクライアントから漏れてしまう危険性があります。
* Cookie の情報
* ユーザ ID・PW 情報
【 危険性 】
* TeamFile では Cookie を使用しておりませんので問題ございません
* ユーザの ID/PW の盗聴の恐れがございます。但し、SSL 通信下では問題ございません
【 対策方法 】
* TRACE メソッドを無効にする
* HTTPS のみを使用する(盗聴の防止)
Copyright (c) 2006 COMPUTER HI-TECH INC.,
8
TRACE メソッドについて
3. TRACE メソッドの制御
1. 有効性の確認方法
(1) (Apache 2.0.55 以降の場合) 「TraceEnable」というディレクティブが設定されていないか
どうか確認
(Linux マシン上から操作)
$ su # cd /usr/local/teamfile/www/conf
# grep TraceEnable *
「TraceEnable Off」という設定がなければ有効ということになります。
(2) アクセスして確認する
Linux マシン上から以下のリクエストを発行してください。
# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.teamfile.com (127.0.0.1).
Escape character is '^]'.
TRACE /teamfile/ HTTP/1.1 ← 以下の 2 行を入力ください
Host: test
← このあと、Enter キー2 回を押してください
以下のように表示された場合、有効になっています。
HTTP/1.1 200 OK
Date: Fri, 19 May 2006 08:10:40 GMT
Server: Apache/2.0.55 (Unix) DAV/2 ・・・
Transfer-Encoding: chunked
Content-Type: message/http
29
TRACE /teamfile/ HTTP/1.1 ← リクエストがトンボ返しされていることが判ります
Host: test
Copyright (c) 2006 COMPUTER HI-TECH INC.,
9
TRACE メソッドについて
0
1.3 無効にする方法
以下の手順に従い、TRACE メソッドを無効化することができます。
【 Apache 2.0.54 以前の場合 】
(1)
設定ファイル(/usr/local/teamfile/www/conf/conf.d/ mod_dav_tf.conf)への記述
・・・(最後の行に記述ください)
1)
LoadModule rewrite_module modules/mod_rewrite.so
2)
<IfModule mod_rewrite.c>
3)
RewriteEngine on
4)
RewriteCond %{REQUEST_METHOD} ^TRACE
5)
RewriteRule .* - [F]
6)
(2)
</IfModule>
設定が正しく行われているかどうかの確認
$ su # /usr/local/teamfile/www/bin/apachectl configtest
以下のように表示されたら、正常に設定できたことになります。
Syntax OK
以下の用に表示された場合、エラーメッセージと共に開発元までお知らせください。
Syntax error on line ・・・
なお、 このコマンド実行により、サービスが停止することはございません。
(3)
TeamFile サーバプロセスの再起動
# /etc/init.d/teamfile restart
Copyright (c) 2006 COMPUTER HI-TECH INC.,
10
TRACE メソッドについて
【 Apache 2.0.55 以降の場合 】
(1)
設定ファイル(/usr/local/teamfile/www/conf/conf.d/mod_dav_tf.conf)への記述
・・・(最後の行に記述ください)
7)
TraceEnable Off
・・・
(2)
設定が正しく行われているかどうかの確認
$ su # /usr/local/teamfile/www/bin/apachectl configtest
以下のように表示されたら、正常に設定できたことになります。
Syntax OK
以下のように表示された場合、エラーメッセージと共に開発元までお知らせください。
Syntax error on line ・・・
なお、 このコマンド実行により、サービスが停止することはございません。
(3)
TeamFile サーバプロセスの再起動
# /etc/init.d/teamfile restart
Copyright (c) 2006 COMPUTER HI-TECH INC.,
11
TRACE メソッドについて
1.4 変更を確認する方法
TeamFile サーバプロセスの再起動が終了しましたら、TRACE メソッドが無効化されていることを
以下の手順によりご確認ください。
Linux マシン上から以下のリクエストを発行してください。
# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.teamfile.com (127.0.0.1).
Escape character is '^]'.
TRACE /teamfile/ HTTP/1.1 ← 以下の 2 行を入力ください
Host: test
← このあと、Enter キー2 回を押してください
以下のように表示された場合、TRACE メソッドが禁止されております。
HTTP/1.1 403 Forbidden ← このメッセージが表示されていることを確認下さい
Date: Tue, 23 May 2006 07:39:11 GMT
Server: Apache/2.0.54 (Unix) DAV/2 mod_ssl/2.0.54 OpenSSL/0.9.7g TeamFile/2.0.0-6
Vary: Accept-Encoding
Content-Length: 332
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /teamfile/
on this server.</p>
<hr>
<address>Apache/2.0.54 (Unix) DAV/2 mod_ssl/2.0.54 OpenSSL/0.9.7g TeamFile/2.0.0-6 Server at
test Port 80</address>
</body></html>
「HTTP/1.1 200 OK」と表示された場合には、何らかの設定不良がございます。お手数ですが、
Copyright (c) 2006 COMPUTER HI-TECH INC.,
12
TRACE メソッドについて
開発元までご連絡ください。
以上
Copyright (c) 2006 COMPUTER HI-TECH INC.,
13
TRACE メソッドについて
Copyright (c) 2006 COMPUTER HI-TECH INC.,
14
TRACE メソッドについて
2.
Copyright © 2006 COMPUTER HI-TECH, INC. 無断転載禁じます。
TeamFile は COMPUTER HI-TECH, INC. の登録商標です。
TeamFile のロゴは COMPUTER HI-TEC, INC.の商標です。
ここに記載されているその他の名称及びマークは各社の商標です。
コンピュータ・ハイテック株式会社 (COMPUTER HI-TECH, INC.)
〒110-0015
東京都台東区東上野 3-18-7 上野駅前ビル
Copyright (c) 2006 COMPUTER HI-TECH INC.,
15
TRACE メソッドについて
Copyright (c) 2006 COMPUTER HI-TECH INC.,
16
Fly UP