Was sind die Sicherheitsrisiken mit cmdexec?
Wir sind in den Prozess der Migration von SQL 2000 auf SQL 2005. Wir haben Hunderte von DTS pacakges, dass das Entwicklungs-team nur ungern Sanieren mit SSIS.
Beim migrieren diese Pakete zu SSIS, ich bin mit einem problem konfrontiert - viele dieser Pakete Lesen von Excel-Dateien.
Gegeben, dass meine Produktion Box ist 64-bit, bin ich gezwungen zu verwenden CmdExec-sub-system zu nennen, die 32-bit-common language runtime zum ausführen dieser Pakete.
Meine Frage hier ist : Was sind die Sicherheits-Risiken mit der Verwendung von CmdExec-subsystem zu planen, dass diese von SSIS-Paketen als SQL-agent-Aufträge?
Dank,
Raj
- Sie müssen saniert werden schließlich - sagen Sie Ihnen, begonnen zu erhalten über diese Dinge. 2008 ist die Letzte version, support iirc.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Welchem Konto läuft die Aufgabe wird potentiell Zugang haben, um Befehle von der Befehlszeile - Sie müssen also darüber nachdenken, wie es laufen wird und welche Rechte der account hat.
Zum Beispiel, wenn ein Benutzer könnte einen job erstellen, der ausgeführt würde, die im Kontext Ihrer sqlagent und der sql-agent war overpriviledged (die Rechte zum ändern der Sicherheit), Sie gewähren könnten sich erhöhte privs oder Schaden Ihrer Maschine.
SQL 2008 eingeführt, ein Schalter für DTExec ermöglicht Ihnen das ausführen der Pakete im 32 bit-Modus mit Hilfe des nativen SQL-Agent-task für SSIS. Auf die Ausführung Registerkarte der Auftragsschritt-Eigenschaften gibt es eine check-box für 32 bit, was übersetzt die "/X86" - Schalter, wenn man auf der Kommandozeile anzeigen.
Wenn Sie stecken bleiben mit SQL 2005 dann die CMDEXEC-option ist die einzige, die ich kenne.
xp_cmdshell
ist das größte Sicherheitsrisiko in SQL Server, weil es erlaubt, eine kompromittierte SQL Server das Feld zu erheben, ist der Angriff auf das host-Betriebssystem selbst, und von dort aus auf das gesamte Netzwerk.Den typischen Vektor von Angriff ist die web-site HTTP-Formular -> SQL-injection ->
xp_cmdshell
-> nehmen Sie über SQL-hosting-Maschine -> übernehmen-Domäne. Wennxp_cmdshell
heruntergefahren wird, dann wird der Angreifer hat zu finden andere Mittel erhöhen den Angriff von SQL in host.Anderen Szenarien vorhanden, wie insider-Nutzer mit it-Berechtigungen zu erhöhen, oder mit der cmdshell für andere Zwecke, wie zB. stehlen einer Datenbank. Alle basieren auf der Tatsache, dass
xp_cmdshell
ermöglicht, beliebige Befehle ausgeführt werden und auf dem host, und in einigen Fällen die Befehle ausgeführt Erben auch den SQL Server service account-Rechte.Gibt es andere Befehle und verlängern die Verfahren können von einem Angreifer verwendet werden, wenn
xp_cmdshell
blockiert wird, aber Sie weit weniger bekannt. Mit derxp_cmdshell
Vektor ist in jeder SQL injection cheat sheet und forum-Diskussion, so ist von allen bekannten und Ihre grand-ma.xp_cmshell
, aber dies als ein Vektor ist weniger bekannt, so dass die Risiken erheblich reduziert.