Журналы Apache: много ли 404 на CONNECT к порту 443 указывают на уязвимость?
В моих журналах я продолжаю получать много:
"CONNECT XXX.XXX.XXX.XXX:443 HTTP/1.0" 404 218 "-" "-"
"CONNECT XXX.XXX.XXX.XXX:443 HTTP/1.0" 404 218 "-" "-"
...
"CONNECT XXX.XXX.XXX.XXX:443 HTTP/1.0" 404 218 "-" "-"
Это какая-то конкретная уязвимость?
2 ответа
HTTP CONNECT используется для туннелирования. Apache поддерживает это посредством использования mod_proxy_connect.
Плохо настроенный прокси-сервер с поддержкой CONNECT может быть уязвимостью безопасности, поэтому, если она вам не нужна, ее следует отключить.
Я не уверен, как Apache отвечает на запрос CONNECT, если они не включены, но 404 кажется маловероятным; Я предпочел бы ожидать 405 или 501. Таким образом, вы, вероятно, должны проверить свою конфигурацию.
Скорее всего, это попытка использовать ваш сервер в качестве прокси-сервера, возможно, из-за вируса бот-сети или script-kiddie. В частности, хотя (это возможно) кто-то telnetting в вашу коробку, например, так:
$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
CONNECT google.ca 80
HTTP/1.1 400 Bad Request
Connection: close
Content-Type: text/html; charset=iso-8859-1
[more header data ... ]
<html ... />
Вы используете почтовый сервер на этом ящике? Есть ли у вас случайно журналы брандмауэра, указывающие на повторные подключения или попытки подключения к порту 25?
В этих двух статьях подробно описаны два случая устранения этой проблемы:
В совокупности они предлагают несколько исправлений (которые я обобщу для потомков, но вы должны прочитать все темы для контекста):
- Ограничить CONNECT в httpd.conf с помощью
<Limit CONNECT>Deny from all</Limit>
- запрещать
mod_proxy
если вы не используете его.
Будьте в поиске строк, которые не возвращаются 404
/ 400
(особенно, 200
), поскольку это может указывать на то, что они успешно получили доступ к какому-либо ресурсу, что само по себе не обязательно вызывает беспокойство.