Umgehen von noexec sinnvoll verhindern

Rund um die Sicherheit des Systems und die Applikationen
prickelpit
Posts: 36
Joined: 2003-10-21 13:59

Umgehen von noexec sinnvoll verhindern

Post by prickelpit » 2004-12-06 20:48

Hi,

ich habe einen Nutzer web, den ich nur für suPHP brauche. Alle Verzeichnisse, in denen er Schreibrechte hat (~, /tmp, etc.) sind noexec gemountet.

Jetzt kann web ja folgendes machen:

Code: Select all

<?php
echo exec('/bin/bash /tmp/test.sh');
?>
Wie kann ich ohne Bordmittel von PHP (safe_mode etc.) sinnvoll verhindern, daß web mein noexec-Attribut "austrickst"?

Mir fällt spontan dazu nur folgendes ein:
- others via chmod das Ausführen von Shells und anderen kritischen Programmen verbieten

Dann müsste ich natürlich wieder schauen, wie die User, die auf die Shell angewiesen sind, die aufrufen. Klar, ich könnte das z.B. über eine Gruppe regeln, aber das scheint mir doch nicht so das Wahre zu sein.

Gruß
Pit

myname
Posts: 96
Joined: 2003-10-31 11:12

Re: Umgehen von noexec sinnvoll verhindern

Post by myname » 2005-01-05 14:14

Mit open_basedir einfach den Zugriff auf das Verzeichnis vom Nutzer beschränken oder mit disable_functions alle Funktionen zum Ausführen von Befehlen deaktivieren.

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Umgehen von noexec sinnvoll verhindern

Post by captaincrunch » 2005-01-05 14:33

Welchen Kernel verwendest du? noexec auf /tmp usw. wird erst seit gar nicht so langer Zeit auch korrekt umgesetzt.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

prickelpit
Posts: 36
Joined: 2003-10-21 13:59

Re: Umgehen von noexec sinnvoll verhindern

Post by prickelpit » 2005-01-05 17:16

Hi,
Myname wrote:Mit open_basedir einfach den Zugriff auf das Verzeichnis vom Nutzer beschränken oder mit disable_functions alle Funktionen zum Ausführen von Befehlen deaktivieren.
ich hab' das genau so gemacht. Mir geht es eher um Vorkehrungen, falls aufgrund irgendeines Bugs die Schutzmaßnahmen von PHP irgendwie umgangen werden, oder aufgrund einer anderweitigen Lücke jemand Zugang zu meinem System bekommt.
CaptainCrunch wrote:Welchen Kernel verwendest du? noexec auf /tmp usw. wird erst seit gar nicht so langer Zeit auch korrekt umgesetzt.
Leider läuft auf der Kiste ein total überladener 2.6.8er Debian Standardkernel. Eigentlich würde ich gerne einen aktuellen, geptachten 2.4er einsetzen, aber der Anbieter bietet kein Rescuesystem. Und da ich als Distri Debian (Standard war RedHat) gewählt hab, wird momentan jeglicher Support verweigert. Auch eine eventuell notwendige Ã?nderung am Bootloader samt Neustart durch einen Servicemitarbeiter, falls mein Kernel nicht startet sollte, wird kategorisch abgelehnt (da Debian :lol: ).

Pit

golloza
Posts: 23
Joined: 2005-01-03 17:27

Re: Umgehen von noexec sinnvoll verhindern

Post by golloza » 2005-01-05 19:17

Ist seit 2.4.25/2.6.0 behoben:

man mount

Code: Select all

noexec Do not allow direct execution of any binaries on the mounted file system.  (Until
recently it was possible to run  binaries anyway using a command like /lib/ld*.so /mnt/binary. This rick fails since Linux 2.4.25 / 2.6.0.)

smash
Posts: 32
Joined: 2004-12-27 16:53
Location: Hessen

Re: Umgehen von noexec sinnvoll verhindern

Post by smash » 2005-01-05 21:59

Myname wrote:Mit open_basedir einfach den Zugriff auf das Verzeichnis vom Nutzer beschränken oder mit disable_functions alle Funktionen zum Ausführen von Befehlen deaktivieren.
open_basedir beschränkung bringt in diesem Fall garnichts.