admak

Рейтинг
130
Регистрация
19.07.2010

Довольно часто бывает, что размещая статьи или ссылки - люди ставят на них входящие ссылки, чтобы их статья не затерялась в недрах многостраничников. Уберете такие статьи - отвалится часть входящих ссылок на ваш сайт.

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

Можно поробовать между nginx и апачем включить HTTP 1.1 Строка в конфиге nginx:


proxy_http_version 1.1;

Можно еще настроить между ними keepalive... но проще с ним не заморачиваться

Mentoc:
На шаред хостинге? 🤪

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

можно прописать в файле /etc/my.cnt


[mysqld]
bind-address = 127.0.0.1

и перезапустить mysql

Попробуйте посмотреть в сторону CDN.

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

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

базы - дамп.sql.gz --> restore

файлы - rsync в обертке ssh

esetnod:
Тут каждый третий может на коленке ядро написать.

Все уже написано до нас. (с) не я

Лень и работа напильником - вот наш удел. :)

Можно прицепить что-то типа snort-а (со времен фрибсд 4.1 не пользовался им), но лениво...

Можно использовать то, что уже стоит на хостинге nginx(перловые хуки) или apache+mod_... (давненько еще на apache 1.3 делал на mod_filter, он использовался для других целей, но среди прочего он успешно ловил шелы, эксплоиты и т.д.)

Конкретно, для этого топика, я бы предложил суммарные логи бекенда завернуть в трубу (заметку не читал, первая из гугля), статику фильтровать нет смысла - пусть nginx ее отдает как и раньше или с диска или из кеша.

В трубе считаем количество плохих запросов для каждого ip в единицу времени, т.к. скрипт один можно все хранить в переменной в раме (не забывая раз в пару минут зачищать не нужные значения). Если взаимодействовать нескольком скриптам, то в /dev/shm.

Когда предел плохости достигнут или баним на сутки ip через iptables(лениво..) или учим nginx сразу отшивать этот ip-шник (что-то типа try_files).

Ну как-то так.

bugsmoran:
Казалось бы со всеми бывает. Если бы не одно странное совпадение: все 100% - WordPress.

Значит решение задачи очень сильно упрощается. Сейчас взлом поставлен на поток и идет на автомате, посмотрите логи своего вебсервера, чтобы убедиться в этом.

Перекроете этот поток, направленный на WP - решатся все ваши проблемы.

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

Вторым этапом, когда появится время, пишем сканер уязвимостей WP и поиск шелов. Кстати шелы можно выявлять и давить на первом этапе.

Вот примерно такое направление движения.

DavyJohnes:
Не пойдет, я привел простой пример, а на самом в моей задаче таких параметров с десяток, представляете как разрастется вся конструкция?)

в общем случае: 1 маска = 1 строке в .htaccess

можно еще поиграться таким вариантом


RewriteRule ^(go|run|jump|drink|sex|sleep|happy)/$ index.php?act=$1 [L]
RewriteRule ^(go|run|jump|drink|sex|sleep|happy)/(.+)$ index.php?act=$1&to=$2

.

...представляю, поэтому я не использую построение ЧПУ через .htaccess

DavyJohnes:


RewriteRule ^go/(.+)?$ index.php?act=go&to=$1

попробуйте так:


RewriteRule ^go/$ index.php?act=go [L]
RewriteRule ^go/(.+)$ index.php?act=go&to=$1
Всего: 1235