Sicherheitsfeatures in Access 2003

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

  • Hoch – Die Datei muss eine digitale Signatur enthalten, bevor sie geöffnet werden kann. Was eine Signatur ist und wie Sie sie erstellen können, erfahren Sie später in diesem Beitrag.
  • Bild 2: Die Makrosicherheitsstufe einstellen

  • Mittel – Dies ist die Standardeinstellung. Beim öffnen einer Datei wird die Sicherheitswarnung aus Bild 1 angezeigt. Es wird darauf hingewiesen, dass die Datei möglicherweise nicht sicher ist. Sie haben dann noch die Möglichkeit, den Vorgang abzubrechen. Bei dieser Einstellung spielt es keine Rolle, ob die Datei eine digitale Signatur enthält.
  • Niedrig – Dateien werden ohne Sicherheitsprüfung beziehungsweise -warnung geöffnet. Dies entspricht dem Verhalten von früheren Access-Versionen. Von dieser Einstellung wird dringend abgeraten. Eine temporäre Einstellung auf “Niedrig” ist dann sinnvoll, wenn eine Datenbank aus einer früheren Access-Version auf Access 2003 konvertiert werden soll.
  • 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.

    Quellcode 1: öffnen einer Datenbank innerhalb eines Add-Ins

    Dim lCurrentSecurity As Long
    lCurrentSecurity = _    Application.AutomationSecurity
    Application.AutomationSecurity = _    msoAutomationSecurityForceDisable
    Application.OpenCurrentDatabase _    "E:\Nordwind.mdb"
    Application.AutomationSecurity = _    lCurrentSecurity

    Die drei Konstantenwerte der Eigenschaft AutomationSecurity des Objekts Application sind Tab. 1 zu entnehmen.

    Konstante

    Wert

    msoAutomationSecurityLow

    1

    msoAutomationSecurityByUI

    2

    msoAutomationSecurityForceDisable

    3

    Tab. 1: Konstanten der AutomationSecurity-Eigenschaft

    Die Konstante msoAutomationSecurityLow entspricht der Stufe “Niedrig”. msoAutomationSecurityByUI verwendet einfach die Einstellung so, wie sie momentan im Dialog Sicherheit steht (siehe Bild 3). msoAutomationSecurityForceDisable schaltet die Sicherheitsprüfung komplett aus und sollte nur sparsam verwendet werden.

    Bei der Sicherheitsstufe Hoch (siehe Bild 3) können nur Datenbanken mit einer so genannten digitalen Signatur geöffnet werden. Durch solche Signaturen können Sie verifizieren, dass eine Datenbank von einem vertrauenswürdigen Herausgeber stammt und dass dieser Herausgeber die VBA-Prozeduren selbst geschrieben hat. Wenn ein Fremder die Datenbank nachträglich modifizieren sollte, indem er etwa eine VBA-Prozedur manipuliert, wird die Signatur ungültig und von der Datenbank entfernt. So können Sie auch sicher sein, dass die Datenbank seit der Erstellung nicht mehr modifiziert wurde.

    Für den kommerziellen Betrieb werden digitale Signaturen mithilfe einer Zertifikat-Autorität erstellt. Eine Zertifikat-Autorität ist ein Unternehmen, welches auf die Erteilung von Zertifikaten spezialisiert ist.

    Ein sehr bekanntes Unternehmen in diesem Bereich ist Verisign Inc. (http://www.verisign.com). Nach Erhalten des Zertifikats kann die digitale Signatur erstellt werden.

    Wer diesen aufwändigen Weg nicht gehen möchte oder kann, dem steht die Möglichkeit zur Verfügung, digitale Zertifikate selbst zu erstellen. Beispielsweise kann ein kleines Unternehmen oder eine Arbeitsgruppe Zertifikate für die internen Access-Datenbanken erteilen. Diese Arbeitsgruppe würden Sie dann der Liste der vertrauenswürdigen Herausgeber hinzufügen, damit sie für alle weiteren Datenbanken gilt.

    Ein spezielles Programm zum Erstellen von selbst signierten digitalen Zertifikaten finden Sie im Office 2003-Paket. Sie starten das Programm über das Startmenü Microsoft Office Tools/Digitale Signatur für VBA-Projekte. Das Programm muss eventuell vor dem ersten Start von Ihrer Office-Installations-CD nachinstalliert werden.

    Nach dem Programmstart werden Sie nach dem Namen gefragt, auf den das Zertifikat erstellt werden soll (siehe Bild 4). Zusätzlich stehen in diesem Dialog allgemeine Informationen zu digitalen Zertifikaten sowie ein Link auf eine Liste bekannter Zertifikat-Autoritäten (u. a. Verisign).

    Nach dem Drücken auf OK wird eine Bestätigung angezeigt, dass das Zertifikat erfolgreich auf den Namen erfolgreich erstellt wurde.

    Bild 4: Erstellung eines digitalen Zertifikats

    Bild 5: Eine digitale Signatur wird in die Datenbank integriert

    Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

    den kompletten Artikel im PDF-Format mit Beispieldatenbank

    diesen und alle anderen Artikel mit dem Jahresabo

    Schreibe einen Kommentar