Eigentlich ist es seit Jahren bekannt …
… aber immer wieder gibt es Probleme damit: Das Passwort des internen SA-Kontos.
Dieses Konto "sa" (kurz für "System Administrator") hat auf einem SQL Server volle administrative Berechtigungen. Wer sich mit diesem Konto am SQL Server anmeldet, darf mit dem Server also alles tun, was er will. Und was das tollste ist: Er darf damit auch im Betriebssystem alles tun, denn er kann die Prozedur "xp_cmdshell" ausführen, die beliebige Befehle an das Betriebssystem sendet. Und da es sich um den sa handelt, werden diese Befehle im Kontext des Dienstkontos des SQL Server ausgeführt – und das wiederum hat eigentlich immer lokale Admin-Rechte.
Soweit, so gut. Aber es kommt noch besser: In der Standardinstallation des SQL Server 7.0 hat dieses hübsche Konto kein Kennwort! Das ist im Prinzip auch im SQL Server 2000 noch so; nur wenn man dort bei der Erstinstallation einen Schalter setzt, kann man ein Passwort vergeben. Sonst wird man aber nicht nur nicht dazu aufgefordert, sondern auch nicht über die Materie informiert.
Das ist abe natürlich auch noch nicht genug. Nicht nur ist auf diese Weise ein Großteil aller SQL-Server-Installationen ungesichert (es soll sogar welche im Internet geben … wer scannt da nach Port 1433?). Nein, auch zahlreiche weitere Rechner öffnen sich durch dieses Loch bereitwillig: Die MSDE (MS Data Engine) ist eigentlich ein vollwertiger SQL Server, nur serverseitig etwas eingeschränkt. Und er bringt natürlich auch die ganzen Admintools nicht mit. Dafür wird die MSDE auch verschenkt und ist Beigabe für viele Programme (z. B. Access, Visio und manches mehr). Und wie lautet dort das Passwort des sa? Na?
Die Lösung
Die folgende kleine Batchdatei hilft dieses Loch zu stopfen. Es erteilt dem SA einfach ein Passwort. Benutzung natürlich auf eigene Gefahr.
@echo off rem -------------------------------------- rem - Ändert das (leere) Passwort von "sa" rem - auf einen beliebigen Wert. rem - Für SQL Server und MSDE. rem - Benutzung: sapass passwort rem - dabei gibt "passwort" das neue rem - Passwort für sa an. rem - Von Nils@Kaczenski.de rem - Keine Gewähr! rem -------------------------------------- if "%1" == "" goto syntax osql -E -Q "exec sp_password null, '%1', sa" goto ende :syntax echo. echo Aendert das Passwort von "sa" echo auf einen beliebigen Wert. echo Voraussetzung: Berechtigtes echo Windows-Benutzerkonto. echo. echo Benutzung: echo sapass passwort echo Dabei gibt "passwort" das neue echo Passwort fuer sa an. echo. :ende
Verwandte Beiträge:
- RDP absichern – aber wie?
Die Remotedesktopverwaltung ist jedem Administrator sicherlich ans Herz gewachsen. Dass durch das Aktivieren der Remotedesktopverbindungen auch User zumindest schon einmal... - Absichern der Willkommensmeldung ("HELO") in Exchange
Eine der häufigsten Schwachstellen in einem Unternehmensnetzwerk ist immer der Mailserver. Leider ist es durch sein Design so, dass der... - Batch Command Line Mailer
Für Administratoren ist es oft nützlich, per EMail benachrichtigt zu werden, wenn ein bestimmtes Ereignis eintritt, z.B. Stromausfall Server Reboot... - Übersichtlichere Schreibweise bei if-Anweisungen
Oft steht in einem Batch bei nach einer Bedingung, bei deren Zutreffen mehrere Zeilen Code ausgeführt werden müssen, etwas in...
http://faq-o-matic.net/?p=637



Kategorie:
Translate EN

