OS X Unix Apache Problem

Dieses Thema im Forum "Hardware" wurde erstellt von Harlekin, 10. Juni 2002.

  1. Harlekin

    Harlekin Gast

    Servus @ all,

    So, nachdem ich mit der Umstellung auf OS X im Grossen und Ganzen fertig bin, beginne ich erste Schritte in Unix und anderen unentdeckten Reichen.

    Dazu an die Fachleute eine erste Frage:

    Habe den ftp server unter Sharing aktiviert und moechte, dass beim Zugriff ueber Internet Browser die Dateien ".DS_Store" (und andere) nicht angezeigt werden, auch da dies eine Sicherheitsluecke darstellt.
    Habe bereits verschiedene Anleitungen aus Foren befolgt, leider ohne Erfolg.

    Kennt jemand die genaue Syntax, welche im Terminal eingegeben werden muss?
    Bitte keine Links zu Unix/Apache Foren posten, sondern nur genau die Syntax, falls bekannt.

    Danke,
    Harlekin

    .
     
  2. zwoelf11_

    zwoelf11_ New Member

    vom FTP kannst du keine sachen verstecken, und das hat mit apache null zu tun. du kannst in den entprechenden FTP verzeichnissen jedoch beispielsweise mit rechten operieren, und bestimmte dateien für ftp nutzer nicht freigeben.

    apache kannst du aber einschränken:
    in der httpd.conf
    <TT>
    &lt;Files ~ "^.DS"&gt;
    Order allow,deny
    Deny from all
    &lt;/Files&gt;
    </TT>
    verbietet alle datein mit ".DS" am anfang. angezeigt werden dateien, die mit einem . anfangen aber eh nicht.

    jetz bitte keine fragen "wie editier ich die httpd.conf?" etc.
    ich finds übrigends n bissl albern zu fragen á la "entweder machs mir, oder sei still" ... miete dir webspace, da kriste gleich alles gemacht oder überred doch nen kumpel?
     
  3. Harlekin

    Harlekin Gast

    - Die von Dir geschilderte Variante habe ich probiert, ging nicht. Die waere auch nicht sehr sinnvoll, da auf HFS+ nicht zwischen Gross- und KleinSchreibung unterschieden wird.
    Deshalb tendiere ich eher zu folgender Variante:

    &lt;FilesMatch "^.[Dd][Ss]_[Ss]"&gt;
    Order allow,deny
    Deny from all
    &lt;/FilesMatch&gt;


    Hat aber auch nicht funktioniert.

    - WebSpace habe ich natuerlich auch gemietet, nur bringt das ja nichts fuer den Zugriff auf das eigene Office Netzwerk.

    .
     
  4. mats

    mats New Member

    keine' setzt. Was passiert dann?

    Im Terminal: chmod 600 pfad_der_datei

    Ich krieg leider nicht mal eine ftp-Verbindung aus dem Browser hin (500 Illegal PORT range rejected. ), darum kann ich es nicht selbst versuchen.
     
  5. Harlekin

    Harlekin Gast

    Die Leserechte, welche man in OS X vergeben kann, werden durch ftp nicht beruecksichtigt.
    Es waere auch sehr muehsam fuer alle in Frage kommenden Dateien solche Rechte einzeln und manuell vergeben zu muessen.

    .
     
  6. Harlekin

    Harlekin Gast

    Also gibt es hier niemanden, der mit genauer Syntax erklaeren kann, wie man beim Zugriff auf ftp per Internet Browser die Dateien mit einem . davor (wie .DS_Store) ausblendet? (Eingabe OS X UNIX Terminal)


    @ Macwelt
    Vielleicht waere auch die Einrichtung einer eigenen Forum Rubrik "UNIX" sinnvoll?

    Harlekin

    .
     
  7. zwoelf11_

    zwoelf11_ New Member

    du hast aber schon der server neugestartet, ja? einfach in die httpd.conf reinhacken reicht nich =)

    ftp tut rechte nicht beachten ist albern. das wär ja das sicherheitsloch.
    <TT>
    [localhost:~] elph% touch TESTDATEI
    [localhost:~] elph% sudo chown root:wheel TESTDATEI; sudo chmod 0 TESTDATEI
    Password:
    Password:
    [localhost:~] elph% ftp localhost
    220 localhost FTP server (Version 6.00LS) ready.
    Name (localhost:elph): elph
    331 Password required for elph.
    Password:
    230 User elph logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp&gt; get TESTDATEI
    local: TESTDATEI remote: TESTDATEI
    ftp: local: TESTDATEI: Operation not permitted
    </TT>

    Und: es ist immernoch ein FTPd problem und hat nichts mit Apache/ Internet Browser zu tun.
    vielleicht sollte man dir auch noch FTP erklären, da macht es nämlich überhaupt keinen sinn, die .DS_Store zu verstecken.
    Entweder, du lässt einen legitimen nutzer per ftp auf deinen server zugreifen. dann muss er natürlich zugriff auf alle seine dateien haben. dazu gehört auch .DS_Store. ODER du machst nen anonymous/guest ftp auf. da tust du dann nur die sachen rein, die reingehören.

    nochwas:
    was ist eigentlich so geheim an der .DS_Store?
    und:
    das mit apache verbietet nur, die datei per HTTP zu downloaded. gelistet wird sich ja eh nicht...
     
  8. Harlekin

    Harlekin Gast

    Ein weiteres Sicherheitsloch unter Mac OS X entsteht für den Apache-Webserver, es läßt sich jedoch mit ein paar Handgriffen stopfen.
    Wenn unter Mac OS X ein Verzeichnis aus dem Finder geöffnet wird, legt das System eine unsichtbare Datei namens ".DS_Store" an, die unter anderem alle Dateien und Unterverzeichnisse in einer Textdatei listet.
    Das gilt leider auch für die Webserver-Dokumentverzeichnisse, einmal aus dem Finder geöffnet, gibt es eine Listing-Datei aller HTML- und PHP-Seiten, Grafiken und Unterverzeichnisse. Gerade das will der Betreiber des Webservers aber verhindern: Surfer sollen weder alle Dateien noch alle Verzeichnisse einsehen können. Wählt der probierfreudige Surfer zum Beispiel die Adresse "www.meinserver.de/.DS_Store" geschieht aber genau das.

    Um den Dateneinbruch zu verhindern, ist eine einfache "FilesMatch"-Direktive in die Webserver-Konfigurationsdatei zu schreiben.
    Öffnen Sie per Terminal und pico als Administrator die Konfigurationsdatei des Webservers mit dem Befehl:
    sudo pico /etc/httpd/httpd.conf
    Im unteren Drittel der Datei finden Sie die Definition des ".htaccess"-Files (ermöglicht den Schutz von Verzeichnissen per Usernamen und Passwort) und seine Schtuzdirektive. Die Direktive beginnt mit der Zeile:
    AccessFileName .htaccess
    darunter gibt es die Schutzdirektive. Unterhalb der Direktive fügen Sie jetzt die folgenden Zeilen ein:
    &lt;FilesMatch "^.[Dd][Ss]_[Ss]"&gt;
    Order allow,deny
    Deny from all
    &lt;/FilesMatch&gt;
    Nach Aus-und Einschalten des Webservers ist der Zugriff auf die Dateien für den gesamten Webserver gesperrt, die Maschine wieder sicher.

    .
     
  9. zwoelf11_

    zwoelf11_ New Member

    &gt; Wenn unter Mac OS X ein Verzeichnis aus dem Finder geöffnet wird,
    &gt; legt das System eine unsichtbare Datei namens ".DS_Store" an,
    &gt; die unter anderem alle Dateien und Unterverzeichnisse in einer
    &gt; Textdatei listet

    1) .DS_Store ist keine Textdatei
    2) .DS_Store enhält NICHT "alle Dateien und Unterverzeichnisse"

    wer denkt sich so ein schorf aus?
     
  10. Harlekin

    Harlekin Gast

    Das ist ein offizieller MacUp Artikel, die denken sich so etwas aus.

    .
     
  11. TuX

    TuX New Member

    Servus Leute,
    also mit dem hier funzt das bei mir.
    man bekommt dann immer ein "Forbidden" wenn man den .DS_Store aufruft...

    &lt;Files ~ "^.DS"&gt;
    Order allow,deny
    Deny from all
    &lt;/Files&gt;

    TuX...
     
  12. Harlekin

    Harlekin Gast

    Servus @ all,

    So, nachdem ich mit der Umstellung auf OS X im Grossen und Ganzen fertig bin, beginne ich erste Schritte in Unix und anderen unentdeckten Reichen.

    Dazu an die Fachleute eine erste Frage:

    Habe den ftp server unter Sharing aktiviert und moechte, dass beim Zugriff ueber Internet Browser die Dateien ".DS_Store" (und andere) nicht angezeigt werden, auch da dies eine Sicherheitsluecke darstellt.
    Habe bereits verschiedene Anleitungen aus Foren befolgt, leider ohne Erfolg.

    Kennt jemand die genaue Syntax, welche im Terminal eingegeben werden muss?
    Bitte keine Links zu Unix/Apache Foren posten, sondern nur genau die Syntax, falls bekannt.

    Danke,
    Harlekin

    .
     
  13. zwoelf11_

    zwoelf11_ New Member

    vom FTP kannst du keine sachen verstecken, und das hat mit apache null zu tun. du kannst in den entprechenden FTP verzeichnissen jedoch beispielsweise mit rechten operieren, und bestimmte dateien für ftp nutzer nicht freigeben.

    apache kannst du aber einschränken:
    in der httpd.conf
    <TT>
    &lt;Files ~ "^.DS"&gt;
    Order allow,deny
    Deny from all
    &lt;/Files&gt;
    </TT>
    verbietet alle datein mit ".DS" am anfang. angezeigt werden dateien, die mit einem . anfangen aber eh nicht.

    jetz bitte keine fragen "wie editier ich die httpd.conf?" etc.
    ich finds übrigends n bissl albern zu fragen á la "entweder machs mir, oder sei still" ... miete dir webspace, da kriste gleich alles gemacht oder überred doch nen kumpel?
     
  14. Harlekin

    Harlekin Gast

    - Die von Dir geschilderte Variante habe ich probiert, ging nicht. Die waere auch nicht sehr sinnvoll, da auf HFS+ nicht zwischen Gross- und KleinSchreibung unterschieden wird.
    Deshalb tendiere ich eher zu folgender Variante:

    &lt;FilesMatch "^.[Dd][Ss]_[Ss]"&gt;
    Order allow,deny
    Deny from all
    &lt;/FilesMatch&gt;


    Hat aber auch nicht funktioniert.

    - WebSpace habe ich natuerlich auch gemietet, nur bringt das ja nichts fuer den Zugriff auf das eigene Office Netzwerk.

    .
     
  15. mats

    mats New Member

    keine' setzt. Was passiert dann?

    Im Terminal: chmod 600 pfad_der_datei

    Ich krieg leider nicht mal eine ftp-Verbindung aus dem Browser hin (500 Illegal PORT range rejected. ), darum kann ich es nicht selbst versuchen.
     
  16. Harlekin

    Harlekin Gast

    Die Leserechte, welche man in OS X vergeben kann, werden durch ftp nicht beruecksichtigt.
    Es waere auch sehr muehsam fuer alle in Frage kommenden Dateien solche Rechte einzeln und manuell vergeben zu muessen.

    .
     
  17. Harlekin

    Harlekin Gast

    Also gibt es hier niemanden, der mit genauer Syntax erklaeren kann, wie man beim Zugriff auf ftp per Internet Browser die Dateien mit einem . davor (wie .DS_Store) ausblendet? (Eingabe OS X UNIX Terminal)


    @ Macwelt
    Vielleicht waere auch die Einrichtung einer eigenen Forum Rubrik "UNIX" sinnvoll?

    Harlekin

    .
     
  18. zwoelf11_

    zwoelf11_ New Member

    du hast aber schon der server neugestartet, ja? einfach in die httpd.conf reinhacken reicht nich =)

    ftp tut rechte nicht beachten ist albern. das wär ja das sicherheitsloch.
    <TT>
    [localhost:~] elph% touch TESTDATEI
    [localhost:~] elph% sudo chown root:wheel TESTDATEI; sudo chmod 0 TESTDATEI
    Password:
    Password:
    [localhost:~] elph% ftp localhost
    220 localhost FTP server (Version 6.00LS) ready.
    Name (localhost:elph): elph
    331 Password required for elph.
    Password:
    230 User elph logged in.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp&gt; get TESTDATEI
    local: TESTDATEI remote: TESTDATEI
    ftp: local: TESTDATEI: Operation not permitted
    </TT>

    Und: es ist immernoch ein FTPd problem und hat nichts mit Apache/ Internet Browser zu tun.
    vielleicht sollte man dir auch noch FTP erklären, da macht es nämlich überhaupt keinen sinn, die .DS_Store zu verstecken.
    Entweder, du lässt einen legitimen nutzer per ftp auf deinen server zugreifen. dann muss er natürlich zugriff auf alle seine dateien haben. dazu gehört auch .DS_Store. ODER du machst nen anonymous/guest ftp auf. da tust du dann nur die sachen rein, die reingehören.

    nochwas:
    was ist eigentlich so geheim an der .DS_Store?
    und:
    das mit apache verbietet nur, die datei per HTTP zu downloaded. gelistet wird sich ja eh nicht...
     
  19. Harlekin

    Harlekin Gast

    Ein weiteres Sicherheitsloch unter Mac OS X entsteht für den Apache-Webserver, es läßt sich jedoch mit ein paar Handgriffen stopfen.
    Wenn unter Mac OS X ein Verzeichnis aus dem Finder geöffnet wird, legt das System eine unsichtbare Datei namens ".DS_Store" an, die unter anderem alle Dateien und Unterverzeichnisse in einer Textdatei listet.
    Das gilt leider auch für die Webserver-Dokumentverzeichnisse, einmal aus dem Finder geöffnet, gibt es eine Listing-Datei aller HTML- und PHP-Seiten, Grafiken und Unterverzeichnisse. Gerade das will der Betreiber des Webservers aber verhindern: Surfer sollen weder alle Dateien noch alle Verzeichnisse einsehen können. Wählt der probierfreudige Surfer zum Beispiel die Adresse "www.meinserver.de/.DS_Store" geschieht aber genau das.

    Um den Dateneinbruch zu verhindern, ist eine einfache "FilesMatch"-Direktive in die Webserver-Konfigurationsdatei zu schreiben.
    Öffnen Sie per Terminal und pico als Administrator die Konfigurationsdatei des Webservers mit dem Befehl:
    sudo pico /etc/httpd/httpd.conf
    Im unteren Drittel der Datei finden Sie die Definition des ".htaccess"-Files (ermöglicht den Schutz von Verzeichnissen per Usernamen und Passwort) und seine Schtuzdirektive. Die Direktive beginnt mit der Zeile:
    AccessFileName .htaccess
    darunter gibt es die Schutzdirektive. Unterhalb der Direktive fügen Sie jetzt die folgenden Zeilen ein:
    &lt;FilesMatch "^.[Dd][Ss]_[Ss]"&gt;
    Order allow,deny
    Deny from all
    &lt;/FilesMatch&gt;
    Nach Aus-und Einschalten des Webservers ist der Zugriff auf die Dateien für den gesamten Webserver gesperrt, die Maschine wieder sicher.

    .
     
  20. zwoelf11_

    zwoelf11_ New Member

    &gt; Wenn unter Mac OS X ein Verzeichnis aus dem Finder geöffnet wird,
    &gt; legt das System eine unsichtbare Datei namens ".DS_Store" an,
    &gt; die unter anderem alle Dateien und Unterverzeichnisse in einer
    &gt; Textdatei listet

    1) .DS_Store ist keine Textdatei
    2) .DS_Store enhält NICHT "alle Dateien und Unterverzeichnisse"

    wer denkt sich so ein schorf aus?
     

Diese Seite empfehlen