suPHP mit Confixx

Apache, Lighttpd, nginx, Cherokee
numark1
Posts: 14
Joined: 2007-06-14 22:27

suPHP mit Confixx

Post by numark1 » 2007-06-14 22:40

Hallo zusammen,

mein erster Thread beschreibt gleich mal mein aktuell größtes Problem.

Ich nutze Debian 4 Etch mit Apache und MySQL sowie Confixx.

Der Server ist frisch Installiert und ich habe über Confixx einen Benutzer angelegt, danach die Domain "verankert" und die Webseiten Daten drauf geschoben.

Allerdings hindert mich suPHP an der Ausführung, glaub ich zumindest ;-)

Beim Aufruf der Domain kommt:

500 - Internal Server Error

Die suphp.log sagt dazu:

Code: Select all

[Thu Jun 14 22:33:09 2007] [warn] UID of script "/home/www/web4/html/index.php" is smaller than min_uid
Eine Änderung von mid auf 0 in der /etc/suphp/suphp.conf bringt auch nichts.

Apache Error Log:

Code: Select all

[Thu Jun 14 22:33:09 2007] [error] [client 90.187.45.245] SoftException in Application.cpp:297: UID of script "/home/www/web4/html/index.php" is smaller than min_uid
[Thu Jun 14 22:33:09 2007] [error] [client 90.187.45.245] Premature end of script headers: index.php
Jetzt habe ich in diversen Foren gelesen etc.

Danach die index.php per chown auf web4:web4 gesetzt und chmod 0644 für Verzeichnisse sowie 0750 für Verzeichnisse.

Ändert leider nichts.

Wenn ich jetzt folgenden Code aus der httpd-Spezial herausnehme:

Code: Select all

 <Directory "/home/www/##user##/html">
AllowOverride All
Options +SymLinksIfOwnerMatch
</Directory> 
Dann bekomme ich einen 403 Permission denied.

So und wenn mir jetzt jemand helfen könnte mein Problem zu lösen wäre ich der Glücklichste Mensch im Leben ;-)

Ich bin über jede Antwort glücklich !

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: suPHP mit Confixx

Post by Roger Wilco » 2007-06-14 22:59

Code: Select all

ls -ln /home/www/web4/html/index.php
Die Meldung ist doch eindeutig: die UID des Benutzers, dem die Datei /home/www/web4/html/index.php gehört, ist kleiner als die fest in SuPHP einkompilierte minimale UID.
Je nach Version von SuPHP kannst du die minimale UID in der Datei /etc/suphp.conf einstellen.

numark1
Posts: 14
Joined: 2007-06-14 22:27

Re: suPHP mit Confixx

Post by numark1 » 2007-06-15 13:16

Ja das ist mir auch klar, wenn ich allerdings in der /etc/suphp/suphp.conf eine mid von 0 einstelle hab ich das gleiche problem. bzw versteh ich nicht warum ich einen 403 error habe wenn ich FollowSymLinks einstelle.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: suPHP mit Confixx

Post by Joe User » 2007-06-15 13:43

Versuche es mal mit:

Code: Select all

<Directory "/home/www/##user##/html">
    Options -All +FollowSymLinks
    AllowOverride Options FileInfo AuthConfig Limit
    Order allow,deny
    Allow from all
</Directory>
Zudem ist mid=0 nicht zu empfehlen, nimm die niedrigste wirklich benötigte uid (bei SUSE wäre dies beispielsweise 30 für den Apache).

numark1
Posts: 14
Joined: 2007-06-14 22:27

Re: suPHP mit Confixx

Post by numark1 » 2007-06-15 17:02

Joe User wrote:Versuche es mal mit:

Code: Select all

<Directory "/home/www/##user##/html">
    Options -All +FollowSymLinks
    AllowOverride Options FileInfo AuthConfig Limit
    Order allow,deny
    Allow from all
