Журналы 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?

В этих двух статьях подробно описаны два случая устранения этой проблемы:

В совокупности они предлагают несколько исправлений (которые я обобщу для потомков, но вы должны прочитать все темы для контекста):

  1. Ограничить CONNECT в httpd.conf с помощью <Limit CONNECT>Deny from all</Limit>
  2. запрещать mod_proxy если вы не используете его.

Будьте в поиске строк, которые не возвращаются 404 / 400 (особенно, 200), поскольку это может указывать на то, что они успешно получили доступ к какому-либо ресурсу, что само по себе не обязательно вызывает беспокойство.

Другие вопросы по тегам