» »

Varno izvajanje PHP-ja na deljenem gostovanju

Varno izvajanje PHP-ja na deljenem gostovanju

alsu ::

Pozdravljeni,

zanima me katere so vse možne rešitve, da bi se pravilno zaščitil strežnik (shared hosting), pred zlonamernim izvajanjem kode PHP. Če naredim nek seznam korakov, ki sem jih naredil do zdaj, bi zgledal nekako takole:

1. php.ini nastavitve (allow_url_include, allow_url_fopen itd...)
2. basedir, nastavljen tako, da preprečuje poseg v ostale datoteke
3. disabled functions - exec,passthru,shell_exec,system,proc_open...
4. chmod - pravice folderjev so nastavljene na 755, fajlov pa na 644, chown je tudi opravljen.

...

Ampak poleg vsega tega, lahko z enostavno PHP kodo dostopam do zelo občutljivih datotek ostalih spletih strani:

Recimo da se nahajam: /var/www/stran1

<?php echo exec('cat /var/www/stran2/config.php'); ?>


seveda, tudi če exec dodam na seznam disabled functions, se zadeva lahko zaobide.

Poleg tega lahko s pomočjo PHP-ja izvajam nekatere shell ukaze, kot poudarek kako resna je ta zadeva.

Poskusil sem nastavit pravice user-ja v sudoers, tj. omejit na samo nekatere ukaze, ampak je vse skupaj isto. Shell vsakega uporabnika je nastavljen na /bin/false ali pa /usr/sbin/nologin. Pa itak mislim, da to nima nikakršne vloge, kajti PHP tako ali tako izvaja drug user.

<?php echo exec('whoami'); ?>


izpiše mi: www-data

Torej, kaj predlagate, suphp / suexec ? - ali je poleg tega še kakšna druga rešitev?

Hvala


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[Python3] Izvajanje ukazov po določenem času

Oddelek: Programiranje
211446 (1056) noraguta
»

dnsmasq problem

Oddelek: Omrežja in internet
121856 (1596) poweroff
»

PHP davčna blagajna

Oddelek: Programiranje
188077 (6101) brble
»

Spletna stran in ukazi na linux serverju (bash skripta)

Oddelek: Programiranje
101329 (1083) Mesar
»

[UNIX] arg list too long

Oddelek: Programiranje
331937 (1192) bijonda

Več podobnih tem