curl unter PHP "beschränken"

Hi,

ich suche eine Möglichkeit curl unter PHP zu beschränken ohne die Funktion komplett deaktivieren zu müssen. Konkret will ich das nur bestimmte php-Files curl nutzen dürfen ODER curl dürfen alle Scripte benutzen aber dann nur bestimmte Anfragen an vordefenierten Hosts senden.

Ich dachte man könnte das evtl über die Apache Config regeln in Kombination einer geänderten php.ini

Jemand eine Idee wie man das Problem lösen könnte?

PHP Version
PHP 5.3.3-7+squeeze18 with Suhosin-Patch (cli) (built: Dec 12 2013 09:20:04)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with XCache v1.3.0, Copyright (c) 2005-2009, by mOo
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
Serverinfo
Server version: Apache/2.2.16 (Debian)

Danke für Infos!
 
Das Problem liegt viel grundlegender. Du willst nicht-vertrauenwürdige neben vertrauenswürdigen PHP Skripten ausführen, was aus Sicherheitssicht immer eine schlechte Idee ist. Die Erstellung unabhängiger VMs wäre eine weitaus saubere Lösung. Alternativ kannst du dich mit Sandboxing und PHP auseinandersetzen, z.B. aus Sicht der Entwicklung von Honeypots. Wenn dir (oder deinem/r "AuftraggeberIn") das zu viel ist, dann gibts sicherlich auch andere Ansätze, z.B.

1. Firewalls, die alles blocken und nur das erlaubte durchlassen. Unterstützen kannst du das beispielsweise mit eigenen DNS-Servern, die Auflösungsversuche von fremden Hosts unterbinden und den Administrator benachrichtigen. Das bringt aber natürlich nichts gegen Zugriffe direkt auf die IPs, die du letztendlich nur mittels Firewalls blocken kannst. Eine solche Whitelist-Funktion existiert meines Wissens in cURL nicht.

2. mehrere PHP-Konfigurationen auf einem Host. Das erhöht zwar den Verwaltungsaufwand und ist eher was für Bastler/Innen, löst jedoch das Problem, dass du auf die Dateien mit unterschiedlichen Konfigurationen zugreifen willst.

Aber um es nochmal zu betonen: Nicht-vertrauenswürdige Programme/Skripte gehören nicht auf den selben Host (und meiner Ansicht nicht ins gleiche Netzsegment...) wie vertrauenswürdige Programme/Skripte!
 
Danke SchwarzeBeere das Sandboxing schau ich mir mal an, aber es wird wohl auf die 2te von dir genannte Lösung hinhaus laufen.
 
Zurück
Oben