NetVision-Technik

Zur?ck   NetVision-Technik > Forum > Server > Webserver > Security

Security Hier kommen alle Fragen und Lösungen zur Sicherheit und zu Fixes am Serversystem rein

Antwort
 
Themen-Optionen Ansicht
Alt 10.12.2008, 01:27   #1
HowTo secure PHP (Apache-Modul)
Bluesteel Bluesteel ist offline 10.12.2008, 01:27
Bewertung: (1 votes - 5,00 average)

Hallo zusammen,

da ich kurz Zeit habe, habe ich mir mal gedacht hier einen kleinen Artikel zu schreiben wie man sich vor PHP-Hacks wenigstens grundlegend schützen kann.
Nicht immer ist es sinnvoll safe_mode auf ON zu stellen, da dann einige Scripts nur noch halbwegs funktionieren....
Hier ist dann nun aber Vorsicht geboten:
Auch wenn man keine Kunden oder ähnliches auf dem Server hosted kann dies eine Gefahr darstellen, sofern man keine weiteren Schritte vollzieht.
1. Beim Apache-Modul PHP (nicht CGI) ist es durchaus angebracht pro Virtualhost die open_basedir zu setzen (auch wenn safe_mode = ON).
Wie geht das?
Confixx und andere AdminCPs erledigen dies schon automatisch
Ansonsten einfach in Virtualhost-Directive schreiben:
PHP-Code:
php_admin_value open_basedir /home/www/whatever/:/tmp 
Somit hat der entsprechende Vhost Zugriff auf

/home/www/whatever/ und /tmp.

Selbstverständlich können hier weitere paths reingehauen werden (mit Doppelpunkt).

Diese PHP-Value lässt sich nur per php.ini oder eben Vhost-File
benutzen. Somit ist nicht per ini_set oder .htaccess veränderbar, was
uns eine bestimmte Sicherheit gewährleistet.

2. Wir sind nun aber noch nicht fertig. Der potentielle Angreifer
könnte uns immer noch am Genick packen und unseren Server für z.B.
Spamming oder ähnlichen Schwachsinn ausnutzen, indem er einfach mit
bestimmten PHP-Standart-Functions entspr. Files auf den Server in die
zugelassenen Dirs läd und diese dann ausführt (ich spreche aus
Erfahrung!).

Am sichersten ist es nun einfach noch gewissen functions zu sperren,
die man eh nicht gerade tägl. braucht... Besonders die "Server-"
Functions, wie z.B. exec oder system sind meiner Meinung nach zwar ein
nettes Spielzeug, bieten jedoch eine extraem hohe Angriffsfläche (vor
allem für unsicheres Scripting).

Nun muss man sich entweder für die Bequemlichkeit oder Sicherheit
entscheiden. Ich ziehe lieber Sicherheit vor, denn die
"Bequemlichkeit", d.h. das Benutzen der oben genannten Functions muss
PHP-Code:
disable_functions execshell_execproc_openproc_niceescapeshellargescapeshellcmddiskfreespacepassthrusystempopenpfsockopenlinkgetmyuidset_time_limitdisk_free_space 
nicht nötig sein (ich komme sehr gut ohne die functions aus)...

Also, wer Sicherheit vorzieht sollte die functions entsprechend sperren:

(php.ini):
PHP-Code:
disable_functions execshell_execproc_openproc_niceescapeshellargescapeshellcmddiskfreespacepassthrusystempopenpfsockopenlinkgetmyuidset_time_limitdisk_free_space 
Dies wäre mal ein Beispiel. Natürlich gibt es noch weiter Functionen, die man hier sperren könnte oder manche könnte man auch rauslassen.
Per passthru wurde einer unserer Server jedoch einmal attackiert... deswegen ist hier Vorsicht geboten
disable_functions lässt sich nur per php.ini global einstellen, dies hat sicherheitsrelevante Gründe. Man könnte jedoch auch den PHP-Source anpassen und das Setzen von disable_functions per vhost zulassen. Dies ist jedoch eine andere Geschichte und soll ein anderes mal erzählt werden.

So, jetzt will ich mal zum Schluss kommen
Ich weise immer und immer wieder darauf hin, dringendst auf SAUBERES PHP-Scripting zu achten, denn nur durch Schlamperei entstehen diese security holes.

Also, vielleicht hilft dieses pseudo HowTo ja mal einem Server-Neuling

