← Back to team overview

sslug-teknik team mailing list archive

Re: PHP gennem suEXEC på Apache?

 

Morten Egelund Rasmussen wrote:
> 

> Idéen er fin, men der er jo fortsat en masse sikkerhedshuller i PHP.
> (F.eks. backticks.)

Hvad er backticks

Jeg ved ikke om der er så mange sikkerhedshuller, der er snarare
tale om 
sikkerhedsfælder. Det er ret let at fejlkonfigurere den.
 
> 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. 
 
> 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. 
 
> Men-men-men: Så vidt jeg kan se, så ryger der nogle HTTP headers af i
> farten når man konverterer til CGI. F.eks. virker det ikke, hvis
> PHP-scriptet laver "authentication" som Apache ellers ville gøre... (Det
> konkrete eksempel er phpMyAdmin i "Advanced Authentication" mode.)
> 
> Æv-æv-æv. Så vidt jeg kan se på Apache log-filerne, så kan den ikke lide
> de headers som kommer fra scriptet:
> 
> [error] [client 62.242.140.xx] malformed header from script. Bad
> header=HTTP/1.0 401 Unauthorized: [absolut_sti_til_mit_script.php]
> 
> Er der også en patch til dette, eller skal jeg bare i gang med at lave
> et wrapper-script?!!! (Man kan vel altid lave en lille wrapper, der
> lægger scriptets output ud i en fil til nærmere beskuelse.)
> 
> Hjælp!
> 
> ^Morten
> 
> Lige til sidst (jvf. Poul-Eriks indlæg):
> > I øvrigt forbavser det mig ikke det mindste at det ikke er sat op
> > på Webhoteller. Det fungere sikkert sådan mange steder at folk
> > selv stort set kan give sig selv de rettigheder de nu synes at de
> > skal have.
> 
> 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.

-- 
-
Poul-Erik Andreasen
Hvis du mangler nogen til noget eller du kan noget for nogen.
http://linux-freelance.pea.dk


Follow ups

References