</Directory>
Zudem ist mid=0 nicht zu empfehlen, nimm die niedrigste wirklich benötigte uid (bei SUSE wäre dies beispielsweise 30 für den Apache).
Hat leider auch nicht geklappt, und mid=0 war ja nur testweise obs mit ner niedrigeren id überhaupt funbktioniert. wie bekommme ich auf debian raus welche id der apache hat ?

dtdesign
Posts: 391
Joined: 2006-09-05 21:12
Location: Berlin

Re: suPHP mit Confixx

Post by dtdesign » 2007-06-15 17:22

Apache hat doch UID33 oder?

Code: Select all

$> cat /etc/passwd | grep www-data
Bei mir kommt dann folgendes Ergebnis (Debian Sarge 3.1)

Code: Select all

root@p********:~# cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/bin/sh

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: suPHP mit Confixx

Post by Roger Wilco » 2007-06-15 17:29

numark1 wrote:Hat leider auch nicht geklappt, und mid=0 war ja nur testweise obs mit ner niedrigeren id überhaupt funbktioniert.
Hast du auch dir GID beachtet?
numark1 wrote:wie bekommme ich auf debian raus welche id der apache hat ?

Code: Select all

id <Apache Benutzer>

numark1
Posts: 14
Joined: 2007-06-14 22:27

Re: suPHP mit Confixx

Post by numark1 » 2007-06-15 19:33

also der apache ist 33

Code: Select all

cat /etc/passwd | grep www-data
www-data:x:33:33:www-data:/var/www:/bin/sh
Habs jetzt in /etx/suphp/suphp.conf die mid und gid auf 32 gesetzt und den vserver neugestartet sowie das confixx update script durchlaufen lassen.

leider keine änderung. in der suphp.log steht jetzt allerdings:

Code: Select all

[Fri Jun 15 19:22:12 2007] [info] Executing "/home/www/confixx/html/gesperrt/index.php" as UID 641, GID 500
Ohne Eintrag in httpd-Spezial

Code: Select all

[Fri Jun 15 19:25:58 2007] [error] [client 90.186.128.63] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /home/www/web4/html/
Mit Eintrag

Code: Select all

<Directory "/home/www/##user##/html">
    Options -All +FollowSymLinks
    AllowOverride Options FileInfo AuthConfig Limit
    Order allow,deny
    Allow from all
</Directory> 
in der httpd Spezial:

Code: Select all

[Fri Jun 15 19:31:51 2007] [error] [client 90.186.128.63] SoftException in Application.cpp:303: GID of script "/home/www/web4/html/index.php" is smaller than min_gid
[Fri Jun 15 19:31:51 2007] [error] [client 90.186.128.63] Premature end of script headers: index.php
Also so richtig versteh ich den Sinn noch nicht, hab anscheinend nicht genug Ahnung, habt gnade mit mir ! -.-

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: suPHP mit Confixx

Post by Joe User » 2007-06-15 19:59

suPHP schon mit min-uid/gid 33 rekompiliert?

numark1
Posts: 14
Joined: 2007-06-14 22:27

Re: suPHP mit Confixx

Post by numark1 » 2007-06-16 01:56

Joe User wrote:suPHP schon mit min-uid/gid 33 rekompiliert?
Laut google war ich der Meinung das es keiner Kompilierung mehr bedarf ?

adjustman
Posts: 1132
Joined: 2003-03-26 23:29
Location: SA

Re: suPHP mit Confixx

Post by adjustman » 2007-06-16 02:13

Joe User wrote:suPHP schon mit min-uid/gid 33 rekompiliert?
bei Debian? :roll:

dtdesign
Posts: 391
Joined: 2006-09-05 21:12
Location: Berlin

Re: suPHP mit Confixx

Post by dtdesign » 2007-06-16 12:09