So, jetzt mag der ein oder andere sich noch gefragt haben, wie "sicheres Scripting" bei PHP aussehen sollte.
Hierzu gibt es sicher x Artikel im Internet. Ich bin auch nicht ein Profi ode PHP-Gott, deswegen werde ich hier keine ausführliche List schreiben können.
Man sollte jedoch zumindest die Basics beachten!
1. Variablen per GET oder POST übergeben sind über $_GET['vari'] bzw. $_POST['vari'] abzurufen und nicht, wie in vielen Büchern etc fälschlicher Weise erklärt per $vari!
Dazu sollte nat. kommen, dass man die register_globals auf OFF stellt.
What for?
Ganz einfach: sind die register_globals auf ON, so könnte man die Anfrage sehr schnell fälschen.
Aber damit ist es noch nicht getan. Auch sollte man die übergebenen Werte jeweils überprüfen. Weiteres auf PHP.net in der Security-Section... (SQL-Injection etc).

P.s.:
Wieso nur Apache-Modul und nicht CGI?
Die CGI-Version ist total anders aufgebaut. Hierbei läuft oder sollte es zumindest jeder vhost unter eigenem User.
Aber auch hier ist Vorsicht geboten... Man kann nie sicher genug vorgehen.
open_basedir sollte nicht außer Acht gelassen werden und auch so die ein oder andere Function ist auch via CGI nicht gerade ungefährlich!
__________________




Ge?ndert von Cerberus (10.12.2008 um 08:47 Uhr).

 
Benutzerbild von Bluesteel
Bluesteel
Super-Moderator
Letzte Erfolge
Registriert seit: 27.05.2008
Ort: zu hause
Beitr?ge: 2.029
Abgegebene Danke: 510
Erhielt 302 Danke für 52 Beiträge
Downloads: 48
Uploads: 2
Nachrichten: 1565
Hits: 21952
Mit Zitat antworten
Folgende 7 Benutzer sagen Danke zu Bluesteel für den nützlichen Beitrag:
$iMpLy (07.12.2009), Cerberus (10.12.2008), Flint (10.12.2008), Gandalf (10.12.2008), gotthummer (10.12.2008), rodi (10.12.2008), Thunder™ (16.07.2009)
Alt 10.12.2008, 16:34   #2
Cerberus
Administrator
 
Benutzerbild von Cerberus
 
Registriert seit: 07.03.2008
Ort: 3. Bit Links hinter dem Kernel
Alter: 49
Beitr?ge: 9.639
Abgegebene Danke: 1.121
Erhielt 4.499 Danke für 458 Beiträge
Downloads: 18
Uploads: 9
Nachrichten: 2258
Renommee-Modifikator:
10 Cerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes Ansehen
Standard

also ich habe das mal probiert -- bei mir -- ich krieg nur nen Arsch voll Fehlermeldungen

ein Schelm wer böses denkt ....
__________________

Fragen gehören ins Forum - und NICHT in mein Postfach !
Ich erteile KEINEN Privatunterricht über e-mail und PN !

Hackliste Br. NV nach Threadstarter u. Aktualität <--+--> Liste Hacks Bereich NV Alphabethisch
Cerberus ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:34   #3
Bluesteel
Super-Moderator
Letzte Erfolge
 
Benutzerbild von Bluesteel
 
Registriert seit: 27.05.2008
Ort: zu hause
Beitr?ge: 2.029
Abgegebene Danke: 510
Erhielt 302 Danke für 52 Beiträge
Themenstarter Themenstarter
Downloads: 48
Uploads: 2
Nachrichten: 1565
Renommee-Modifikator:
10 Bluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes Ansehen
Standard

du benutzt doch auch nen Admin CP  oder?? dann macht er dieses doch schon selbst und du brauchst es nicht mehr manuell machen
__________________



Bluesteel ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:36   #4
Cerberus
Administrator
 
Benutzerbild von Cerberus
 
Registriert seit: 07.03.2008
Ort: 3. Bit Links hinter dem Kernel
Alter: 49
Beitr?ge: 9.639
Abgegebene Danke: 1.121
Erhielt 4.499 Danke für 458 Beiträge
Downloads: 18
Uploads: 9
Nachrichten: 2258
Renommee-Modifikator:
10 Cerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes Ansehen
Standard

naja -- hier schon ...
ich rede aba vom Tracker-Server ....

der spuckt mir nur Fehler aus
__________________

Fragen gehören ins Forum - und NICHT in mein Postfach !
Ich erteile KEINEN Privatunterricht über e-mail und PN !

Hackliste Br. NV nach Threadstarter u. Aktualität <--+--> Liste Hacks Bereich NV Alphabethisch
Cerberus ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:40   #5
Bluesteel
Super-Moderator
Letzte Erfolge
 
Benutzerbild von Bluesteel
 
Registriert seit: 27.05.2008
Ort: zu hause
Beitr?ge: 2.029
Abgegebene Danke: 510
Erhielt 302 Danke für 52 Beiträge
Themenstarter Themenstarter
Downloads: 48
Uploads: 2
Nachrichten: 1565
Renommee-Modifikator:
10 Bluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes AnsehenBluesteel genießt hohes Ansehen
Standard

