Случай A: директива TRACE
Используя команду "traceEnable on" в файле httpd.conf и выполнив следующую команду curl:
САЙТ = http://www.server.my
; curl $ SITE -X TRACE
Ответ:
TRACE / HTTP/1.1 User-Agent: curl/7.29.0 Host: http://www.server.my Accept: */*
С другой стороны, если "traceEnable off", предыдущая команда curl возвращает:
<!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 /
on this server.</p>
<hr>
<address>Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7d DAV/2 Server at http://www.server.my Port 80</address>
</body></html>
Это означает, что директива включения TRACE отключена. Итак, я думаю, что команда "traceEnable off" работает правильно.
Случай B: директива TRACK
Используя команду "traceEnable on" в файле httpd.conf и выполнив следующую команду curl:
САЙТ = http://www.server.my
; curl $ SITE -X TRACK
Ответ:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>501 Method Not Implemented</title>
</head><body>
<h1>Method Not Implemented</h1>
<p>TRACK to / not supported.<br />
</p>
<hr>
<address>Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7d DAV/2 Server at http://www.server.my Port 80</address>
</body></html>
Вот заключение предыдущего теста: 501 Метод не реализован . Если вы отправите запрос TRACE в Apache, он вернет, что этот метод не реализован. Итак, я думаю, что нам не нужно беспокоиться ... Это подтверждается следующим контрольным примером.
Если "traceEnable off", то предыдущий запрос TRACK возвращает то же самое "не реализованное" сообщение.
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>501 Method Not Implemented</title>
</head><body>
<h1>Method Not Implemented</h1>
<p>TRACK to / not supported.<br />
</p>
<hr>
<address>Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7d DAV/2 Server at http://www.server.my Port 80</address>
</body></html>
Согласно http://publib.boulder.ibm.com/httpserv/ihsdiag/http_trace.html, даже несмотря на то, что сервер apache не поддерживает метод TRACK изначально, подключаемые модули могут поддерживать его. Чтобы отключить эту возможность для подключаемых модулей, в дополнение к отключению метода TRACE нам, возможно, придется отключить метод TRACK с помощью модуля Rewrite.
Но если вы не установите плагин TRACK в Apache, проблем с безопасностью нет. Это предположение верно?