/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
sikkerheds problemer...
Fra : Jacob


Dato : 30-11-06 10:17

Hej Ng

Håber i kan hjælpe, jeg kører en apache (httpd-2.0.52-28.ent.centos4)

Jeg har nogle php ting kørende på min server.. bl.a php-fusion og
phpmyprofiler til dvd'er... disse ting kræver at nogle mapper på serveren er
chmodded 777 eller ejet af apache. Det giver jo besøgende skriverettigheder
på serveren...

Det er der så nogen der har udnyttet og uploadet en phpside med en masse
funktioner på til at fucke min box op... de har også uploadet et par
exploits som dog ikke er lykkedes for dem at eksekvere

Men jeg har ikke så frygtelig meget forstand på php andet end at det er på
serveren og at der kan køres php sider. For at disse php ting virker bliver
jeg nød til at sætte safe_mode = off i php.ini...

Jeg kører flere domæner på webserveren...

Er der nogen mulighed for at stramme op på sikkerheden i php ? Jeg har ledt
lidt efter nogle howtos på google til at forstå det lidt bedre men fandt ik
noget der gav meget mening

Eller er det i selve apache jeg skal definere hvilke kommandoer besøgende
kan eksekvere på serveren ?

Jeg har disse php ting installeret:
php-snmp-4.3.9-3.22
php-ldap-4.3.9-3.22
php-xmlrpc-4.3.9-3.22
php-pear-4.3.9-3.22
php-mbstring-4.3.9-3.22
php-gd-4.3.9-3.22
php-mysql-4.3.9-3.22
php-4.3.9-3.22


Mvh Jacob



 
 
Peter Brodersen (30-11-2006)
Kommentar
Fra : Peter Brodersen


Dato : 30-11-06 17:31

On Thu, 30 Nov 2006 10:17:01 +0100, "Jacob" <jacob@removenetworkz.dk>
wrote:

>Jeg har nogle php ting kørende på min server.. bl.a php-fusion og
>phpmyprofiler til dvd'er... disse ting kræver at nogle mapper på serveren er
>chmodded 777 eller ejet af apache. Det giver jo besøgende skriverettigheder
>på serveren...

Hvilke "besøgende" taler vi om her? Kun brugere på maskinen
(heriblandt brugere, der kan afvikle php-kode).

Problemet opstår, hvis brugeren fx kan uploade en php-fil til en
mappe, og bagefter tilgå den, fx ved at uploade test.php, og bagefter
gå ind på fx http://server/uploadede_filer/test.php

Et par detaljer i den forbindelse:

- Man kan overveje at lægge denne mappe uden for webscope, så man ikke
kan tilgå en fil direkte udefra, men skal igennem en PHP-fil, der evt.
tjekker sikkerhedsrettigheder, men primært blot *outputter* den
uploadede fil. Man kunne fx også gemme filen i en database. Under alle
omstændigheder andre steder end hvor man kan kalde filen direkte.

- En anden måde, man kan undgå, at den bliver behandlet som en
PHP-fil, er selv at være herre over filens extension. Det kan godt
være at filen ligner et GIF-billede, men derfor er det stadigvæk ikke
i orden, at den ender med at hedde "hest.php". Upload-scriptet bør
selv sætte filnavnet (eller i det mindste extensionen) til fx .gif
eller hvad der er passende, hvis filen absolut skal ende inden for
web-scope.

- Man kan slå PHP fra for bestemte mapper, fx for ens upload-mappe.
Det gøres ved at sætte "engine"-konfigurations-indstillingen til Off
for den mappe (fx i en .htaccess-fil).

- open_basedir giver også mulighed for at begrænse PHP-adgang til fx
den aktuelle DOCUMENT_ROOT.

>Men jeg har ikke så frygtelig meget forstand på php andet end at det er på
>serveren og at der kan køres php sider. For at disse php ting virker bliver
>jeg nød til at sætte safe_mode = off i php.ini...

Det lyder mærkeligt. Med safe_mode sat til off, vil sikkerhedshuller
ikke blot give problemer for ens php-baserede sites, men for al øvrig
data på serveren, idet der er mulighed for her at afvikle vilkårlig
kode. Derfor bør du hurtigst muligt kigge på, hvorfor det er
nødvendigt at køre uden safe_mode.

Det er ikke nødvendigt at slå safe_mode fra, bare fordi man skal
uploade filer:
http://safemode.ter.dk/

Skal ens script absolut køre et eller andet eksternt program, så kan
man stadigvæk slå safe_mode til, og så blot i php.ini rette
indstillingen safe_mode_exec_dir til en mappe, hvor man lægger de få
programmer, PHP godt må afvikle.

--
- Peter Brodersen
Kendt fra Internet

Jacob (01-12-2006)
Kommentar
Fra : Jacob


Dato : 01-12-06 20:17


"Peter Brodersen" <usenet2006@ter.dk> skrev i en meddelelse
news:ekn11f$dvc$1@news.klen.dk...
> On Thu, 30 Nov 2006 10:17:01 +0100, "Jacob" <jacob@removenetworkz.dk>
> wrote:
>
>
> Hvilke "besøgende" taler vi om her? Kun brugere på maskinen
> (heriblandt brugere, der kan afvikle php-kode).


Besøgende er alle og en hver... maskinen er på nettet.


>
> - Man kan slå PHP fra for bestemte mapper, fx for ens upload-mappe.
> Det gøres ved at sætte "engine"-konfigurations-indstillingen til Off
> for den mappe (fx i en .htaccess-fil).

Overstående har jeg nu forsøgt, virker helt efter hensigten bortset fra de
mapper hvor der ligger billeder i som et php script udenfor mappen skal
hente, har ikke adgang til filerne...?

>
> Det lyder mærkeligt. Med safe_mode sat til off, vil sikkerhedshuller
> ikke blot give problemer for ens php-baserede sites, men for al øvrig
> data på serveren, idet der er mulighed for her at afvikle vilkårlig
> kode. Derfor bør du hurtigst muligt kigge på, hvorfor det er
> nødvendigt at køre uden safe_mode.
>
Det er så absolut også noget jeg skal have undersøgt iaften

Jacob



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste