Jackson: Webserverberechtigungen

Hallo zusammen,

ich bin grad am Schreiben meiner Diplomarbeit, die sich mit ASP beschäftigt. Ich beschreibe gerade die Einstellungen am IIS.
Es ist doch richtig, dass ich für einen Ordner mit ASP-Dateien auf jeden Fall Leseberechtigung brauche, oder? In dem Buch, dass ich konsultiere wird nämlich das Gegenteil behauptet, da steht: "...Geben Sie dieses Recht niemals einem Verzeichnis mit ASP-Dateien. Der Browser wird sonst die ASP-Dateien, genauer gesagt den Quelltext anzeigen." Kann ich mir beim besten Willen nicht vorstellen, denn wenn ich das Recht nicht vergebe, wird auf meinem lokalen Webserver gar nix augegeben und das kann nicht Sinn der Sache sein. Weiter verwirrt mich folgende Aussage, die das Skriptzugriffs-Recht betrifft: "ASP-Skriptdateien in einem so gekennzeichneten Verzeichnis werden an die ASP-Engine gesendet(ASP.DLL). Andere Skriptsprachen werden an den installierten Prozessor gesendet." Jedoch bekomme ich auch ohne diese Berechtigung auf meinem System alle ASP-Dateien fehlerfrei angezeigt. In der Doku zum IIS steht, dass bei der Skriptzugriffs-Berechtigung es möglich sei, sich den Quelltext der ASP-Datei anzusehen. Den Quelltext ansehen kann ich mir schon, aber nur den vom zurückgelieferten HTML, so wie's auch sein soll. Von den original Skriptformulierungen entdecke ich da weit und breit nichts.
Vielleicht kann mich ja jemand mal aufklären, wie ich das zu Verstehen habe.

Gruß Jackson

  1. Hallo Jackson,

    hier gilt es 2 Dinge zu unterscheiden.
    Berechtigung auf Dateisystem-Ebene und IIS-Ebene.
    Die Berechtigungen des Dateisystems gelten für den User der zugreifen will (also IUSR_xxx bei anonymem Zugriff oder der angemeldete User).

    "...Geben Sie dieses Recht niemals einem Verzeichnis mit ASP-Dateien. Der Browser wird sonst die ASP-Dateien, genauer gesagt den Quelltext anzeigen."
    Hier meinen die wohl eher das Recht "Directory browsing allowed" des IIS. Du kriegst den Inhalt eines Verzeichnisses angezeigt, wenn unter "documents" kein "Default Document" definiert ist oder dieses im angesprochenen Verzeichnis nicht vorhanden ist.
    Hab noch nie erlebt, daß der IIS den Inhalt einer ASP Datei am Client anzeigt - außer er weiß mit der Endung .ASP nichts anzufangen und liefert sie dann an den Client aus.

    "ASP-Skriptdateien in einem so gekennzeichneten Verzeichnis werden an die ASP-Engine gesendet(ASP.DLL). Andere Skriptsprachen werden an den installierten Prozessor gesendet."
    Also ich verstehe den IIS so, daß für alle Dateitypen (.aps, .php ...) definiert werden muß, welcher Interpreter sich um den Inhalt kümmert. Dies passiert unter "Home Directory / Configuration". Wenn dort die Zuweisung von .ASP auf die DLL fehlt, dann wird der ASP-Source an den Client ausgeliefert.

    Ich hoffe, die Info stimmt - mein System läuft unter IIS 4.0.

    Schöne Grüße vom Bodensee
    Thomas

    1. Hi Thomas,

      hier gilt es 2 Dinge zu unterscheiden.
      Berechtigung auf Dateisystem-Ebene und IIS-Ebene.
      Die Berechtigungen des Dateisystems gelten für den User der zugreifen will (also IUSR_xxx bei anonymem Zugriff oder der angemeldete User).

      Das interpretiere ich so, als hätte das mit dem Zugriff eines WWW-Clients nix zu tun! Ich hoffe ich lieg da richtig!?
      Bei den Einstellungen in der Management Console dreht es sich aber doch um Internetzugriffe, oder? Berechtigungen auf Dateiebene werden doch innerhalb der Dateiverwaltung, sprich Explorer, usw. vergeben?!
      Ich gehe jetzt mal davon aus, dass in der angesprochenen Literatur Blödsinn steht.

      Auf jeden Fall mal Danke für die Antwort.

      Jackson

      1. Hallo Jackson,

        Du mußt auf 2 Ebenen Berechtigungen vergeben.
        Auf der Ebene des IIS mußt Du entscheiden wer wie auf das "virtuelle" Verzeichnis zugreifen darf. Das hat mich am Anfang auch verwirrt, aber das "virtuelle" Verzeichnis ist das was der User draussen sieht (z.B. intranet.firma.tld/news). Dieses "virtuelle" Verzeichnis wird vom IIS auf ein reales Verzeichnis gemappt. Und für dieses reale Verzeichnis mußt Du wieder Berechtigungen vergeben.

        Ich habe jeweils folgende Einstellungen:
        Im IIS: Read, Log Access und wenn es sich um ein ASP Verzeichnis handelt auch Script.
        In der Dateiverwaltung (sprich Explorer): Read. Hier mußt Du auch die Benutzergruppe definieren, die Zugriff bekommt. Bei anonymem Zugriff ist dies der Benutzer IUSR_servername, bei autorisiertem Zugriff muß hier der Domänenbenutzer (Windows) eingetragen werden.

        Ruf im IIS mal das Help auf oder der IIS Resource Kit CD gibt's ein Handbuch das auch das Thema Security behandelt. Oder versuch folgenden MS technet Artikel http://support.microsoft.com/support/kb/articles/Q187/5/06.asp

        Schöne Grüße vom Bodensee
        Thomas

        1. Danke!

          Gruß Jackson