ValdisRu

ValdisRu
Рейтинг
139
Регистрация
02.10.2006
FlooPy:
Извините, а можете еще подсказать. Если у меня страница в виде:
/index.php?option=com_k2&view=item&id=200:blablabla&Itemid=2

Все что после /index.php?option=com_k2&view=item&id=200 не имеет значения и может часто меняться, но контент останется тот же. Как быть в этом случае?

в том то и дело что данные конструкции урлов можно представить самыми разными способами

/index.php?option=com_k2&view=item&id=200&Itemid=2 - это ти правильно далее вариации

1) /index.php?blablabla&option=com_k2&view=item&id=200&Itemid=2

2) /index.php?option=com_k2&blablabla&view=item&id=200&Itemid=2

3) /index.php?option=com_k2&view=item&blablabla&id=200&Itemid=2

4) /index.php?option=com_k2&view=item&id=200&blablabla&Itemid=2

5) /index.php?option=com_k2&blablabla&view=item&id=200&blablabla&Itemid=2

6) /index.php?option=com_k2&blablabla&view=item&blablabla&id=200&Itemid=2

7) /index.php?option=?blablabla&com_k2&view=item&id=200&Itemid=2

8) /index.php?option=?com_k2&blablabla&view=item&&blablablaid=200&blablabla&Itemid=2

9) /index.php?option=?com_k2&blablabla&view=item&blablabla&id=200&blablabla&Itemid=2&blablabla

10) /index.php?option=?blablabla&com_k2&blablabla&view=item&blablabla&id=200&blablabla&Itemid=2&blablabla

и это еще не все, тут вариаций может быть намного больше, имхо самый правильный путь это включить ЧПУ, вроде джумла его поддерживает, а все урлы, содержащие ? запретить в роботс.тхт

типа так

Disallow: *?

musanki:
нужен VPS/VDS для разрешения сайтов Ram от 256(512-1024 желательно), трафик от 500гигов или анлим, Обязательно панель желательно ДиректАдмин, ISPmanager (если будет Cpanel что навряд ли, то будет еще лучше), Расположение Украина, Россия, Польша. 2 IP.
ДО 10 USD!!!

хм, а для разрешения сайтов - это в смысле для днс сервера, типа разрешение имени в ip адрес ???

если да, то бюджет явно завышен, вон полно бесплатных днс серверов, да даже если и брать вдс то его параметры можно смело подделить вдвое, но я бы посоветовал бы вообще не платить и взять фришный

zexis:
Да, можно использовать белый список IP поисковиков, но проблема в том, что поисковики начинают использовать новые подсети не кого не предупреждая.

ну если предлагать такую систему защиты (за деньги) то следить за этим вполне можно, да и режим глухой защиты для конкретного сайта включать только в случае атаки на него, в остальное время просто проксировать всем как есть, только появились симптомы атаки - включается проверка джава скрипт + куки

zexis:
Боты поисковиков ни джаваскрипт, ни куки не понимают.
Выходит они всегда будут получать одну и туже HTML страницу с вашим джаваскриптом?

во-первых я не имею никакого отношения к ТС и его системе, а лишь высказал предположение как можно реализовать это

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

zexis:
Вы написали что для защиты используете жаваскрипт. При этом не модифицируете HTML код сайтов.
Я не знаю способов как можно запустить жаваскрипт без модификации HTML кода страниц сайта.
Поэтому мне не ясно как работает ваша фильтрация с использованием жаваскрипт.

думаю, что если поступает запрос без нужной куки - система защиты отдает свою хтмл страницу на которой джава скрипт ставит эту нужную куку и делает перезагрузку страницы, теперь если кука уже есть - проксируется настоящий сайт, а если куки все равно нет - операция повторяется (+может заносится в статистику для подсчета и дальнейшего анализа )))

как то так

Den73:
$50 разово, только обновления иногда придется брать, вообщем не дорого если штуковина окажется полезной то почему бы и не заплатить.

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

