sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #43419
RE: PHP gennem suEXEC på Apache?
Poul-Erik skrev:
> Morten Egelund Rasmussen wrote:
> >
>
> > Idéen er fin, men der er jo fortsat en masse sikkerhedshuller i PHP.
> > (F.eks. backticks.)
>
> Hvad er backticks
I PHP kan man f.eks. skrive linien:
$bruger = `whoami`;
Dette vil lægge output af systemkommandoen "whoami" ind i variablen
$bruger. Resultatet bliver selvfølgelig et brugernavn ("apache",
"nobody", eller hvad man nu kører Apache som).
(Grunden til det hedder backticks, er at det er den bestemte form for
apostroffer der anvendes. Metoden kendes også fra Perl.)
Der er en lille forskel fra funktionen "system()", da "system()" altid
vil printe ud (med mindre man evt. kan redirecte stdout).
> > Hvis man vælger at køre safe_mode, så komme der imidlertid en kæmpe
> > begrænsning på systemet: Alle filer som forsøges åbnet SKAL have
samme
> > UID som ejer som scriptet har. (Og der kan jo godt være f.eks.
globale
> > includes m.v., som skal være tingængelige for alle brugere af mit
> > webhotel. -- For slet ikke at snakke om de andre fælles ting på
> > webhotellet, som folk GERNE på have adgang til.)
>
> Det vil jeg nu ikke kalde en begrænsning, jeg vil kalde det sund
> fornuft. Så har dem der ikke har så meget styr på tingende i alt
> fald en mulighed.
Det burde nok stå i bogen med titlen "Creating webhotels - for dummies".
;-p
> > Anyway: Jeg er faktisk kommet så langt, at jeg kan få PHP-scripts
til at
> > køre som CGI gennem suEXEC uden shebang. (Det krævede godt nok lige
at
> > man modificerede kildekoden til suEXEC!!!!! GNÆK!) Nu kører PHP som
den
> > bruger som oprettede scriptet. :-)
>
> At køre gennem CGI er generelt mere sikkert men det er på
> bekostning af performance, hvis det skal være PHP.
Nu bliver jeg jo helt glad... :-)
> > Jaeh.... Men det betyder også at man som kunde på et webhotel har
fri
> > adgang til at se kildekode ovre hos naboen. (Password til hans
> > mySQL-kundedatabase må der jo nødvendigvis også stå et eller andet
sted
> > i hans scripts!) -- Et eller andet sted, så mener jeg at det er dybt
> > kritisabelt at der ikke er mere fokus på dette. (Gad vide hvad
> > ComputerWorld ville sige til en lille "webhotel hacking how-to"?) --
Så
> > kom der måske lidt gang i systemadministratorerne rundt omkring?!
Jeg
> > skal bare lige selv have styr på det først, så kan man vel altid
udråbe
> > sig selv til freelance-konsulent! ;-p (LOL)
>
> Hvis jeg skulle køre et webhotel ville jeg aldrig give folk
> derekte acces til at lægge scripts op. Hvis vi taler om et meget
> stort hotel kunne man muligvis overveje at kunder kunne få lov
> til at lægge filer op der var blevet automatisk parset, men
> forbud for de PHP-ordrer der er giver anledning til sikkerheds
> overvejelser.
Det er bestemt en mulighed. Jeg tror bare ikke at det er så let at styre
i praksis. Det bedste er naturligvis, hvis de enkelte brugere kun kan få
adgang til deres respektive områder. (Her kan man komme rigtig langt med
direktiverne "User" og "Group" sammenholdt med <VirtualHost> i
forbindelse med opsætningen af Apache.)
M.v.h.
Morten
Follow ups
References