LINUX.ORG.RU
ФорумAdmin

Apache: бандиты - в сад

 


0

2

1. допустим есть web-server (Fedora 23, Apache 2.4.18)

2. и крутится на нем например 2 веб-приложения (например - http://mysite.to/webapp1/* и http://mysite.to/webapp2/*)

3. весь веб-сервер и оба приложения доступны из всех интернетов.

4. и все эти интернеты задалбывают этот веб-сервер своими ботами (типа http://pastebin.com/9ABXLhRH)

5. от простых сканеров отстебаться получилось (/var/www/index.html):

<meta http-equiv=«refresh» content=«0; url=http://www.google.com/"/>

Но хотелось бы большего.

Задача:

* сделать так, чтобы апач при обращении к НЕ htpp://mysite/webapp1|webapp2/* посылал на гугель.

Я понимаю, что RTFM и „гугли“ - но вдруг у кого-то есть уже готовый рецепт?

<meta http-equiv=«refresh» content=«0; url=http://www.google.com/"/>

Такими темпами тебя в гугле забанят. Кроме того, это называется хулиганство и за такое могут обратиться в полицию.

Для борьбы с ботами есть

  • fail2ban ( который банит в iptables по логам апача )
  • mod_security, который опять же можно спарить с fail2ban
  • nginx перед апачем, который тоже может ограничивать доступ и плюс разгружает апач
router ★★★★★
()

favicon.ico
боты

У меня для тебя плохие новости.

anonymous
()
Ответ на: комментарий от router

Это даже на хулиганство не тянет. На сколько я понимаю, большинство ботов такой редирект не обработают. У них задача проверить что по некоторому урлу сервер говорит 200 и отдаёт текст совпадающий с регуляркой. Даже по HTTPшному редиректу не все пойдут.
Если уж хочется поднасрать ботам то надо придумывать что-то более креативное (например подвешивать конекты, или организовывать ботам ложно-положительные срабатывания). Правда непонятно зачем это делать. Проще понять и простить^Wзабить.

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Это даже на хулиганство не тянет.

Помнишь анекдот про неуловимого джо? Вот поэтому обычно и не тянет. Но когда терпение лопнет, будет неприятно.

Если уж хочется поднасрать ботам то надо придумывать что-то более креативное (например подвешивать конекты

Тарпит? Юноша, откуда у вас эти криминальные наклонности? В число пострадавших попадёт и твой же провайдер ;)

или организовывать ботам ложно-положительные срабатывания

Единственная здравая мысль. honeypot и самому писать заявление на особо отличившихся.

router ★★★★★
()
Ответ на: комментарий от KRoN73

А почему вместо? Если на nginx начать вешать всё то, чем занимается апач, рано или поздно он и тормозить станет не хуже, ИМХО.

router ★★★★★
()
Ответ на: комментарий от router

Юноша, откуда у вас эти криминальные наклонности?

А я чего? Я ничего. Я просто предложил, сам я такой ерундой не страдаю. Не тому вы дело шьёте, гражданин начальник!

В число пострадавших попадёт и твой же провайдер

Ему-то чего? Число коннектов может возрасти только за счёт ботов которые не лимитируют кол-во конектов на сервер, полагаясь на некоторое разумное время ответа сервера. Не думаю что таких экстримистов много. Это-ж надо асинхронщину писать, а это лишняя головная боль, проще параллельить сканирование по доменам.

MrClon ★★★★★
()
Ответ на: комментарий от router

Такими темпами тебя в гугле забанят

Кого - «меня»? Если гугель забанит этот сайт в своем поиске - я ему только денег приплачу.

Кроме того, это называется хулиганство и за такое могут обратиться в полицию

Пруфы. 1) Почему хулиганство, 2) кто могут

nginx перед апачем

Я специально указал:

1. Fedora 23 (хрен с ним - RH-подобное)

2. Apache 2.4

TI_Eugene ★★
() автор топика
Ответ на: комментарий от goingUp

Но зачем? Отправка в гугель - это такое оскорбление?

Это такая разгрузка сервера.

Всем, кто не знает прямого адреса - на йух.

TI_Eugene ★★
() автор топика
Ответ на: комментарий от TI_Eugene

Я бы тоже +100500 за nginx - но переделывать лениво/опасно.

Сначала тестируешь на

nginx: ip:8080 -> apache: ip:80

потом меняешь местами. Это не больно

Кого - «меня»? Если гугель забанит этот сайт в своем поиске - я ему только денег приплачу.

Кто мешает писать в редиректе 127.0.0.1 ?

* сделать так, чтобы апач при обращении к НЕ htpp://mysite/webapp1|webapp2/* посылал на гугель.

google apache default site

router ★★★★★
()
Ответ на: комментарий от router