имхо тогда уж лучше геоип в фаерволе включать и банить все соединения китайцев (это если днс на своем сервере, т.к. если для китайцев днс оставить открытым и отвечать им 127.0.0.1, то они его самого смогут грузить)

другой вопрос если днс сторонний, кстати http://couchness.com/ru/services/ вроде имеет такой функционал (и недорого):

Используя функцию геотаргетинга, мы предоставляем вам возможность построить свой собственный надежный CDN, позволяющий перенаправлять ваших посетителей на разные серверы в зависимости от их географического положения. Таким образом, посетители, находящиеся в США, будут связываться с сервером, находящимся там, посетители из Европы будут связываться с вашим европейским узлом, а посетители из азиатских стран будут работать через сервер, находящимся в Азии.

т.е. как раз то что вы хотите - Азия, Африка и т.п - 127.0.0.1 (ну или какой нибудь из яндексовских ип, например, - пусть их поддосят))) плюс еще куча всяких плюшек, на хабре была их статья http://habrahabr.ru/company/smscoin/blog/129715/

я так понял это смс партнерки для себя сделали и вроде как всем остальным за плату предоставляют возможность пользоваться (сам не пробовал, но взял себе на заметку)

---------- Добавлено 19.09.2012 в 23:08 ----------

netwind:
Romka_Kharkov, для требуемой тут точности, то есть определение страны, это бесплатно и довольно хорошо работает.

согласен, тоже об этом думаю

у меня в попечении почтовик одной конторы, спама по уши, ассасин не всегда справляется, много пропускает, если анализировать кто шлет спам - очень много зараженных машин из таких стран (Китай, Корея, Бразилия, и т.д а то сейчас весь Земной шар перечислю) вот я и использую фришную базу чтоб забанить как можно больше их (вряд ли из Африки нормальное письмо прийдет)

Пришло в голову попробовать развернуть виртуальную машину и поставить все это хозяйство вручную на голый центос


[root@localhost html]# cat /etc/redhat-release
CentOS release 6.3 (Final)
[root@localhost html]# uname -a
Linux localhost.localdomain 2.6.32-279.el6.i686

сначала установил Percona-Server


[root@localhost html]# rpm -qa | grep Percona
Percona-Server-server-55-5.5.27-rel28.1.296.rhel6.i686
Percona-Server-shared-55-5.5.27-rel28.1.296.rhel6.i686
Percona-Server-client-55-5.5.27-rel28.1.296.rhel6.i686

потом апач


[root@localhost html]# rpm -qa | grep httpd
httpd-tools-2.2.22-1.el6.i686
httpd-2.2.22-1.el6.i686

и пхп


[root@localhost html]# rpm -qa | grep php
php-common-5.3.16-1.el6.i686
php-5.3.16-1.el6.i686
php-cli-5.3.16-1.el6.i686

а вот с установкой php-mysql облом:


[root@localhost html]# yum install php-mysql
Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
* base: centos.itt-consulting.com
* extras: centos.itt-consulting.com
* updates: centos.itt-consulting.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.i686 0:5.3.16-1.el6 will be installed
--> Processing Dependency: php-pdo(x86-32) = 5.3.16-1.el6 for package: php-mysql-5.3.16-1.el6.i686
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16) for package: php-mysql-5.3.16-1.el6.i686
Package mysql-libs is obsoleted by Percona-Server-shared-51, but obsoleting package does not provide for requirements
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18) for package: php-mysql-5.3.16-1.el6.i686
Package mysql-libs is obsoleted by Percona-Server-shared-51, but obsoleting package does not provide for requirements
--> Running transaction check
---> Package php-mysql.i686 0:5.3.16-1.el6 will be installed
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16) for package: php-mysql-5.3.16-1.el6.i686
Package mysql-libs is obsoleted by Percona-Server-shared-51, but obsoleting package does not provide for requirements
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18) for package: php-mysql-5.3.16-1.el6.i686
Package mysql-libs is obsoleted by Percona-Server-shared-51, but obsoleting package does not provide for requirements
---> Package php-pdo.i686 0:5.3.16-1.el6 will be installed
--> Finished Dependency Resolution
Error: Package: php-mysql-5.3.16-1.el6.i686 (CentALT)
Requires: libmysqlclient.so.18(libmysqlclient_18)
Available: mysql-libs-5.5.27-1.el6.i686 (CentALT)
libmysqlclient.so.18(libmysqlclient_18)
Available: mysql-libs-5.1.61-4.el6.i686 (base)
Not found
Error: Package: php-mysql-5.3.16-1.el6.i686 (CentALT)
Requires: libmysqlclient.so.18(libmysqlclient_16)
Available: mysql-libs-5.5.27-1.el6.i686 (CentALT)
libmysqlclient.so.18(libmysqlclient_16)
Available: mysql-libs-5.1.61-4.el6.i686 (base)
Not found
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