Vergiss den ganzen Mist, lege dir einfach einen Dummy-Benutzer an, dem seine Shell auf /bin/false liegt und gib dem die Owner-Rechte (z.B.: webserver:users). Nun kannst du in aller seelenruhe suPHP mit diesem Benutzer betreiben und deine UID wird über 1000 sein = keine Probleme.

Es hat durchaus einen guten Grund, weshalb suPHP nur UIDs > 100 erlaubt.

Code: Select all

$> adduser --home /var/www --no-create-home --shell /bin/false --disable-login --system --ingroup users webserver
Denke, der Befehl sollte dir einen akkuraten Benutzer erstellen ;)

Gruß
dtdesign

numark1
Posts: 14
Joined: 2007-06-14 22:27

Re: suPHP mit Confixx

Post by numark1 » 2007-06-17 17:53

Also danke erstmal, die Seite läuft nun wieder. Ich finde die Idee ja ganz nett aber irgendwie is dieses suphp doch umständlich.
Es müssten jetzt zwangsläufig alle Dateien dieses Besitzer aufweisen, ist nur blöd wenn man noch andere Benutzer hat die was hochladen.

Ist das suphp eigentlich in php5 integriert bzw. lässt sich das auch deaktivieren ?

dtdesign
Posts: 391
Joined: 2006-09-05 21:12
Location: Berlin

Re: suPHP mit Confixx

Post by dtdesign » 2007-06-17 22:12

suPHP ist ein Modul für Apache. Der Indianer bekommt eine Anfrage an ein PHP-Skript, dies wird an suPHP weitergeleitet. Dieser erst startet PHP mit den Rechten des Skript-Besitzers.

Um suPHP für einen VHost / ein Directory zu deaktivieren, kannst du die Direktive "suPHP_Engine off" nutzen.

Ausserdem, was heißt hier "wenn viele Leute Sachen hochladen"? Laden die PHP-Skripte hoch? Wenn die Dateien hochladen, dann soll deren FTP-Programm halt mit dem richtigen Benutzer laufen und wenn das Problem beim Webupload auftritt, hast du es verbockt.

Du hast die Wahl: Mehr Sicherheit vs. Weniger Sicherheit :)

Gruß
dtdesign

tuxx83
Posts: 6
Joined: 2006-08-10 09:43

Re: suPHP mit Confixx

Post by tuxx83 » 2007-06-30 19:37

dtdesign wrote:Um suPHP für einen VHost / ein Directory zu deaktivieren, kannst du die Direktive "suPHP_Engine off" nutzen.
also ich habe bei der domain im httpd-spezial beise versucht :

Code: Select all

suPHP_Engine off
und

Code: Select all

php_admin_flag suPHP_engine off
wenn ich dass tue, bietet er mir die PHP-Datei zum Download an statt sie auszuführen.

ich bekomme meine Webpages (das CMS) trotzdem nicht zum laufen.

Was kann ich noch tun um dieses suPHP los zu werden ?

MfG

dtdesign
Posts: 391
Joined: 2006-09-05 21:12
Location: Berlin

Re: suPHP mit Confixx

Post by dtdesign » 2007-06-30 21:53

TuXx83 wrote:also ich habe bei der domain im httpd-spezial beise versucht :
Ja... du musst das im VHost Container der betreffenden Domain machen
TuXx83 wrote:

Code: Select all

suPHP_Engine off
Diese Direktive ist garantiert richtig
TuXx83 wrote:

Code: Select all

php_admin_flag suPHP_engine off
Weg damit, dass ist keine Konfigurationsvariable von PHP, php_admin_flag "Befehle" stehen in der php.ini!!
TuXx83 wrote:wenn ich dass tue, bietet er mir die PHP-Datei zum Download an statt sie auszuführen.
Könnte an der php_admin_flag liegen, was sagt der error-Log von PHP (da dies ja ein Produktivsystem ist, hast du ja selbstverständlich display_errors ausgeschaltet und loggst in eine Datei...)

Gruß
dtdesign