was kommen denn für fehlermeldungen???
__________________



Bluesteel ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:42   #6
Solstice
Moderator
Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
 
Benutzerbild von Solstice
 
Registriert seit: 10.04.2008
Alter: 36
Beitr?ge: 4.074
Abgegebene Danke: 200
Erhielt 1.331 Danke für 153 Beiträge
Downloads: 2
Uploads: 1
Nachrichten: 731
Renommee-Modifikator:
6014 Solstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes Ansehen
Standard

man muss auch ja schon genau drauf achten was man sperrt und nicht hirnlos nem tut folgen...

hab mir n Linux Magazin geholt wo auch so n tut drin war....
mit noch mehr tipps als du da beschrieben hast...

aber umgesetzt hab ich tatsächlich nur die Hälfte... weil der rest mit trackerbetrieb nicht vereinbar war oder bequemlichkeit/nutzen verhältnis zu schlecht war...

Es gilt aber nach wie vor... nur wenn man weiß was man da conft kann man es auch sicher machen...
__________________
Schmutziges Geschirr schimmelt nicht,
wenn man es einfriert

Solstice ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:44   #7
Cerberus
Administrator
 
Benutzerbild von Cerberus
 
Registriert seit: 07.03.2008
Ort: 3. Bit Links hinter dem Kernel
Alter: 49
Beitr?ge: 9.639
Abgegebene Danke: 1.121
Erhielt 4.499 Danke für 458 Beiträge
Downloads: 18
Uploads: 9
Nachrichten: 2258
Renommee-Modifikator:
10 Cerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes Ansehen
Standard

löl -- isch finds amüsant
Angeh?ngte Grafiken
Dateityp: jpg errors.JPG (71,6 KB, 258x aufgerufen)
__________________

Fragen gehören ins Forum - und NICHT in mein Postfach !
Ich erteile KEINEN Privatunterricht über e-mail und PN !

Hackliste Br. NV nach Threadstarter u. Aktualität <--+--> Liste Hacks Bereich NV Alphabethisch
Cerberus ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:47   #8
Solstice
Moderator
Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
 
Benutzerbild von Solstice
 
Registriert seit: 10.04.2008
Alter: 36
Beitr?ge: 4.074
Abgegebene Danke: 200
Erhielt 1.331 Danke für 153 Beiträge
Downloads: 2
Uploads: 1
Nachrichten: 731
Renommee-Modifikator:
6014 Solstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes Ansehen
Standard

also nach den fehlerausgaben is alles paletti... usernamen werden nicht rausgerückt...
und die funktionen sind auch deaktiviert XD
__________________
Schmutziges Geschirr schimmelt nicht,
wenn man es einfriert

Solstice ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:50   #9
Cerberus
Administrator
 
Benutzerbild von Cerberus
 
Registriert seit: 07.03.2008
Ort: 3. Bit Links hinter dem Kernel
Alter: 49
Beitr?ge: 9.639
Abgegebene Danke: 1.121
Erhielt 4.499 Danke für 458 Beiträge
Downloads: 18
Uploads: 9
Nachrichten: 2258
Renommee-Modifikator:
10 Cerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes AnsehenCerberus genießt hohes Ansehen
Standard

isch weiß ....

und weißte nochwas -- ich hab das so seit Mai -- seit se unsren Tracker damals Platt gemacht haben ...
__________________

Fragen gehören ins Forum - und NICHT in mein Postfach !
Ich erteile KEINEN Privatunterricht über e-mail und PN !

Hackliste Br. NV nach Threadstarter u. Aktualität <--+--> Liste Hacks Bereich NV Alphabethisch
Cerberus ist offline   Mit Zitat antworten Nach oben
Alt 10.12.2008, 17:57   #10
Solstice
Moderator
Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100 Punkte: 71.264, Level: 100
Levelaufstieg: 0% Levelaufstieg: 0% Levelaufstieg: 0%
Aktivität: 0% Aktivität: 0% Aktivität: 0%
Letzte Erfolge
Auszeichnungen
 
Benutzerbild von Solstice
 
Registriert seit: 10.04.2008
Alter: 36
Beitr?ge: 4.074
Abgegebene Danke: 200
Erhielt 1.331 Danke für 153 Beiträge
Downloads: 2
Uploads: 1
Nachrichten: 731
Renommee-Modifikator:
6014 Solstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes AnsehenSolstice genießt hohes Ansehen
Standard

Humm...
post uns doch mal deine konfig.. XD
__________________
Schmutziges Geschirr schimmelt nicht,
wenn man es einfriert

Solstice ist offline   Mit Zitat antworten Nach oben
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, G?ste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beitr?ge zu antworten.
Es ist Ihnen nicht erlaubt, Anh?nge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beitr?ge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.


Powered by vBulletin® Version 3.8.9 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Template-Modifikationen durch TMS