Desabling shell-php attack scripte funktionen!

Bash, Shell, PHP, Python, Perl, CGI
Anonymous

Desabling shell-php attack scripte funktionen!

Post by Anonymous »

hi,
disable_functions spezifiziert eine Liste von gesperrten PHP-Funktionen. Insbesondere PHP-Anwendungen, die unter Sicherheitsapekten entwickelt wurden, machen einen großen Bogen um potenziell gefährliche Funktionen wie exec(), sodass ihr Fehlen ihnen häufig keine Probleme bereitet -- vielen im Umlauf befindlichen Exploits aber sehr wohl. von heise.de/security
Also ich hab mir ueberligt, ob man noch paar funktionen eintraegt um nutzung von php-shell atack scripte wie C99 oder r57 total auf den Server verhindert.
Gibt da was spezielles, um sowas zu tun?
mein jetztige disable_functions in php.ini ist so:

Code: Select all

disable_functions = exec,system,passthru,shell_exec,popen,escapeshellcmd,proc_open,proc_nice,ini_restore
Danke im Voraus
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Desabling shell-php attack scripte funktionen!

Post by Joe User »

Code: Select all

disable_functions = escapeshellarg,escapeshellcmd,exec,passthru,pclose,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,readfile,shell_exec,show_source,symlink,system
Die Liste lässt sich aber noch erheblich erweitern. Eine Whitelist wäre je nach verwendeten PHP-Scripts deutlich kürzer. Als Erstes würde ich aber alle nicht benötigten PHP-Extensions deinstallieren.
Last edited by Joe User on 2009-11-15 15:18, edited 1 time in total.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Anonymous

Re: Desabling shell-php attack scripte funktionen!

Post by Anonymous »

danke, aber attack php-shell scripte werden immer noch problem los laufen!
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Desabling shell-php attack scripte funktionen!

Post by Joe User »

Das kannst Du auch nicht mit disable_functions/disable_classes verhindern können, ohne Deine anderen WebApps ebenfalls zu blockieren. Das Absichern der WebWapps, damit die Shells gar nicht erst eingeschleust werden können, ist der bessere Weg.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Anonymous

Re: Desabling shell-php attack scripte funktionen!

Post by Anonymous »

Joe User wrote:Das Absichern der WebWapps, damit die Shells gar nicht erst eingeschleust werden können, ist der bessere Weg.
gibt irgendwelche doku oder infos darueber? weil google sagt mir nichts darueber!

danke viel mals
Last edited by Anonymous on 2009-11-15 19:32, edited 1 time in total.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Desabling shell-php attack scripte funktionen!

Post by Joe User »

Grundsätzlich müssen alle übergebenen Daten, egal woher sie stammen, auf ihre legalität im jeweiligen Kontext geprüft werden und wenn dies nicht der Fall sein sollte oder Zweifel bestehen, diese umgehend verworfen werden. Als nächstes ist möglichst auf Upload-Funktionen zu verzichten, oder die Uploads auf ihren Inhalt zu prüfen und nicht wie bei vielen WebApps üblich nur auf die File-Extension oder den MIME-Type.

Obiges ist gleichzeitig auch auf alle anderen Komponennten des Webservers anzuwenden, etwa andere Scriptsprachen und selbstverständlich dem Webserver selbst. Wenn dies sorgfältig umgesetzt wurde, ist die Wahrscheinlichkeit einer eingeschleusten PHP-Shell bereits relativ gering. Ganz ausschliessen kann man es allerdings nie.

Selbstverständlich muss dies Alles regelmässig kontrolliert werden, insbesondere nach Updates der betroffenen Komponennten.


Das ist natürlich sehr viel Arbeit und erfordert ein breites Wissen, welches sich Spezialisten wie Stefan Esser entsprechend gut bezahlen lassen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Anonymous

Re: Desabling shell-php attack scripte funktionen!

Post by Anonymous »

Viele sicherheit einstellung habe ich geschaft, aber wie du weisst sicheheit ist ein Prozess und nichts Status.
Danke fuer die infos, ich werde mich darum kuemmern beste sicheheit fuer mein server zu schafen. Ehrlich zu sagen, was ich momentan habe stammen meisten von euren anleitungen und antworten.

mfg
Sia
monotek
Posts: 64
Joined: 2003-08-26 23:23
Location: Dresden

Re: Desabling shell-php attack scripte funktionen!

Post by monotek »

Joe User wrote:

Code: Select all

disable_functions = escapeshellarg,escapeshellcmd,exec,passthru,pclose,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,readfile,shell_exec,show_source,symlink,system
Die Liste lässt sich aber noch erheblich erweitern. Eine Whitelist wäre je nach verwendeten PHP-Scripts deutlich kürzer. Als Erstes würde ich aber alle nicht benötigten PHP-Extensions deinstallieren.
Bin grad über den Thread gestolpert...

Auch wenn er etwas älter ist, erlaube mir bitte die Frage, warum readfile deaktiviert wird, fopen und file_get_contents aber nicht?

Letztlich kann ich doch mit den beiden anderen Funktionen das Gleiche erreichen wie mit readfile, oder?
Last edited by monotek on 2010-09-24 16:20, edited 1 time in total.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Desabling shell-php attack scripte funktionen!

Post by Joe User »

Weil fopen/file_get_contents von viel zu vielen WebApps benutzt werden und somit weniger Hilferufe ala "Mein Blog funzt nicht mehr" hier aufschlagen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
monotek
Posts: 64
Joined: 2003-08-26 23:23
Location: Dresden

Re: Desabling shell-php attack scripte funktionen!

Post by monotek »

Danke für die schnelle Antwort :-)

Du würdest also am liebsten alle Funktionen verbieten, die das öffnen von Dateien ermöglichen, hast die 2 von mir genannten aber aus Kompatibilitätsgründen nicht gesperrt?

So gesehen bringt das sperren von readfile dann ja auch nicht mehr viel, wenn mans mit anderen Funktionen nachbilden kann...
User avatar
Joe User
Project Manager
Project Manager
Posts: 11174
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Desabling shell-php attack scripte funktionen!

Post by Joe User »

Letztendlich lassen sich nahezu alle Funktionen nachbilden, weshalb disable_functions und disable_classes ebenso wie safemode und openbasedir kein Sicherheitsfeature darstellen. Sie erfordern minimal mehr Kreativität vom Angreifer, mehr aber auch nicht.
IMHO Security by Obscurity.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.