Kontext: Ich versuche, ein benutzerdefiniertes Windows-Konto für Anwendungspool zu verwenden, und Oracle-Authentifizierung aktivieren, so dass wir DB Benutzername und Kennwort in einer Konfigurationsdatei nicht speichern müssen.Sichern von IIS AppPool Identitätskennwort
Problem: Diese Einrichtung funktioniert, aber ich habe festgestellt, dass ich in der Lage bin, das Passwort unter Verwendung appcmd.exe
'wiederherzustellen'. Gibt es eine Möglichkeit, sicherzustellen, dass jemand mit administrativem und physischem Zugriff das Passwort nicht im Klartext lesen kann?
Dies ist eine Windows 2016 Maschine, IIS 10. Passwort sieht verschlüsselt beim Blick in applicationHost.config
Datei. folgenden Befehl zeigt das Passwort:
%systemroot%\system32\inetsrv\appcmd.exe list apppool "ImoAppPool" /text:*
Vielleicht verstehe ich die Antwort nicht, oder ich habe die Frage nicht klar gestellt. IIS muss unter einem bestimmten Benutzerkonto ausgeführt werden. Ich muss es mit dem richtigen Passwort geben, es gibt keine Möglichkeit (denke ich), ich kann es mit einem transformierten Passwort versehen und es laufen lassen. Anschließend wird festgelegt, wie das Passwort gespeichert wird. Wenn ich in die Konfigurationsdatei schaue, wird das Passwort transformiert ('password =" [enc: IISWASOnlyCngProvider: cNM0PbFgUgr ... '). Wenn ich jedoch den Befehl aus der Frage ausführe, kann ich den einfachen Text sehen. –
Der Punkt ist Speichern Sie Kennwörter nicht so, dass sie wiederhergestellt werden können, das ist nicht sicher. Man muss davon ausgehen, dass ein Angreifer Administratorzugriff auf den Server erhält und Sie müssen Kennwörter dagegen schützen. – zaph
Wie sie gespeichert werden, ist außerhalb meiner Kontrolle. Sie werden vom Webserver gespeichert. Meine Frage war, ob es eine Möglichkeit gibt, den Server so zu konfigurieren, dass er sich gegen das Betriebssystem authentifizieren kann und dass das Passwort nicht im Klartext wiederhergestellt werden kann. Sie können dies auf verschiedene Arten implementieren (z Authentifizierungs-Token), aber wir implementieren keinen Web-Server, aber konfigurieren ihn –