Verificar como o comando foi executado

1

Eu corro algumas páginas PHP com NGINX e PHP-FPM. Recentemente hospedei site para amigo que tinha problemas de segurança com o WordPress, fiz todos os upgrades, WP e Plugins.

Mas de alguma forma eu descobri hoje que o usuário sob o qual seu site é executado no PHP-FPM está executando comandos do sistema, por exemplo. /usr/bin/host
Não encontrei nenhum arquivo sobrescrito e os comandos em execução estão desativados em php.ini para php-fpm .

  1. Existe alguma maneira de encontrar como os comandos são executados, eles são executados diretamente pelo processo PHP ou há algum script no servidor que é executado?

  2. Posso limitar os comandos aos quais o usuário tem acesso?

  3. Bons livros / artigos sobre segurança do servidor Linux onde posso pesquisar mais informações?

O servidor está executando o Ubuntu LTS 14.04, com a versão Ubuntu do NGINX e PHP.

    
por Grzegorz Doleczek 05.10.2015 / 12:10

1 resposta

0

Can I limit commands to which user have access?

Sim, você pode, expandindo o parâmetro disable_functions no arquivo php.ini (o local depende da configuração, por exemplo, /etc/php5/cgi/php/ini )

disable_functions = system,exec,shell_exec,escapeshellcmd,show_source,leak,ini_restore,pfsockopen,popen,eproc_c,posix_kill,posix_setuid,posix_setpgid,posix_setsid,proc_open,proc_terminate,proc_get_status,proc_nice,proc_close,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority
    
por 05.10.2015 / 22:00