Comment sécuriser PHP de son serveur web

 
Cet article va vous expliquez comment sécurisé PHP de son serveur web APACHE ou NGINX fasse à certains scripts dangereux, nommés « PHP Shell » ou « Backdoor Shell ».
Il est très facile pour n’importe qui de s’en procurer un et il est donc primordiale de prévenir son PHP fasse à ces scripts.
Le tutoriel vous donne une liste de fonctions PHP a désactiver, c’est une solution préventif qui empêche ainsi votre assaillant de prendre le contrôle totale de votre serveur WEB. Bien entendu cette solution n’est pas une solution miracle fasse à tout type d’attaque visant votre site web.

Qu’es qu’un Backdoor Shell sous PHP?

php-backdoor
backdoor php crypté

Un Backdoor Shell en PHP est un script contenant du code dangereux, il est souvent crypté suivant diverses méthodes tel que le base64, urldecode et bien d’autres méthodes de cryptages du code de celui-ci. Il est souvent introduit via une faille Upload ou bien via une faille d’accès à votre serveur FTP (Bruteforce ou bien Exploit du serveur FTP), on peut également les retrouver dans des cracks de template WordPress, Plugins et bien d’autres liens « miracles » qui vous fait soi-disant économiser de l’argent alors qu’en réalité vous risquez très gros.
Les « Defaces » que l’ont peut voir sur certains sites viennent en général de ce genre de backdoors.

Comment ce prévenir d’un Backdoor Shell PHP?

 
Les Backdoors Shell utilisent des fonctions qui possède certaines autorisations sur votre serveur web, il est important de les bloquer afin que les backdoors aient le moins d’emprise possible sur votre serveur web.
Commencez par ouvrir le fichier php.ini de votre serveur web.
Rechercher la ligne disable_functions et remplacez là par la ligne suivante:

disable_functions = "ln, cat, popen, pclose, posix_getpwuid, posix_getgrgid,
posix_kill, parse_perms, system, dl, passthru, exec, shell_exec, popen, proc_close,
proc_get_status, proc_nice, proc_open, escapeshellcmd, escapeshellarg, show_source,
posix_mkfifo, mysql_list_dbs, get_current_user, getmyuid, pconnect, link, symlink,
pcntl_exec, ini_alter, pfsockopen, leak, apache_child_terminate, posix_kill,
posix_setpgid, posix_setsid, posix_setuid, proc_terminate, syslog, fpassthru,
stream_select, socket_select, socket_create, socket_create_listen, socket_create_pair,
socket_listen, socket_accept, socket_bind, socket_strerror, pcntl_fork, pcntl_signal,
pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled,
pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, openlog, apache_get_modules,
apache_get_version, apache_getenv, apache_note, apache_setenv, virtual, chmod,
file_upload, fsockopen"

A présent, redémarrer votre serveur web, la modification sera prise en compte.
Certaines fonctions bloqué dans notre exemple, bloque l’accès à certaines autorisations d’accès à votre serveur web. la fonction symlink permet par exemple de parcourir l’ensemble des dossiers de votre serveur web, fsockopen est une fonction obsolète chez PHP, elle permet d’executer du UDP flood depuis les backdoors shells.
En bloquant toutes ces fonctions vous supprimerez beaucoup de risques au sujet de votre site web.
Si vous avez des questions, ou des avis n’hésitez pas à publier un commentaire sur notre article, n’hésitez pas aussi à le partager.
Cordialement, Afrofreehost

Recevez les dernières nouveautés dans votre boîte mail !