Come impedire il caricamento di shell arbitrarie sul proprio server

Pubblicità

Tra le procedura per la messa in sicurezza di un server virtuale, quella seguente è una delle più importanti.

Per controllare che sul proprio virtual server non ci siano eventuali shell modificate o crackate, si cerca mediante SSH mediante egrep:
egrep "cgitelnet|webadmin|PHPShell|tryag|r57shell|c99shell|sniper| noexecshell|/etc/passwd|revengans" /home/*/public_html -R | cut -d: -f1 | uniq > /root/output_scan.txt

In questo modo che i risultati vadano a finire nel file output_scan.txt dentro la cartella root. Questo è un controllo che potete fare periodicamente, nella ma per evitare materialmente l’upload bisogna impostare delle regole di sicurezza avanzate sulla propria VPS o server delicato dedicato.

Ponendo di essere in ambiente Linux sotto httpd di Apache, è necessario impostare delle regole di sicurezza che impediscano il caricamento di shell quali

gitelnet |PHPShell| tryag| r57shell| c99shell| sniper| noexecshell| revengan

e successivamente disabilitare le funzioni avanzate di PHP come shell_exec(), exec() , passthru() , shell_exec() , system() e via dicendo.

Per farlo, si può andare ad editare il file PHP.ini:

pico /etc/php.ini

cercare la linea in corrispondenza della stringa “disable_functions” (senza doppi apici) ed aggiungere la riga:

disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

A questo punto si riavvia il servizio httpd dando un:

/etc/init.d/httpd restart

ed avremo concluso le operazioni.

0 voti