Markos stellt für viele Organisationen immer ein gewisses Sicherheitsrisiko dar. Allerdings werden Makros auch für verschiedene autoamtismen benötigt, was die Administration immer vor eine Herausforderung stellt. Die meisten Administratoren behaupten dann, dass Makros grundsätzlich deaktivert werden – was sich in der Praxis als sehr hinderlich erweißt. Die sicherste Methode ist die Verwendung von signierten Makros. Die Einstellung kann durch den Administrator entweder bei der Installation oder über die GPO Einstellung vorgenommen werden. Die Einstellungen finden Sie unter “Datei –> Optionen –> Einstellungen für das TrustCenter
In diesem Artikel möchte ich Ihnen zeigen, wie Sie ein selbstsigniertes Zertifikat für die Erstellung von signierten Makros erstellen können. Sollten Sie eine Unternehmenszertifizierungsstelle besitzen, ist dieser Schritt noch viel einfacher. Da aber viele Unternehmen weder Zertifizierungsstellen noch ein öffentliches Zertifiakt besitzen, möchte ich Ihnen diesen Weg aufzeigen. Bitte beachten Sie, dass dies immer noch ein gewisses “Vertrauen” voraussetzt. Bitte denken Sie daran, dass ohne eine Zertifzierungsstele nur der User die Vertrauenswürdgkeit des Zertifiakte bewerten kann. Allerdings sind zum Ausführen der Markos manuelle Schritte notwendig, damit das Script ausgeführt wird. Legen wir also los.
Anlegen des Root und des öffentlichen Zertifiakte
Als erstes benötigen Sie das “Windows Software Development Kit (SDK) für Windows 10. Da dieses die Datei “makecert.exe” besitzt, laden Sie die SDK hier herunter. Klicken Sie auf den Button “Download the standalone SDK”.
Hinweis: Sollte auf dem Device “Visual Studio 2013” installiert sein, können Sie diesen Schritt überspringen.
Entfernen Sie alle Optionen bis auf “Windows Software Development Kit”. Klicken Sie anschließend auf “Install”. Je nach Internetverbindung kann dies einen Augenblick dauern. Sollte der Hinweis der Benutzersteuerung erscheinen, so klicken Sie auf “OK”.
Wechseln Sie nun in das Verzeichnis “C:\Program Files (x86)\Windows Kits\10\bin\x64\”. Öffnen Sie dort die Eingabeaufforderung “CMD”. Klicken Sie hierzu in der Ribbon auf den Reiter “Datei” und wählen Sie im Kontextmenü die Option “Eingabeaufforderung”. Wählen Sie auf der rechten Seite die Option “Eingabeaufforderung als Administrator öffnen”.
Nun müssen wir ein Root-Zertifikat anlegen. Hierzu geben Sie den folgenden Befehl ein.
makecert -sky exchange -r -n “CN=RootMSOffice” -pe -a sha1 -len 2048 -ss My
Die Eingabe müsste nun wie folgt aussehen:
Wenn Sie nun innerhalb des Zwertikat-Speichers von Windows schauen, werden beide Zwertifikate angezeigt. Das Client-Zertifikat benötigen wir nun zum signieren.
Makro signieren
Öffnen Sie nun Microsoft Project 2016. Klicken Sie die Registerkarte “Entwicklertools”. Führen Sie einen Doppelklick auf “VBAProject(Projekt1)“ aus. Geben Sie dort den folgenden Code ein:
Sub TESTSIEG()
MSGBOX “Das ist ein Test für die Makro-Signierung”
end Sub
Klicken Sie anschließend auf “Ausführen”. Ihnen wird nun ein Windows Fenster angezeigt. Klicken Sie auf “OK”. Klicken Sie nun im “Microsoft Visual Basic for Application Editor” auf den Button “Extras”. Klicken Sie im Kontext-Menü den Eintrag “Digitale Signatur…”
Klicken Sie nun auf den Button “Wählen” und suchen Sie unser zuvor erstelltes Root-Zertifikat. Klicken Sie anschließend auf “Ok”. Ihnen wird nun das ausgewählte “Zertifikat” im oberen Bereich angezeigt. Klicken Sie anschließend auf “OK” und schließen Sie das Fenster.
Speichern Sie nun die Datei ab. Achten Sie darauf, dass Sie die Datei mit der Endung “xlsm” abspeichern. Schließen Sie die Datei.
Externes Zertifikat speichern
Um Ihnen zuzeigen, welche Schritte vom Benutzer durchgeführt werden müssen, habe ich mir diese Datei an einen Rechner in meinem Netzwerk gesendet, auf dem das Zertifikat nicht bekannt ist. Öffnen Sie die Datei. Wie Sie unschwer erkennen können, wird Ihnen schon beim Öffnen der Datei die Information angezeigt, dass ein Makro in der Project Datei verfügbar ist und diese aus Sicherheitsgründen deaktiviert wurde. Nun müssen wir das Zertifkat unter den vertrauenswürdigen Zwertikatsspeicher speichern. Klicken Sie hierzu auf den Link “Signaturdetails anzeigen”.
Hinweis: Sollten Sie eine Active Directory Zertifizierungsstelle und die Datei in Ihrer Domäne öffnen, wird diese Information nicht erscheinen. Ebenfalls wird die Info nicht angezeigt, wenn Sie ein öffnetliches Zertifikate verwenden.
Wie Sie nun erkennen können, wird Ihnen angezeigt, dass das Zertifikat zwar verarbeitet wurde aber nicht am Stammzertifikat verglichen werden konnte. Klicken Sie nun auf den Button “Zertifikate anzeigen”.
Klicken Sie nun auf “Zertikate Installieren”.
Belassen Sie die Einstellungen und klicken Sie auf “Weiter”.
Klicken Sie im folgenden Fenster auf “Durchsuchen”. Indem sich nun öffnen Fenster wählen Sie “Vertrauenswürdige Stammzertifzierungsstelle”. Klicken Sie dann im Fenster “Zertifikatspeicher auswählen” dann auf “OK” und klicken Sie im Assistenten auf “Weiter”.
Klicken Sie nun auf “Fertigstellen”.
Bestätigen Sie den Sicherheitshinweis mit “Ja”.
Schließen Sie das Fenster mit dem Hinweis des erfolgreichen Imports und alle anderen Fenster. Schließen Sie nun die Project Datei und öffnen Sie diese erneut. Nun klicken Sie in dem Sicherheitshinweis für Makros “Makros aktivieren”. Öffnen Sie nun den VBA-Editor und führen Sie das Makro aus. Wie Sie sehen, wird das VBA-Script ausgeführt.
Schreibe einen Kommentar