Zusammenfassung
Erfahren Sie, wie Sie Ihre Access-Anwendungen mit Makro-Sicherheit, digitalen Signaturen und dem Sandbox-Modus effektiv schützen.
Techniken
VBA, SQL
Voraussetzungen
Access 2003
Beispieldateien
Tom Jordan, Düsseldorf
Heutzutage erfährt man häufig in den Nachrichten von Computer-Viren, -Würmern und ähnlichem Getier, das sich per Internet, E-Mail oder auch Office-Anwendungen schlagartig verbreitet. Wenn es Sie erwischt, sind entweder Daten verloren oder der Rechner wird komplett außer Kraft gesetzt. Und ob Sie zu Hause als Freiberufler oder in einem großen Konzern-Netzwerk arbeiten, diese Angriffe führen zu verlorener Zeit und möglicherweise zu verlorenem Umsatz. Gegen solche Attacken hat sich Microsoft im aktuellen Office-Paket, vor allem in Access, einige Maßnahmen einfallen lassen. Welche das sind, erfahren Sie im vorliegenden Beitrag.
Durch den Einsatz einer zuverlässigen Antivirus-Software sowie ein wenig Vorsicht beim öffnen fremder Office-Dokumente können Sie sich vor bösen überraschungen schützen.
Vor allem beim öffnen und Ausführen von Datenbankdateien hat Microsoft einige wichtige Features in Access 2003 integriert, um den Schutzgrad deutlich zu erhöhen. Die Hauptmerkmale dabei sind Makrosicherheit, digitale Signaturen und der neue Sandbox-Modus der Jet-Bibliothek.
Office-Dateien wie Word-Dokumente, Excel-Arbeitsmappen oder auch Access-Datenbanken können eingebettete Makros beziehungsweise Programmcode enthalten, die zu einem bösen Zweck ausgeführt werden. Daher hat Microsoft eine neue universelle Makrosicherheit eingeführt, die alle Anwendungen im Office-Paket umfasst. Mit dem Begriff Makro sind hier Prozeduren und Routinen gemeint, die in VBA-Modulen (Visual Basic für Applikationen) entwickelt sind. VBA ist die Programmiersprache, in der solche Prozeduren geschrieben werden. Die klassischen Access-Makros dagegen, wie Autoexec, Menü-Makros und so weiter, sind für dieses Thema nicht von Bedeutung.
Die Makrosicherheit für Microsoft Access 2003 greift immer dann, wenn Sie eine beliebige Datenbankdatei öffnen. Selbst bei einer leeren Datenbank werden Sie mit der Sicherheitswarnung aus Bild 1 begrüßt, bevor das übliche Datenbankfenster sichtbar wird. Bei dieser Gelegenheit können Sie sich mit der Schaltfläche Weitere Informationen näher über das Thema Access-Sicherheit informieren.
Um dieses Verhalten beim öffnen von Datenbankdateien zu steuern, bietet Access drei Sicherheitsstufen an:
Bild 1: Die Makrosicherheit stellt sich vor
Bild 2: Die Makrosicherheitsstufe einstellen
Makrosicherheitsstufe einstellen
Die Sicherheitsstufe können Sie mit dem Menübefehl Extras/Makro/Sicherheit… konfigurieren (siehe Bild 2).
Wenn Sie also auf jeden Sicherheitshinweis beim öffnen von Datenbanken verzichten möchten, stellen Sie die Sicherheitsstufe auf “Niedrig” ein (siehe Bild 3).
Bild 3: Die drei Sicherheitsstufen
Wenn der Sandbox-Modus der Jet-Bibliothek aktiviert ist, erhalten Sie daraufhin einen weiteren Hinweis, dass unsichere Ausdrücke momentan blockiert werden.
Dazu gibt Access Ihnen Gelegenheit, auch diese unsicheren Ausdrücke zuzulassen. Zu solchen Ausdrücken gehören beispielsweise alle VBA-Anweisungen, die auf das Dateisystem zugreifen. Wenn Sie diesen Hinweis mit Ja beantworten, wird die Sandbox-Einstellung von 3 auf 2 herabgesetzt. Diese Einstellung können Sie übrigens in der Registry unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\SandBoxMode nachsehen. Mehr zum Thema Sandbox-Modus erfahren Sie später in diesem Beitrag.
Makrosicherheit in COM-Add-Ins
Zu den üblichen Vorgängen eines Access-Assistenten (also eines COM Add-Ins) gehört das öffnen einer Datenbank. Damit der Programmablauf aufgrund der Makrosicherheit an dieser Stelle nicht zum Stillstand kommt, kann der Entwickler des Assistenten die Sicherheitsstufe vorübergehend auf Niedrig herabsetzen. Die ursprüngliche Einstellung sollte vorher ermittelt und nach dem öffnen-Vorgang wieder hergestellt werden. Der Code-Ausschnitt aus Quellcode 1 zeigt, wie das programmatische öffnen einer Datenbank innerhalb eines Add-Ins aussehen könnte.