Служите fastcgi через nginx

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

Руткитам очень свойственно заменить системные двоичные файлы, такие как PS, вершина, netstat. И это также характерно для троянского ssh. Так, поиск причуд контрольной суммы в тех файлах является главным подходом. Если Вы находитесь в основанной на об/мин системе, об/мин-V обычно является хорошим инструментом, или dpkg-проверьте на Debian/Ubuntu. Или можно проверить контрольные суммы непосредственно (но предостеречься предварительной ссылки, которая изменяет двоичные файлы на лету по причинам скорости). Это не надежно, но много нападений деточки сценария не покрывают эти трассировки. (Другими словами, если Вы находите что-то, хорошее. Если Вы не находите что-то, не оказывается, что Вы являетесь чистыми.)

Другие вещи искать: порты, показанные открытыми от внешнего nmap которые не выглядят открытыми через netstat на машине и pids в /proc которые не обнаруживаются в ps. И если Вы, оказывается, включаете удаленный системный журнал, ищете логины ssh, которые не имеют записей в lastlog.

3
задан 31 January 2013 в 15:36
3 ответа

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

В общем, возможно, вам требуется дополнительная конфигурация FastCGI для передачи данных вашему приложению. Более крупная установка может включать такие параметры:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Опять же, вывод вашего FastCGI-приложения должен сказать вам больше, это также может быть полностью не связанной с nginx проблемой

0
ответ дан 3 December 2019 в 06:37

На случай, если это может помочь кому-то еще с теми же симптомами, описанными выше:

В моем случае параметр REQUEST_URI настраивался правильно в файле conf для конкретного модуля, включенном из nginx. conf файл. Однако, поскольку файл fastcgi_params также был включен, REQUEST_URI был указан дважды. Комментарий к файлу fastcgi_params устранил проблему.

0
ответ дан 3 December 2019 в 06:37

Я столкнулся с той же проблемой, когда забыл преобразовать свой CGI в FastCGI, добавив эти три строки вывода перед содержимым CGI:

print "HTTP/1.0 200 OK"
print "Content-type: text/plain"
print ""
3
ответ дан 3 December 2019 в 06:37

Теги

Похожие вопросы