Glueon

Glueon
Рейтинг
172
Регистрация
26.07.2013
Должность
sysadmin

Мы в свое время делали не очень честный тест - делали конкуретный ab на страницу какого-то из сайтов. Вроде бы это был Wordpress. По количеству совершенных запросов примерно на 8% FPM обошел Apache.

Жаль, что данных конкретных не могу уже найти ... "Page generated in" кстати был почти одинаковым.

В принципе это ожидаемо, но с другой стороны мы не пробовали выкинуть из Apache все модули, кроме реально нужных. Быть может это как-то повлияло бы на скорость.

PS. В нашем случае PHP-FPM еще на unix сокете висел, поэтому сравнение было некорректным.

Панель на сервере случайно не DirectAdmin?

Romka_Kharkov:
kgtu5, Ну во первых:

Это не отдельная строка а должно быть в Action, но надо ли это в вашем случае..... Я бы убрал.

Во вторых IP в екшонах должен заключаться в воот такие "<>" скобки, в моей ссылке там сноска есть.

Что касается фильтра... я так понимаю надо фильтровать "\xd0\x91\xd0\xb0\xd0\xb7\xd0\xb0" ?? Скиньте мне в приват или сюда, несколько строк лога (штук 5 вполне хватит) только КАК Есть.... можете конечно какие-то стратегические части замаскировать но не удаляйте их, мне четко понять надо как ваш лог выглядит что бы Regexp вам правильный собрать под него...

Если лог файл стандартный то попробуйте вот так:

Но это я про апач.... у вас nginx ... нужны логи .....

Так там человек pastebin'овские ссылки поскидывал с кусками-логами. Там в наглую SQL-инъекции понапиханы, можно наверное по ключевым словам SQL делать фильтрацию.

Pavel.Odintsov, спасибо. Скину цены клиенту - пусть созревает.

WapGraf:
Glueon, возможно это потому что Hetzner в первую очередь старается сдать свои сервера, это их основной бизнес. Колокол уже второсортная услуга.

Это пожалуйста, клиент и хочет их сервера взять, но так там будет большой трафик между серверами их хотелось хотя бы парочками кабелем сцепить. Судя по тому, что сказал Den73, услуги по Colo и их серверами стоят одинаково.

michaek:
чего там такого похожего на грабеж? на 2 сервера свич не нужен, на большее количество стоит копейки и платится 1 раз. за вторую сетевушку ценник написан, но с меня почему-то ни разу не брали

Да я про это:

Colocation Rack cabling (same row) 99 € once

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

kgtu5, там не указаны символы начала и конца, поэтому будет поиск подстроки. Подстрока такая там есть, если это URI. Просто в логе не видно $request_method переменной.

Можно заодно какие-нибудь общие фильтры повесить, типа таких:


set $block_sql_injections 0;
if ($query_string ~ "union.*select.*\(") {
set $block_sql_injections 1;
}
if ($query_string ~ "union.*all.*select.*") {
set $block_sql_injections 1;
}
if ($query_string ~ "concat.*\(") {
set $block_sql_injections 1;
}
if ($block_sql_injections = 1) {
return 403;
}

set $block_file_injections 0;
if ($query_string ~ "[a-zA-Z0-9_]=http://") {
set $block_file_injections 1;
}
if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
set $block_file_injections 1;
}
if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
set $block_file_injections 1;
}
if ($block_file_injections = 1) {
return 403;
}

set $block_common_exploits 0;
if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
set $block_common_exploits 1;
}
if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
set $block_common_exploits 1;
}
if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
set $block_common_exploits 1;
}
if ($query_string ~ "proc/self/environ") {
set $block_common_exploits 1;
}
if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
set $block_common_exploits 1;
}
if ($query_string ~ "base64_(en|de)code\(.*\)") {
set $block_common_exploits 1;
}
if ($block_common_exploits = 1) {
return 403;
}


Shod:
У нас выделенный гигабитный канал, кол-во клиентов на который мы строго регулируем. Что у вас не сочитается?

Да дешево просто получается. Ну, если все честно, то вас можно только рекомендовать :) Просто у самого Лизвеба это достаточно дорого.

kgtu5:
на сайт напал мини-ддос (или как его еще назвать)
в еррор.лог такие запросы
http://pastebin.com/JrPPTdRy
все начинаются одинаково \xd0\x91\xd0\xb0\xd0\xb7\xd0\xb0, концовка разная, с каждого айпи примерно 25 запросов, целый день долбят
вордпресс, впс, нгикс+апач, нагрузка на проц под 90%

как заблокировать запросы начинающиеся с \xd0\x91\xd0\xb0\xd0\xb7\xd0\xb0 на уровне нгикса?

Не совсем по логам понял - это часть URL или POST?

Если URL можно хоть так:


if ($uri ~ "xxd0\x91\xd0\xb0\xd0\xb7\xd0\xb0") {
return 403;
}
Den73:
к любым серверам относится, когда я спрашивал про vlan то сказали нельзя, можно только в отдельный свич воткнуть.

Нет, буду тогда другие ДЦ изучать. Спасибо.

Всего: 2115