2009-04-01 3 views
0

Ich habe vor kurzem in Policy Management in SQL Server 2008 untersucht und als ich überprüft, um die Einhaltung der Richtlinie "Public Non Grated Server Permission", mein Server die Prüfung fehlgeschlagen. Der Grund war, und ich bin mir ziemlich sicher, dass dies der Standard ist, hat die Öffentlichkeit TCP-Endpoint-Berechtigung, damit Benutzer eine Verbindung zum Server herstellen können. Wenn ich das entfernen müsste, müsste ich den Benutzern individuell das Verbindungsrecht zuweisen.SQL Server 2008 "Public nicht freigegebenen Server Permission" Richtlinie

Das scheint mir albern. Ich kann nicht herausfinden, warum Microsoft empfehlen würde, dies zu ändern. Ich habe kein Gastkonto, daher können nur bestimmte Benutzer auf den Server zugreifen. Der Server befindet sich hinter einer Firewall und nur ein Subnetz im Unternehmen kann darauf zugreifen. Hat jemand dazu einen Einblick?

Antwort

0

Best Practices für die Sicherheit beginnen damit, ALLES zu verschließen und dann nur die Teile zu öffnen, die für die Menschen, die tatsächlich dorthin müssen, notwendig sind.

Durch die Zulassung der "öffentlichen" Zugang zu sogar verbinden, unabhängig von der Tatsache, dass sie keine Rechte haben, etwas zu tun, öffnet die Tür nur einen Spalt. Manchmal reicht dies aus, um einen Pufferüberlauf oder eine andere Art von Angriff auszunutzen.

UPDATE

Login und Benutzer sind zwei verschiedene Dinge. Ein Login ist Server Level, ein User ist datenbankspezifisch. Jeder Benutzer sollte eine entsprechende Anmeldung haben; aber nicht jede Anmeldung hat ein Datenbankbenutzerkonto.

Angenommen, Sie verwenden Active Directory integrierte Sicherheit; und Sie haben eine bestimmte AD-Gruppe zugewiesen, um Zugriff auf den Server zu haben. Jetzt haben möglicherweise nur einige der Mitglieder der Gruppe Zugriff auf bestimmte Datenbanken. Dies sind die Personen, denen Sie den Zugriff auf die Verbindung erlauben möchten. Die anderen Mitglieder der Gruppe haben keine regulären Datenbankbenutzerkonten.

Per Definition ist das ein Problem, da einige der Gruppenmitglieder verbinden und Liste Datenbanken auf dem Server, obwohl sie keinen Zugang zu einem dieser Datenbanken. Das ist der "Riss" in der Tür, von der ich rede.

Wenn Sie diese Leute davon abhalten können, sogar zu verbinden, dann sind Sie einen langen Weg in Richtung Sicherung Ihres Servers gegangen.

Es gibt andere Serverebene Berechtigungen, die die öffentliche Rolle gewährt Anmeldungen. Wenn möglich, sollten Sie es wie ein Gastkonto abschalten.

+0

Das macht für mich keinen Sinn. Korrigiere mich, wenn ich falsch liege, aber um ein Mitglied der öffentlichen Rolle zu sein, musst du ein Login haben. Eine Anmeldung hat keinen Zweck, wenn sie keine Verbindung zum Server herstellen kann. Wenn public nicht die connect-Berechtigung hätte, müsste ich es sowieso jedem Login geben. – jhale

+0

In meinem Fall habe ich keine Logins, die kein DB-Benutzerkonto haben. Die einzige Berechtigung, die der öffentlichen Rolle auf meinem Server erteilt wurde, waren TCP-Endpunkt-Rechte. Ich denke, diese Empfehlung trifft einfach nicht auf meine Situation zu. Du hast ein Szenario entwickelt, an das ich nicht gedacht habe. – jhale