Im Zuge einer Umstellung unserer aktuellen Anwendung (in der bislang Rechte wenig Relevanz hatten, und eine ungesicherte Access-Datenbank die Daten hielt) auf den SQL Server [2008] bin ich auf der Suche wie ich am besten Sicherheitsaspekte von Anwendung und Datenbank sicherstellen kann.
Ich kenne es aus vielen Anwendungen so, das im Programmcode ein fester Benutzer definiert ist, der auf eine Datenbank zugreift, und die Benutzerverwaltung ansonsten komplett in der Anwendung erledigt wird. Nur gibt es einerseits eine Anforderung das man die aktuell angemeldeten Benutzer relativ sicher ermitteln kann (was imho mittels DB-Benutzern besser klappt, als das über Anwendungslogik möglich wäre), zum anderen werden wir in Zukunft auch STPs verwenden, wo zumindestens ein paar der Rechte der Anwendung hineinspielen könnten.
Eine Möglichkeit die mir in den Sinn gekommen ist, und wo ich wissen will, ob diese sinnvoll ist oder es vielleicht bessere Lösungen gibt, ist es mit einem vordefinierten Loginbenutzer auf die Datenbank zuzugreifen, und dann (falls dies so möglich ist, ich bin kein DBA und arbeite mich erst in SQL Server ein) über eine Login-STP eine Verbindung zu einem Datenbankbenutzer auf der einen, und einem Anwendungsbenutzer (Benutzerverwaltung der Anwendung) auf der Anderen zu realisieren.
Gibt es hierzu Beispiele/Lektüre die nicht die Sicherheitsfragen nur aus einer Sicht (Softwareentwickler versus DBA) aufzeigt, oder zumindest Tipps wie man hier am besten vorgeht?
Ich kenne es aus vielen Anwendungen so, das im Programmcode ein fester Benutzer definiert ist, der auf eine Datenbank zugreift, und die Benutzerverwaltung ansonsten komplett in der Anwendung erledigt wird. Nur gibt es einerseits eine Anforderung das man die aktuell angemeldeten Benutzer relativ sicher ermitteln kann (was imho mittels DB-Benutzern besser klappt, als das über Anwendungslogik möglich wäre), zum anderen werden wir in Zukunft auch STPs verwenden, wo zumindestens ein paar der Rechte der Anwendung hineinspielen könnten.
Eine Möglichkeit die mir in den Sinn gekommen ist, und wo ich wissen will, ob diese sinnvoll ist oder es vielleicht bessere Lösungen gibt, ist es mit einem vordefinierten Loginbenutzer auf die Datenbank zuzugreifen, und dann (falls dies so möglich ist, ich bin kein DBA und arbeite mich erst in SQL Server ein) über eine Login-STP eine Verbindung zu einem Datenbankbenutzer auf der einen, und einem Anwendungsbenutzer (Benutzerverwaltung der Anwendung) auf der Anderen zu realisieren.
Gibt es hierzu Beispiele/Lektüre die nicht die Sicherheitsfragen nur aus einer Sicht (Softwareentwickler versus DBA) aufzeigt, oder zumindest Tipps wie man hier am besten vorgeht?
Comment