Я бы тоже +100500 за nginx - но переделывать лениво/опасно.

Сначала тестируешь на

nginx: ip:8080 -> apache: ip:80

потом меняешь местами. Это не больно

Не nginx - apache.

Апач.

Апач.

Не nginx.

Апач.

Кто мешает писать в редиректе 127.0.0.1 ?

Никто.

Главное - нарисовть правильно регекс.

Читаем исходное сообщение.

TI_Eugene ★★
() автор топика
Ответ на: комментарий от TI_Eugene

Апач.

Не забудь повторять это почаще

Главное - нарисовть правильно регекс.

Главное - почитать хоть что-нибудь по apche. Например, про apache location

router ★★★★★
()
Ответ на: комментарий от router

Коллега - мне кажется, вы сегодня невнимательны:

Задача: сделать так, чтобы апач при обращении к НЕ htpp://mysite/webapp1|webapp2/* посылал на гугель.

НЕ!

TI_Eugene ★★
() автор топика
Ответ на: комментарий от TI_Eugene

Эрзент тебе коллега. Попробуй отдохнуть, а потом ещё раз вглянуть на проблему и подумать

Посыл в гугль должен быть в «location /»

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)

+1 к варианту «забить болт».
Если всё правильно настроено, то кроме 403/404 ботам ничего не светит.
Если уж сильно припекает, то fail2ban в помощь.

ArcFi
()
Ответ на: комментарий от router

рано или поздно он и тормозить станет не хуже, ИМХО

Нет. И именно поэтому (в том числе) nginx практически вытеснил apache с рынка. Не смотря на то, что последний когда-то властвовал почти безраздельно.

KRoN73 ★★★★★
()
Ответ на: комментарий от router

И чем апач занимается на среднестатистическом говносайте? Рерайты, редиректы и похепе. Исчезающе редко ещё добавляется вебдав.

Нжинкс умеет всё это, плюс аплоад файлов в обход пехепе, плюс ресайз картинок с кэшированием, плюс геоип, и при этом не тормозит. Причём перечислены только более-менее часто используемые вещи, а так там можно хоть свой сайт с преферансом и куртизанками на Lua написать. Прямо в конфиге.

svr4
()
Последнее исправление: svr4 (всего исправлений: 1)
Ответ на: комментарий от KRoN73

В легаси проще оставить бэкэндом жопач, ибо на каждый каталог высран свой htaccess. Сводить всё это в конфиг нжинкса муторно, получается нечитабельная портянка.

svr4
()
Ответ на: комментарий от ArcFi

Если всё правильно настроено, то кроме 403/404 ботам ничего не светит

Всё правильно настроено, ботам отдается 403/404. Но ботам пофиг, они всё равно лезут. Но эти 403/404 стоят _моему_ серверу ресурсов. А вот занять бота исследованием гугля - это уже практичнее.

Если уж сильно припекает, то fail2ban в помощь

Тогда мой сервер только и будет заниматься тем, что заносить в громадный список пол-интернета.

TI_Eugene ★★
() автор топика
Ответ на: комментарий от goingUp

Но какая разница, что отдавать, 302, 404 или 200 и пустую страницу?

Идея в том, чтобы бота чем-то занять. Если ему сразу отдать 404 - он начнет перебирать дальше (что там у него по списку.

А если его загрузить гуглем - он будет занят и попустит его не скоро.

Это такая идея.

TI_Eugene ★★
() автор топика
Ответ на: комментарий от svr4

В легаси проще оставить бэкэндом жопач

legacy обычно уже много лет тому работает и лучше его не трогать :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

legacy обычно уже много лет тому работает и лучше его не трогать :)

Об этом и речь. Замените «legacy» на LTS - и всё встанет на свои места. Есть связка CentOS7 + Apache (2.4) + Django.

«Работает - не трожЪ».

Проблема в том, что меня «трогают». И так, что сервер падает от [D]DoS раз в пару месяцев.

TI_Eugene ★★
() автор топика

Сделай allow только на эти две директории, а все остальное - в Deny

mystery ★★
()
Ответ на: комментарий от svr4

Nginx - это load balance и статика, а вот апач - это самый настоящий веб-сервер
Если у тебя ничего сложнее парочки PHP-скриптов - тебе хватит и nginx, если же сложная логика - то лучше апач

mystery ★★
()
Ответ на: комментарий от mystery

сложна

Чувак, нормальные люди давно пишут роутер в приложении.

Так что сложная логека сводится к try_files $uri $uri/ index.php$1 =404;

svr4
()

Тащем проблема временно решена:

/etc/httpd/conf/httpd.conf:

ErrorDocument 404 http://www.google.com

Но это не очень удачно. Лучше бы регексами что-то намутить.

TI_Eugene ★★
() автор топика
Последнее исправление: TI_Eugene (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.