none
Passwörter für bereits eingerichtete Accounts RRS feed

  • Frage

  • Hallo zusammen,

    wie bzw. wo kann ich in Erfahrung bringen, welches Passwort der vom Programm eingerichtete User "sa" hat ?? Soweit dies nicht in Erfahrung zu bringen ist, wo und vor allem wie kann ich dieses Passowort dann ändern. Sprich welche Regeln sind dabei zu beachten.

    Danke für eure Hilfe.

    Ynkelonium alias Uwe

    Montag, 19. April 2010 06:04

Antworten

  • Hallo Uwe,

    für eine Standardkommunikation mit Programme sollte man niemals das "sa" Konto benutzen.
    Damit öffnest Du Manipulationen Scheunen-Tür und Tor, für mehr siehe z. B.:
    Bedrohungs- und Sicherheitsrisikomatrix (Datenbankmodul)

    Das "sa" Konto sollte ausschließlich für administrative Tätigkeiten verwendet werden.
    Wobei der integrierten Windows-Sicherheit immer der Vorzug gegeben werden sollte.

    Für Programme richte ein weiteres Konto ein, was mit dem Management Studio
    oder auch über TRANSACT SQL schnell erledigt ist. Falls es für Dich das erste Mal ist:
    Führe die Schritte im SSMS aus und lasse Dir das SQL-Skript dafür ausgeben -
    siehe Schaltfläche oben in den Dialogen.

    Gruß Elmar

    Montag, 19. April 2010 08:54
  • Hallo Uwe,

    wenn Du nichts weiter angegeben hast, wurde die Instanz auch nicht mit "gemischten Modus" installiert. Überprüfen kannst Du es im SSMS über Rechte-Maus auf den Server => Eigenschaften (Properties) => Kartenreiter "Sicherheits" (Security) ganz oben unter "Server Anmeldung" (Server Authentification). 

    Der Admin "sa" Account wird deswegen gerne verwendet, weil er alle Rechte hat; das erspart faulen Entwickler, sich Gedanken über das Berechtigungs-Konzept machen zu müssen, dazu scheinen die Entwickler der App auch zu gehören.

    Natürlcih kannst Du einen eigenen Account anlegen und dem Rechte geben => SSMS => Sicherheit (Security) => Anmeldungen (Logins). Die Rolle "db_owner" gibt dem Account alle Rechte auf die Datenbank, wobei das schon übertrieben viele Rechte wäre. Was der Account aber an Rechten benötigt, wie db_reader/db_writer oder gar ddl_admin, muss Dir der Hersteller der App sagen. 


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    • Als Antwort markiert Ynkelonium Dienstag, 20. April 2010 13:46
    Montag, 19. April 2010 10:38

