2009-02-26 12 views
1

Ich habe eine normale Windows Server 2008-Installation mit II7. Jede Website hat ihren eigenen Anwendungspool. Aber es gibt ein Sicherheitsproblem.IIS7 Berechtigungsproblem

Es gibt keine Einschränkung für eine asp.net-Anwendung, eine Datei in C: oder andere Verzeichnisse zu schreiben. In IIS 6, bevor dies passieren könnte, müsste ich diese Rechte in den Windows-Ordner secuity Berechtigungen festlegen und das ASPNET_Usr das tun lassen.

Was ist die beste Vorgehensweise für das Hosten von ASP.net-Anwendungen und nicht zu ermöglichen, dass sie lesen Dateien in zB c :?

EDIT

Anonym Auth. ist aktiviert und der angegebene Benutzer ist "ISUR". Alle anderen Authentifizierungen sind deaktiviert. Im Anwendungspool verwende ich als Process Identity "Network Service".

Ich erstellte einen neuen Benutzer auf dem Server (nicht in der Domäne) "www.xyz.test" und löschte alle seine Gruppenmitgliedschaften. Die Prozessidentität wurde für diesen Benutzer geändert, und die anonyme Authentifizierung hat die App-Pool-Identität verwendet und konnte weiterhin in C: schreiben.

die Vertrauensstufe ist in meinem Fall ändern keine Option, da wir eine 3rd-Party-Anwendung

Antwort

0

Klingt wie die Web-Site-Berechtigungen (in IIS) werden auf entweder
- Windows-Auth: Und Sie melden sich mit jemandem in die Berechtigungen für diese Ordner
oder
hat - Anonymous Auth: Und das Konto, das wird für Identitätswechsel verwendet hat Berechtigungen

Best Practice wäre, um sicherzustellen, dass das Konto, das für den Zugriff auf die Website verwendet wird (dh Windows Auth - Ihr Konto oder wenn anonym dann das Konto, das imitiert wird) hat keine Berechtigungen auf den Ordnern. Sie können die Vertrauensstufe in der Datei "machine.config" auch auf "mittel", "hoch" oder "voll" erhöhen, um zusätzliche Sicherheitsrichtlinien zu implementieren. Verwenden Sie diese Option jedoch mit Vorsicht, da einige ASP.NET-Anwendungen fehlschlagen können.

+0

Anonym Ath ist aktiviert und der angegebene Benutzer ist "ISUR". Alle anderen Authentifizierungen sind deaktiviert. Im Anwendungspool verwende ich als Process Identity "Network Service". –

+0

Ich habe einen neuen Benutzer auf dem Server (nicht in der Domäne) "www.xyz.test" erstellt und alle seine Gruppenmitgliedschaften gelöscht. Die Prozessidentität wurde für diesen Benutzer geändert, und die anonyme Authentifizierung hat die App-Pool-Identität verwendet und konnte weiterhin in C: schreiben. –

+0

Das Ändern der Vertrauensstufe ist in meinem Fall keine Option, da wir eine Drittanbieteranwendung verwenden –

1

Es hängt alles davon ab, was verwenden Benutzerkonto Ihre asp.net Website auf ausgeführt wird. I.e. ist es Netzwerkdienst? Soweit ich weiß, wenn ich in das Web-Verzeichnis schreiben möchte, gebe ich meinem Website-Konto Schreibzugriff nur auf das Verzeichnis, in dem ich Dateien speichern möchte. Das Konto, das ich verwende, ist das Konto, das für die anonyme Authentifizierung verwendet wird.

I.e. Ich habe eine Website namens mycompany.com. Ich erstelle dieses Benutzerkonto als Teil der Domänenbenutzergruppe. Ich füge das als die anonymen Authentifizierungsberechtigungsnachweise hinzu und gebe ihm Zugang zum Webstamm, und schreibe auch Zugang zum verschachtelten Ordner, den ich auch schreiben möchte.

Der Benutzeraccount würde mycompany.com heißen, daher weiß ich, dass er nur für Berechtigungen im Zusammenhang mit dem Web und der jeweiligen Website verantwortlich ist.