Serie – Access und SQL Server-Security

Mit der Ausgabe 3/2020 von Access im Unternehmen startet meine Beitragsreihe „Access und SQL Server-Security“.

Die Beitragsreihe basiert auf meinem Seminar Access und SQL Server-Security.

Sie zeigt den Weg von einem einfachen bis hin zur einem sicheren Zugriffsschutz.
Dabei werden die unterschiedlichen Möglichkeiten in SQL Server und die jeweiligen Auswirkungen in Access dargestellt.

Jeder Beitrag behandelt eine Möglichkeit des Zugriffsschutzes. Am Ende wird das erreichte Sicherheitsniveau bewertet und die noch offenen Schwachstellen gezeigt. Der nächste Beitrag zeigt dann, wie sich einige dieser Schwachstellen beseitigen lassen. Es folgt eine erneute Bewertung des Sicherheitsniveaus sowie eine Darstellung der weiterhin offenen Schwachstellen.

So geht es von Beitrag zu Beitrag weiter bis die Schwachstellen beseitigt sind und ein hohes Sicherheitsniveau erreicht ist.

Hier geht es zu den Leseproben der bereits veröffentlichten Beiträge:

Access und SQL Server-Security – Teil 1: Zugriffsschutz in Access
Access und SQL Server-Security – Teil 2: Zugriffsberechtigung per sa

Access und SQL Server-Verschlüsselung

Access und SQL Server-Verschlüsselung

Das Verschlüsseln von Daten und Datenbanken trägt zu einer höheren Datensicherheit und somit auch zu einem höheren Datenschutz bei. Während sich mit Access lediglich die Datenbank an sich verschlüsseln lässt, bietet SQL Server eine Vielzahl von Funktionen zur Verschlüsselung an.

Dieser Vortrag zeigt eine Übersicht der SQL Server-Funktionen zur Verschlüsselung von Daten sowie deren Verwendung und Auswirkungen in Access wie auch in VBA mit DAO und ADO.

• Verschlüsselungsmethoden in SQL Server
• Verschlüsseln per T-SQL und Always Encrypted
• Auswirkungen auf eingebundene Tabellen in Access
• Auswirkungen auf VBA mit DAO und ADO

September / Oktober 2019 – Access Entwickler-Konferenz (AEK) – Nürnberg und Hannover

Download

Access und SQL Server-Security

Access und SQL Server-Security

SQL Server bietet eine mehrstufige Sicherheitsarchitektur, mit der sich diverse Varianten von Berechtigungskonzepten umsetzen lassen. Ergänzt mit den möglichen Verschlüsselungsverfahren lassen sich bereits zwei technische Maßnahmen realisieren, die in den aktuellen Datenschutzgesetzen gefordert werden.

Doch wie verträglich sind diese technischen Maßnahmen mit Access als Frontend?

• Berechtigungskonzepte des SQL Servers
• Verschlüsselung mit SQL Server
• Empfehlungen zum Einsatz dieser SQL Server-Sicherheitsfunktionen in Access
• Praktische Verwendung in eingebundenen Tabellen und Pass Through-Abfragen

Oktober 2018 – Access Entwickler-Konferenz (AEK) – Nürnberg und Hannover

Download

SQL Server 2016

SQL Server 2016

2016 veröffentlicht Microsoft eine neue Version des SQL Servers. SQL Server 2016 bietet im Gegensatz zu seinem Vorgänger eine Vielzahl neuer Funktionen. Dieser Vortrag zeigt neben einer Übersicht auch einige ausgewählte neue Funktionen im Detail:

– Nachvollziehen von Datenänderungen mit Temporal Tables
– Neue Sicherheitsfeatures Always Encrypted, Row-Level Security und Dynamic Data Masking
– Entwickeln mit neuen T-SQL-Befehlen, Polybase, R und JSON
– Vorlagen und weitere neue Funktionen in SQL Server Integration Services
– Moderne Berichte mit den SQL Server Reporting Services