Alle Antworten

  • Hallo Uwe,

    das Passwort vom "sa" kannst Du nur von dem erfahren, der das Passowrt vergeben hat. Wenn es nicht gerade auf einem Zettel unter die Tastatur geklebt wurde :-), steht es nirgends im Klartext, abgespeichert wird nur der Hashwert.

    Für Passwörter gilt wie immer und gerade für den "sa", das man strenge Passwörter vergeben sollte. Ausschlaggebend is hier aber, ob Check_Policy = Kennwortrichtline aktiviert ist; was man machen sollte

    Ändern kannst Du es über SSMS => Sicherheit => Logins (Anmeldung) oder über folgendes SQL Script; Berechtigungen vorausgesetzt:

    USE [master]

    GO

    ALTER LOGIN [sa] WITH PASSWORD=N'NeuesPasswort'

    GO

     

     


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Montag, 19. April 2010 07:28
  • Hallo Olaf,

    zunächst danke für die Informationen.

    Dies alles ist und war mir im Grunde klar. Habe mich wohl nicht klar genug ausgedrückt:

    Es handelt sich um eine Neu- bzw. Erstinstallation von SQL Server Éxpress 2008. Dabei wird der User "sa" automatisch angelegt. Mit diesem User muss ich nun eine ODBC-Verbindung einrichten. Dies geht aber nur, wenn ich das Passwort von "sa" kenne. Welches Passwort vom System bei der Ersteinrichtung vergeben wird, ist mir jedoch nicht bekannt und konnte ich bislang auch in keiner Dokumentation finden.

    Dies ist der exakte Punkt an dem ich Hilfe / Informationen benötige.

    Uwe

    Montag, 19. April 2010 07:39
  • Hallo Uwe,

    wenn Du den MS SQL Server Express Edition mit "Gemischten Modus", also Window Authentifizierung und SQL Server Login installiert hast, dann hast Du dabei auch ein (strenges) Passwort angegeben, ohne kann man es gar nicht installiereren, der Installer bricht dann ab. Ist es nur mit Windows Authentifizierung installiert, kannst Du den SQL Login "sa" eh nicht verwenden. Der Installer vergibt jedenfalls kein Passwort, ohne es Dir zu erzählen.

    Ändere doch einfach das Passwort wie zuvor angegeben, dann weisst Du es, wie es lautet.


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Montag, 19. April 2010 08:11
  • Hallo Uwe,

    für eine Standardkommunikation mit Programme sollte man niemals das "sa" Konto benutzen.
    Damit öffnest Du Manipulationen Scheunen-Tür und Tor, für mehr siehe z. B.:
    Bedrohungs- und Sicherheitsrisikomatrix (Datenbankmodul)

    Das "sa" Konto sollte ausschließlich für administrative Tätigkeiten verwendet werden.
    Wobei der integrierten Windows-Sicherheit immer der Vorzug gegeben werden sollte.

    Für Programme richte ein weiteres Konto ein, was mit dem Management Studio
    oder auch über TRANSACT SQL schnell erledigt ist. Falls es für Dich das erste Mal ist:
    Führe die Schritte im SSMS aus und lasse Dir das SQL-Skript dafür ausgeben -
    siehe Schaltfläche oben in den Dialogen.

    Gruß Elmar

    Montag, 19. April 2010 08:54
  • Also, da kann ich Elmar nur uneinschränkt zustimmen. Bei uns bekommt jede Applikation, die nicht interaktive von einem User verwendet wird, einen eigenen SQL Login mit dedizierten Rechten. Ist zwar ein gewissen administrativer Aufwand, dafür aber sicherer, was gerade bei sensiblen Daten wichtig ist. Alle anderen Anmeldungen laufen ausschließlich über den Windows Account des Users; so weiß man wer was macht.

    Man kann zur Sicherheit sogar den sa account umbenennen, mir ist bisher zwar nur ein MSSQL Virus namens Slammer (Cert / Wiki) bekannt, aber es gibt auch so genügend Leute, die es mal versuchen, den "sa" zu verwenden; heisst "sa" nicht mehr so (zumal es eh für unseren Raum ein scheußliche & unglückselige Abkürzung ist), dann kann man lange versuchen, sich über den Account anzumelden.


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Montag, 19. April 2010 09:20
  • Hallo Elmar,

    danke für die Infos, natürlich auch dir Olaf.

    Ja es ist für mich das erstemal mit SQL Server Express 2008, wenn ich auch mit anderen DB durchaus schon gewisse Erfahrungen habe. Zum Verständnis für euch hole ich ein bißchen weiter aus:

    Es geht um die Umstellung einer Access-DB auf eine SQL-DB. Verbunden ist die jeweilige DB mit einem Client-Serverprogramm. Der Programmersteller und -vertreiber hat sich für SQL Server Express 2008 - da ja auch kostenlos - ausgeprochen. Bisher klappte ja die Installation bzw. Einrichtung ganz gut.
    Nun aber benötigt jeder Client-Rechner eine ODBC-Verbindung zum SQL-Server und lt. Programmvertreiber muss diese Verbindung mit einem Account mit SQL Authentifizierung eingerichtet werden. Er sprach dabei vom Account "sa", nach seinen Angaben mit dem Passwort "sa", was so aber nicht geht. Eure Gründe dafür nicht "sa" zu nehmen, verstehe ich sehr gut. Kann ich denn einen anderen Account einfach anlegen, der ebenfalls über SQL Authentifiziert wird. Meine normalen Windows-Accounts taugen dafür nicht.

    Nur der Vollständigkeithalber, bei der Installation von SQL Server Express 2008 erinner ich mich an keine Stelle, an der ich "Gemischten Modus" oder ähnlichem, geschweige denn nach einem Passwort für "sa" gefragt wurde.

    Ohne euch überstrapazieren zu wollen,  bin ich natürlich für jeden weiteren hilfreichen  Hinweis sehr verbunden.

     

    Uwe

    Montag, 19. April 2010 09:55
  • Hallo Uwe,

    wenn Du nichts weiter angegeben hast, wurde die Instanz auch nicht mit "gemischten Modus" installiert. Überprüfen kannst Du es im SSMS über Rechte-Maus auf den Server => Eigenschaften (Properties) => Kartenreiter "Sicherheits" (Security) ganz oben unter "Server Anmeldung" (Server Authentification). 

    Der Admin "sa" Account wird deswegen gerne verwendet, weil er alle Rechte hat; das erspart faulen Entwickler, sich Gedanken über das Berechtigungs-Konzept machen zu müssen, dazu scheinen die Entwickler der App auch zu gehören.

    Natürlcih kannst Du einen eigenen Account anlegen und dem Rechte geben => SSMS => Sicherheit (Security) => Anmeldungen (Logins). Die Rolle "db_owner" gibt dem Account alle Rechte auf die Datenbank, wobei das schon übertrieben viele Rechte wäre. Was der Account aber an Rechten benötigt, wie db_reader/db_writer oder gar ddl_admin, muss Dir der Hersteller der App sagen. 


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    • Als Antwort markiert Ynkelonium Dienstag, 20. April 2010 13:46
    Montag, 19. April 2010 10:38