Bob: Welche Dateien können einem Linux-Server schaden?

Guten Abend!

Ich arbeite gerade an einem kleinen Verzeichnis, in das eher unerfahrene Nutzer Dateien hoch- und andere wieder runterladen können (mit Login). Dabei handelt es sich in der Regel um PDFs oder DOCs. Falls die Leute aber mal ausgefallenere Dateien hochladen sollten, würde ich gerne eine Negativ-Liste erstellen, die alle Endungen enthält, die dem Server schaden könnten, z.B.
.php
.php3
.php4
.phtml
.exe
... ?

Unter Windows würde ich auch noch .scr, .com hinzufügen, unter Linux weiß ich da nicht so wirklich Bescheid.

Kann ich so halbwegs Sicherheit gewährleisten oder sollte ich mich eher an einer langen Positiv-Liste versuchen...?

Ich freue mich über zahlreiche Erweiterungen! :-)

Bob

  1. Guten Morgen!

    Ich arbeite gerade an einem kleinen Verzeichnis, in das eher unerfahrene Nutzer Dateien hoch- und andere wieder runterladen können (mit Login). Dabei handelt es sich in der Regel um PDFs oder DOCs. Falls die Leute aber mal ausgefallenere Dateien hochladen sollten, würde ich gerne eine Negativ-Liste erstellen, die alle Endungen enthält, die dem Server schaden könnten, z.B.

    Nunja, unter LINUX ist es nicht so dass die Dateierweiterung bestimmt ob eine Datei ausführbar ist - so wie das in Windof der Fall ist. D.h., es ist völlig egal welche Erweiterung an einer Datei dranhängt.

    Tipp: Befass dich mal mit den file Kommando.

    T Hochladen, wichtig:

    • upload nur in ein bestimmtes Verzeichnis bzw. Hierarchie,
    • das uploadScript darf an den Dateiberechtigungen nichts ändern,
    • das upload darf keine dateien überschreiben,
    • der Benutzer unter dem das uploadScript läuft darf nicht die Berechtigung haben, dateien auszuführen.

    Gruss, Rolf

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. Danke für die Tipps!

      • der Benutzer unter dem das uploadScript läuft darf nicht die Berechtigung haben, dateien auszuführen.

      Das zielt ja denke ich auf chmod - und wenn ich ihre Berechtigung mit chmod auf 644 setze, kann die Datei eh niemand ausführen? Dann könnte es mir ja piep egal sein, was die Leute hochladen, wenn es keiner ausführen darf...? Andererseits sind die Php-Dateien auf dem Server auch alle 644 - sie werden zwar letztlich nicht ausgeführt, aber dennoch verarbeitet.
      Fazit: Ich muss nur die Dateien verbieten, die vom Webserver zu meinem Nachteil verarbeitet werden (sprich Php) und den Rest nicht ausführbar machen?

      Danke nochmal!

      Robin

      1. Hallo Bob,

        Fazit: Ich muss nur die Dateien verbieten, die vom Webserver zu meinem Nachteil verarbeitet werden (sprich Php) und den Rest nicht ausführbar machen?

        Nicht unbedingt.

        AddType application/x-httpd-php-source .php .phps
        Options -ExecCGI -Includes

        und schon sollten PHP-Dateien, CGI-Scripts und SSI auch nicht mehr interpretiert werden.

        Schöne Grüße,

        Johannes

        --
        Der folgende Satz ist wahr.         | http://www.zeller-johannes.de/
        Der vorhergehende Satz ist gelogen. |
        ss:| zu:} ls:[ fo:} de:] va:} ch:) sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}
  2. h bob

    ich denke, falls dir die möglichkeit gegeben ist, dass du mit einer positiv-liste besser bedient bist.
    alles ist verboten, bis DU es auf deiner positiv-liste erwähnt hast.
    da du ja selber geschrieben hast, dass es meist .pdf oder .doc dateien sind, gestaltet sich dies wohl etwas einfacher...

    dies ist meine meinung, ohne zu wissen, welche art server du nutzt und wie du das zu realisieren gedenkst.

    typ:
    nimm noch die kürzel der openoffice und staroffice-dateien...;)

    my 2 rappen
    scheuri

  3. use Mosche;

    Ich arbeite gerade an einem kleinen Verzeichnis, in das eher unerfahrene Nutzer Dateien hoch- und andere wieder runterladen können (mit Login). Dabei handelt es sich in der Regel um PDFs oder DOCs. Falls die Leute aber mal ausgefallenere Dateien hochladen sollten, würde ich gerne eine Negativ-Liste erstellen, die alle Endungen enthält, die dem Server schaden könnten, z.B.

    Du musst nur verhindern, dass Dateien von dort auf dem Server ausgeführt werden können. D.h., du musst entsprechend dein chmod setzen und auch anderweitig die Dateien nicht ausführen, dann sollte deinem _Server_ nichts passieren.

    Bedenke aber, dass ggf. Viren, Trojaner oder ähnliches hierüber verteilt werden könnte.

    use Tschoe qw(Matti);

    --
    neues Selftreffen?
    http://selfcommunity.teamone.de/foren/community/?t=2241&m=2687
      Anyone who quotes me in their sig is an idiot. -- Rusty Russell.