März 2016 – SQL Server und .NET Entwickler-Konferenz – Nürnberg

Download

SQL-Statement zur Ausführung an allen Tabellen

Frage:
Gibt es eine Möglichkeit mit einer einzigen SQL-Anweisung Rechte an allen Tabellen zu vergeben?

Lösung:
Mittels der undokumentierte Gespeicherten Prozedur master.dbo.sp_msforeachtable kann eine SQL-Anweisung an jeder Tabelle der aktiven Datenbank ausgeführt werden.
Beispiel:
exec sp_msforeachtable ‚Grant Select, Update, Insert, Delete On ? To public‘

/* übernommen aus der Original sqlfaq.de */

Benutzerkonto sa

Frage:
Mit der Installation des SQL-Servers wird automatisch die Anmeldung sa erzeugt. Wozu ist diese Anmeldung gut?

Lösung:
sa steht für system administrator und ist – wie der Name schon sagt – das Administratorkonto vom SQL Server.
Dieses Konto verfügt über alle Rechte am SQL Server.

sa sollte nur für die Installation und die Wiederherstellung eines SQL Servers oder in Notfällen genutzt werden. Für tägliche Administrationsaufgaben und insbesondere zur Datenbank-Entwicklung sollten eigene Benutzerkonten – mit den Anforderungen entsprechend ausgestatteten Berechtigungen – genutzt werden.

SQL Server 7.0 geht sehr fahrlässig mit dem sa-Konto um, denn bei der Installation wird das Konto ohne Kennwort angelegt. SQL Server 2000 erinnert zwar an ein Kennwort, zwingend ist es aber nicht. Ein system administrator ohne Kennwort ist wie eine Haustür ohne Schloss und lädt ungebetene Gäste geradezu ein. Der Virus Slammer ist ein solch ungebetener Gast.

/* übernommen aus der Original sqlfaq.de */

Quellcode verschlüsseln

Frage:
Der Quellcode von Sichten und Gespeicherten Prozeduren ist über den Enterprise Manager für jeden Benutzer mit ausreichend Berechtigungen lesbar. Zumindest der Administrator kann den Quellcode lesen. Wie kann der Quellcode verschlüsselt werden?

Lösung:
Sichten und Gespeicherte Prozedurens können beim CREATE mit dem Zusatz with encryption verschlüsselt werden.
Aber Vorsicht! Der Quellcode ist danach für jeden verschlüsselt – auch für den Besitzer dieser Objekte.
Die Verschlüsselung der Daten kann nicht mehr rückgängig gemacht werden.

/* übernommen aus der Original sqlfaq.de */

Daten verschlüsseln mit SQL Server 7.0 / 2000

Frage:
Die Daten von einzelnen Spalten sollen verschlüsselt gespeichert werden.

Lösung:
SQL Server bietet keine Möglichkeit die Daten einzelner Spalten zu verschlüsseln.
Sofern bestimmte Inhalte einzelner Spalten nicht lesbar sein dürfen, müssen die Daten bereits vom Frontend verschlüsselt an den SQL Server übergeben werden.

/* übernommen aus der Original sqlfaq.de */

Berechtigung auf Spaltenebene einer Tabelle in SQL Server 7.0

Frage:
Der SQL-Server 6.5 unterstützt die Vergabe von Berechtigungen auf Spaltenebene im Enterprise Manager.
Gibt es diese Funktion in der Version 7.0 nicht mehr?

Lösung:
Es ist auch im SQL-Server 7.0 weiterhin möglich, Berechtigungen auf Spaltenebene zu vergeben.
Allerdings bietet der Enterprise Manager hierfür keine Verwaltungsdialoge. Die Berechtigungen auf Spaltenebene können nur mit T-SQL-Befehlen verwaltet werden.

/* übernommen aus der Original sqlfaq.de */