Мой веб-сервер Apache, зарегистрированный после сообщений к access.log
:
46.22.173.131 - - [23/Dec/2014:15:34:54 +0100] "GET http://pl.wikipedia.org/wiki/Special:Search?search=&go=Go HTTP/1.1" 302 482 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
182.254.156.77 - - [23/Dec/2014:16:53:22 +0100] "GET http://www.ly.com/ HTTP/1.1" 302 433 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"`
182.254.208.62 - - [23/Dec/2014:17:57:49 +0100] "GET http://www.ly.com/ HTTP/1.1" 302 433 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0"
Я имею два Virtualhost
s определенный - один для порта 80, который просто перенаправляет к 443... и Virtualhost
для порта 443, который входит ssl_access.log
.
Я не понимаю то, что означают эти журналы? Кто-то пытался добраться до этих URL через мой веб-сервер?
Помогите мне понять те журналы.
С Рождеством все!
http://wiki.apache.org/httpd/ProxyAbuse :
Почему Я вижу, что в моих файлах журнала появляются запросы на иностранные сайты?
Запись access_log, показывающая эту ситуацию, может выглядеть так:
63.251.56.142 - - [25 / Jul / 2002: 12: 48: 04 -0700] " GET http://www.yahoo.com/ HTTP / 1.0 "200 1456
Для этой строки журнала 200 код (предпоследнее поле в этом примере) указывает, что запрос был успешным - но см. ниже объяснение того, что «успех» означает в этой ситуации.Обычно это результат попытки злонамеренных клиентов использовать открытые прокси-серверы для доступа к веб-сайту без раскрытия их истинных расположение. Они могли делать это, чтобы манипулировать рекламой с оплатой за клик. систем, чтобы добавить комментарий или ссылочный спам на чужой сайт, или просто сделать что-то неприятное, не будучи обнаруженным.
Важно предотвратить использование вашего сервера в качестве открытого прокси-сервер для злоупотребления другими сайтами.
Как отмечает @faker, важно настроить ваш веб-сервер так, чтобы его нельзя было использовать в качестве публичного прокси. Это должно быть поведение по умолчанию (т. Е. Проксирование отключено), если вы явно не включили один или несколько прокси-модулей (посмотрите в своем httpd.conf операторы LoadModule, которые относятся к прокси-модулям) и не добавили соответствующий Proxy директивы. Тем не менее, если вы хотите, чтобы такие запросы явно блокировались и регистрировались как таковые, вы можете сделать то же самое, что и я, и добавить такие строки в свой файл httpd.conf из .htaccess:
# There is some seriously broken malware that attempts to proxy via our web
# server to www.baidu.com, planeta.ru, etc. The proxy attempt per se isn't
# broken (although we don't allow proxying via this web server). It's that
# only the first request makes any sense. Subsequent requests mangle both the
# HTTP_HOST and REQUEST_URI into nonsensical strings. Eventually the request
# is so mangled Apache responds with a 403 status.
#
# So check the request line to see if it looks like an attempt to proxy via
# our web server. Since we don't allow proxying nip the insanity in the bud.
RewriteCond %{THE_REQUEST} ^GET\s+https?:// [NC]
RewriteRule ^ blocked.php [NC,END,E=REASON:proxy-probe]
У меня есть сценарий "blocked.php", который предоставляет страница настраиваемого ответа, включающая REASON env var, но вы также можете заменить это правило на
RewriteRule ^ - [NC,L,R=403]
Помимо отличного ответа от faker, код ответа 302
вызван настроенным вами перенаправлением HTTPS.
Чтобы проверить, уязвимы ли вы для того же эксплойта через HTTPS, выполните следующие команды [источник] :
openssl s_client -connect yourdomain.com:443
[wait for the connection to initialise]
GET http://www.yahoo.com/ HTTP/1.1
Host: www.yahoo.com
Или с curl
:
curl -H -x https://domain.name.here:443 www.google.de
Согласно Apache документации , вы не должны получать контент с yahoo.com и должны отображать ответ 404 или 403. Если это произойдет, об этих журналах не о чем беспокоиться, и они, скорее всего, будут автоматически сканироваться ботами.