suexec Probleme

Rund um die Sicherheit des Systems und die Applikationen
Post Reply
sundriver
Posts: 20
Joined: 2006-02-16 09:54
Location: BB
 

suexec Probleme

Post by sundriver »

Hallo@all,

System: RootDS Apache 2.2.0 PHP 5.2.4 Confixx3.3.1 SuSE10.1 procmail Postfix Courier -- open_basedir und disable_functions = show_source, system, shell_exec, passthru, popen, proc_open

Bei mir läuft PHP als suphp ohne Probleme, nur mit suexec habe ich Probleme, wenn ich z.B auf meinem Account ein webshell.pl Script in /cgi-bin lege und es über den Browser starte passiert alles mit den Rechte und der UID und GID des Accountes. Allerdings habe ich keine Probleme mit einem Execute Befehl nach /etc zu springen und mir alles auflisten zu lassen. Ich kann nach Belieben lesen ausser die Files haben 640 . Das macht mir grosse Sorge denn ich kann zum Beispiel auch alle MailDir's einsehen da ich diese nicht auf 750 setzen kann da dann Courier und Co. streiken..

Wie kann ich, ähnlich wie in suPhp, unterbinden das der User aus seinem Account raus springen kann und fröhlich alles lesen kann?

ein suexec2 -V zeigt :

Code: Select all

 -D AP_DOC_ROOT="/srv/www"
 -D AP_GID_MIN=96
 -D AP_HTTPD_USER="wwwrun"
 -D AP_LOG_EXEC="/var/log/apache2/suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=96
 -D AP_USERDIR_SUFFIX="public_html"
Mein DocRoot liegt aber in /srv/www/htdocs/ , der Rest passt. Würde ein neu Compilieren der suexec2 auf die aktuellen Verhältnisse eventuell Abhilfe schaffen?

cu
Sundriver
wgot
Posts: 1675
Joined: 2003-07-06 02:03
 

Re: suexec Probleme

Post by wgot »

Hallo,

bei PHP verhindert das nicht suPHP, sondern OpenBasedir, dieses ist ein Interna von PHP (soll übrigens demnächst rausfliegen); Perl kennt kein OpenBasedir.

Das Script kann genau das schreiben und lesen, was der User unter dem es läuft schreiben und lesen darf, also z.B. über SSH (sofern er einen Zugang darüber hat) schreiben und lesen kann.

Folglich müssen die Rechte so gesetzt werden, daß z.B. ein einfacher User nicht in fremden Maildirs schnüffeln kann, Du müßtest also Courier bearbeiten, nicht suexec.

Gruß, Wolfgang
sundriver
Posts: 20
Joined: 2006-02-16 09:54
Location: BB
 

Re: suexec Probleme

Post by sundriver »

Hallo Wolfgang,

mit php habe ich keine probleme, open_basedir und co funktionieren einwandfrei.

Das Problem ist wie gesagt suexec2 , ich kann mir mit

Code: Select all

#!/usr/bin/perl
print "Content-type: text/html;nn";
print "Hello from a Perl/CGI script";
@id=`id`;
print "@id";
Die UID und die GUI ausgeben lassen, exakt unter diesen wird auch die Webshell abgearbeitet und mit dieser kann ich fröhlich auf Server Sightseeing Tour gehen. Freilich kann ich nichts anstellen es sei denn die Permissions erlauben das.

O.K. so wie ich das jetzt sehe kann ich den User also nicht mit einer Art open_basedir einsperren.

Die Sache mit den MailDir's habe ich mit einem chmod 750 erschlagen, Postfix und procmail finden das auch o.k.

Ich habe schon intensiv Google befragt aber lediglich oberflächliche Infos in bezug auf diverse Permissions bekommen. Meine Frage deshalb, welche Files und Directories sollten eben auch 750 oder unterhalb bekommen damit ich auf der sicheren Seite bin? Gibt es da eventuell irgendwelche Quellen zum nachlesen?

cu Sundriver
Post Reply