Ich arbeite jetzt seit 2 Jahren als SQL Server-DBA für eine Stadt.
Ich wurde hinzugezogen, um einen bestehenden DBA zu unterstützen, also habe ich langsam alles in mich aufgenommen und habe eine Weile gearbeitet, um Glaubwürdigkeit in der Organisation zu erlangen. Es ist Zeit, das schwierigste und wichtigste Problem anzugehen: Sicherheit.
Unser Hauptserver ist ein Failovercluster mit SQL 2005. Es enthält 166 Datenbanken. Es bedient ungefähr 550 Verbindungen mit App-Pooling für die meisten Anwendungen, sodass problemlos Tausende von Benutzern unterstützt werden. Wir bedienen auch eine öffentliche Website, auf der ziemlich viel Verkehr herrscht. Hersteller-Apps, Inhouse-Apps, Zugriff auf Back-Ends - eine große Auswahl mit einigen kritischen Anwendungen.
Viele Entwickler haben Produktionszugriff . Änderungen werden außerhalb des RFC-Prozesses vorgenommen, und wir haben keine Ahnung, welche Daten von Entwicklern geändert werden. Sie genießen auch den Zugriff auf die Produktion während der Implementierung von Systemen - was ich auch gerne stoppen würde.
Bei so vielen laufenden Anwendungen würde jeder vernünftige DBA den Server sperren .
Wie würden Sie ein Entwicklerteam von einer offenen Sicherheit zu einer restriktiveren Umgebung überführen?
Ich arbeite an einem Notfallanforderungssystem, das ihnen für eine begrenzte Zeit Zugriff auf ihre Datenbank (en) gewährt. Dies würde uns die Prüfung von Zugriffs- und DDL-Änderungen ermöglichen. Hoffentlich wird dies nicht verwendet, da wir nicht auf eine Seite geantwortet haben. Es wird HTTP, verschlüsselte Webkonfiguration, Login / Pwd auf dem Bildschirm (keine E-Mail) verwendet und eine Drosselung auf 3 pro 12 Stunden angefordert. Wir würden auch angerufen, wenn ein Login ausgestellt wird.
Irgendwelche Warnungen zu diesem Systemtyp?
Das größte Risiko, das ich sehen kann, besteht darin, dass wenn das ntlogin eines Benutzers kompromittiert würde - dies auch seine Datenbanken wären. Wir haben diese Sicherheitslücke im Moment, da sie immer Zugriff haben, aber nie wissen würden, ob es passiert ist.
Änderungen: Entwicklung und Staging sind robuste Systeme mit 8 Kernen und 8 GB Speicher. Planen Sie die Implementierung eines PRD-STG-Kopiermechanismus, den Entwickler verwenden können, wenn ihre Datenbank nicht umfangreich ist und keine vertraulichen Informationen enthält.
Das Management ist unterstützend. Wenn wir ihnen in Notfällen den Zugang garantieren können, ist ihre größte Sorge erledigt. Das andere Problem könnte sein, während der Implementierungen Zugriff auf die Produktion zu haben - was ich lieber nicht geben würde. Wir können den Übergang zum Staging zuerst üben und während des Go-Live dort testen und korrigieren - wobei DBAs auf prd migrieren.