У меня установлен Apache по умолчанию на Ubuntu 10.04.
Я использую следующие Nmap сканирование, чтобы определить доступные методы Apache:
nmap -p80 --script=http-methods 192.168.1.66
Результат:
http-methods: GET HEAD POST OPTIONS
Пытаюсь исключить метод HEAD. Так что в /etc/apache2/apache.conf
Я добавил следующее:
<Directory "/var/www/*">
<LimitExcept GET POST OPTIONS>
Deny from all
</LimitExcept>
...
</Directory>
Затем я перезапустил веб-сервер. Однако сканирование nmap по-прежнему дает те же результаты.
Кто-нибудь знает, что мне здесь не хватает?
Документация для <Limit>
прямо заявляет:
If GET is used it will also restrict HEAD requests
Это очень сильно подразумевает, что для целей <Limit>
и <LimitExcept>
который GET
и HEAD
обращаются так же. Ограничения, применяемые к GET
будет применяться к HEAD
, а значит, если GET
неограничен, поэтому HEAD
также будет неограниченным.
Далее HTTP/1.1
RFC 2616
прямо заявляет (раздел 9.4):
The HEAD method is identical to GET except that the server MUST NOT return
a message-body in the response.
Дальнейшее уточнение прямой связи между GET
и HEAD
.
Последняя информация, поясняющая это, также из RFC 2616
, (раздел 5.1.1):
The methods GET and HEAD MUST be supported by all general-purpose servers.
Вся эта информация, как правило, подразумевает, что то, что вы хотите достичь, будет невозможно только с помощью изменений конфигурации.