да как так то??? 😮 (с)

---------- Добавлено 19.09.2012 в 16:43 ----------

еще пришло в голову сменить репозитарий

сначала попробовал установить php-mysql из репозитария remi - такой же облом как и из CentALT

а вот из репозитария atomic нормально установилось

значит и на основном сервере можно будет нормально обновиться



---------- Добавлено 19.09.2012 в 17:38 ----------

так и есть, обновился нормально с репозитория atomic, проблема решена

CentALT и remi в топку

всем крутым админам спасибо

ivan-lev:
Эм.. А кто рекомендует?
firstman:
НСы не причем. Если не валят их специально, то с ними ничего не приключится. И по ним определить ДДОС довольно трудно, хотя и можно.

меня смутили вот такая статья http://wiki.keyweb.ru/index.php?_m=knowledgebase&_a=printable&kbarticleid=213

в частности


Если на сервере предоставлен хостинг для множества сайтов
...
Для поиска атакуемого домена необходимо, чтоб его NS сервера находились на вашем сервере!

Почему? Так как атака идет по IP адресу, то единственным способом нахождения домена-жертвы может быть только анализ запросов к dns. Как? С помощью утилиты ngrep. Эта утилита позволяет применить регулярные выражения к трафику. В нашем случае команда будет ngrep port 53. На 53 порт идут запросы на преобразование домена в IP. В течении нескольких десятков секунд визуально можно будет определить домен-жертву.

Другой вариант – настроить bind на запись всех запросов в лог и проверить, какой домен чаще всех запрашивается. Следующее действие – это отключение домена. Наиболее простым и действенным методом будет блокировка запросов с именем домена. Это запретит преобразование домена, и боты не смогут получить IP домена-жертвы. Снова iptables поможет сделать это:

iptables -I INPUT 1 -p tcp --dport 53 -m string --string "domain.com" --algo kmp -j DROP
iptables -I INPUT 2 -p udp --dport 53 -m string --string "domain.com" --algo kmp -j DROP

Обратите внимание – блокируются TCP и UDP порты.

далее в статье идет речь про установку А записи домена в 127.0.0.1 и там уже правильно говорится, что запись должна разойтись. Но так как читал давно, в голове засела мысль Это запретит преобразование домена, и боты не смогут получить IP домена-жертвы. Но это не спасет от тех ботов, у которых закешировался IP, они все равно будут продолжать атаку, поэтому данный совет не совсем корректен, и именно это меня интересовало. Теперь все стало понятно, поэтому тему можно закрыть, всем спасибо.

firstman:
к НСам они обратятся один раз и сутки больше к ним обращаться не будут.

ясно, так оно в принципе и должно было быть, просто смутил совет определять сайт на который идет атака по большому числу обращений к днс

получается, что даже если изменить ип адрес домена то сервер еще некоторое время будут ддосит

а вот если клиент попался сильно "умный" и у регистратора домена указал нейм сервера не хостера, а какие-то другие (самого регистратора или какие-либо еще, например того же яндекса) что тогда делать хостеру??? ведь даже если удалить этот домен с сервера то все равно на то чтобы вернуть 404 будут тратится ресурсы и при большом количестве ботов ресурсы сервера могут исчерпаться

firstman:
НСы не причем.

а ну да...

Всего: 972