Делаем php еще более безопасным

В некоторых ситуациях необходимо защитить, или «зацементировать» сайт, сделав его, фактически, не уязвимым к стандартным эксплоитам, вирусам и прочим зловредным программам.

Это необходимо при работе старого программного обеспечения, которое, по той или иной причине, не поддерживается или не обновляется продолжительное время.

Для пользователей нашего хостинга мы подобрали несколько вариантов уровней безопасности работы с PHP-скриптами:

  • CGI режим отключен – в данной конфигурации сайт работает в режиме mod_php без каких-либо дополнительных изменений. Такая конфигурация работает по умолчанию для десятков тысяч сайтов на нашем хостинге. Подробнее почитать про режимы работы php можно на данной странице. Данная конфигурация работает для сайтов по умолчанию.
  • Стандартный режим – стандартная конфигурация, при которой сайт автоматически переводится в специальный режим php-cgi, в котором php работает без каких-либо дополнительных ограничений. Такая конфигурация работает по умолчанию для многих сотен сайтов на нашем хостинге.
  • Ограниченный режим – конфигурация при которой сайт автоматически переводится в специальный режим php-cgi, в котором автоматически подключается php.ini с рядом отключенных функций в php, а именно: disable_functions=apache_child_terminate,chgrp,chown,escapeshellarg,exec,ftp_exec,get_current_user,getmygid,
    getmyid,getmyuid,leak,mysql_list_dbs,passthru,pclose,pcntl_alarm,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,
    pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,
    pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,
    pcntl_wstopsig,pcntl_wtermsig,pfsockopen,phpcredits,popen,posix_kill,posix_setpgid,posix_setsid,posix_setuid,
    proc_close,proc_get_status,proc_getstatus,proc_nice,proc_open,proc_terminate,putenv,safe_dir,shell_exec,
    show_source,shown_source,symlink,syslog,system,virtual

  • Параноидальный режим – конфигурация при которой сайт автоматически переводится в специальный режим php-cgi, в котором автоматически подключается php.ini с еще бóльшим количеством отключенных функций в php, а именно: disable_functions=apache_child_terminate,chgrp,chmod,chown,dl,escapeshellarg,exec,ftp_exec,get_current_user,
    getmygid,getmyid,getmyuid,ini_restore,leak,mysql_list_dbs,passthru,pclose,pcntl_alarm,pcntl_exec,pcntl_fork,
    pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,
    pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,
    pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,pfsockopen,phpcredits,phpinfo,popen,
    posix_kill,posix_setpgid,posix_setsid,posix_setuid,proc_close,proc_get_status,proc_getstatus,proc_nice,proc_open,
    proc_terminate,putenv,safe_dir,shell_exec,shmop_open,shmop_write,show_source,shown_source,symlink,syslog,system,virtual

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

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

Как подключить?

Вам достаточно авторизоваться панели управления хостингом, во вкладке «Домены» выбрать нужный домен, кликнуть по иконке «PHP.INI + PHP Профайлер» и включить нужный режим PHP. На включение данной функции может потребоваться некоторое время, обычно не более 10 минут.