Freigeben über


Empfohlene Vorgehensweisen für die Sicherheit in Office-Projektmappen (2003 System)

Aktualisiert: November 2007

Betrifft

Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office.

Projekttyp

  • Projekte auf Dokumentebene

  • Projekte auf Anwendungsebene

Microsoft Office-Version

  • Microsoft Office 2003

Weitere Informationen hierzu finden Sie unter Verfügbare Features nach Anwendung und Projekttyp.

Wenn Sie die Sicherheitsrichtlinie für Anpassungen auf Dokumentebene und Add-Ins auf Anwendungsebene planen, sollten Sie die folgenden Fragen erwägen.

Hinzufügen von Bedingungen zu den Sicherheitsrichtlinien

Microsoft .NET Framework bietet zwei Hauptmöglichkeiten zum Bereitstellen von Richtlinien:

Durch Windows Installer-Dateien können Richtlinienauswertungen besser vorhersagbar vorgenommen werden, da die gesamte Richtlinienebene (in der Regel Unternehmen oder Computer) auf den Computer des Endbenutzers kopiert wird. Allerdings können hierbei Konflikte entstehen, wenn unterschiedliche Gruppen innerhalb eines Unternehmens unabhängig voneinander Richtlinien veröffentlichen möchten. Ebenso problematisch wird es, wenn Personen ihre Richtlinien ändern möchten.

Durch Änderungen der Richtlinien mit Caspol.exe können verschiedene Personen die Richtlinien unabhängig voneinander aktualisieren. Allerdings ist nicht garantiert, dass die jeweiligen Änderungen den gewünschten Effekt haben, da es zu unbekannten Interaktionen zwischen verschiedenen Codegruppen kommen kann. Falls eine Abteilung z. B. eine Richtlinienänderung bereitstellt, die einer bestimmten Intranetsite volle Vertrauenswürdigkeit gewährt, erwartet diese Abteilung, dass jeder von dieser Site kommende Code vertrauenswürdig ist. Wenn jedoch eine andere Abteilung eine Richtlinie mit einem Exclusive-Attribut bereitstellt, die den Zugriff auf diese Site nicht zulässt, wird kein Code ausgeführt. Weitere Informationen zum Exclusive-Attribut finden Sie unter Verwaltung mit Codegruppenattributen und Gewusst wie: Zuweisen des Status "Exclusive" oder "LevelFinal" zu einer Codegruppe.

Bei der Entscheidung darüber, wie die Richtlinie aktualisiert werden soll, müssen Administratoren zwischen Vorhersagbarkeit von Windows Installer-Dateien und der Flexibilität von Caspol.exe abwägen.

Obwohl es möglich ist, einen verwalteten Code zu schreiben und in diesem Richtlinien direkt über die APIs von Microsoft .NET Framework zu bearbeiten, gestaltet sich das Erstellen einer gültigen Richtlinie auf diesem Wege als sehr schwierig. Dieses Verfahren ist in der Praxis nicht zu empfehlen.

Überprüfen der aktuellen Richtlinie

Falls eine Assembly nicht ausgeführt wird, können Sie die möglichen Ursachen analysieren, indem Sie die der Assembly zugewiesenen Berechtigungen überprüfen. Das Microsoft .NET Framework bietet zwei Möglichkeiten, die aktuelle Richtlinie einer Assembly zu überprüfen:

Diese Tools zeigen die einer Assembly zugewiesenen Sicherheitsrichtlinien an und wie die Assembly den Regeln der Common Language Runtime (CLR) zugeordnet wird. Hiermit kann gezeigt werden, ob die Richtlinie ordnungsgemäß eingerichtet ist und ob die Assembly mit den richtigen Codegruppen übereinstimmt. Mit diesem Verfahren werden u. a. die folgenden wichtigen Probleme aufgezeigt:

  • Der Zone Arbeitsplatz wurde eine Netzwerkregel (z. B. Zuweisung vollständiger Vertrauenswürdigkeit zu https://server/) hinzugefügt, obwohl sie in LocalIntranet sein sollte, oder sie wurde zu LocalIntranet hinzugefügt, obwohl sie in TrustedSites sein sollte.

  • Der Dateiname oder die URL ist fehlerhaft.

  • Dem Verzeichnispfad fehlt das Sternchen (*), durch das angegeben wird, dass alle Dateien und Unterverzeichnisse unterhalb dieses Ordners in die Richtlinie aufgenommen werden.

Weitere Informationen finden Sie unter Lösen von Sicherheitsrichtlinienproblemen unter Verwendung von Caspol.exe.

Festlegen einer Standardrichtlinie für das Unternehmen

Mit Visual Studio können Unternehmen ihre eigene Standardrichtlinie definieren. Wenn Sie eine Sicherheitsrichtlinie löschen, wird die Richtlinie normalerweise auf die Standardwerte der Installation von Framework zurückgesetzt. Bei einem Löschvorgang werden die Basisrichtlinien mithilfe der unternehmensspezifischen Standardrichtlinie wieder so hergestellt, wie sie durch das Unternehmen definiert wurden. Das Unternehmen könnte beispielsweise einen vertrauenswürdigen Herausgeber der Unternehmensebene hinzufügen und jeden Code aus der Internetzone blockieren.

Weitere Informationen darüber, wie Sie zur Standardrichtlinie zurückkehren können, finden Sie unter Gewusst wie: Wiederherstellen der Standardeinstellungen für Sicherheitsrichtlinien mit "Caspol.exe" und .NET Framework-Konfigurationstool (Mscorcfg.msc). Weitere Informationen über die Standardsicherheitsrichtlinie finden Sie unter Die standardmäßigen Sicherheitsrichtlinien.

Allgemeine Empfehlungen

Beachten Sie folgende Grundsätze, wenn Sie Sicherheitsrichtlinien für die Office-Projektmappen bestimmen:

  • Bezeichnen Sie die Codegruppen immer mit Namen anstatt mit Zahlen (z. B. MyComputer_Zone anstelle von 1.1). Obwohl es für einen Benutzer möglich ist, Gruppen umzubenennen (z. B. von Internet auf Arbeitsplatz), ist dies unwahrscheinlicher, als dass sich die Zahlen ändern.

  • Gehen Sie bei der Anwendung von Regeln auf Code so restriktiv wie möglich vor. Fügen Sie niemals Regeln zur All_Code-Gruppe auf der Computerebene hinzu, sondern immer einer Zone oder einer anderen Untergruppe einer Zone. Es wird empfohlen, keine Regeln für Code zu erstellen, den Sie nicht erwarten.

  • Ordnen Sie die Regeln immer entsprechend ihrem Rang an, beispielsweise erst Zone, dann Site, dann Herausgeber und nicht umgekehrt. Auf diese Weise können die spezifischen Zonenregeln auf bestimmten Code angewendet werden. Sie werden also nicht auf den gesamten Code des Herausgebers angewendet, bevor feststeht, ob die Beschränkungen tatsächlich notwendig sind.

  • Falls eine übergeordnete Gruppe nicht mehr besteht (z. B. LocalIntranet_Zone-Gruppe), müssen Sie sie neu erstellen. Beachten Sie, dass Sie das gleiche mit dem Nothing-Berechtigungssatz tun müssen. Der Nothing-Berechtigungssatz verhindert die Anwendung von Standardberechtigungen, die vom Administrator durch Löschen der Codegruppe deaktiviert wurden. Wenn der Administrator beispielsweise LocalIntranet_Zone löscht, wird kein Code im lokalen Intranet mehr ausgeführt. Wenn Sie die Codegruppe erneut erstellen und den Nothing-Berechtigungssatz verwenden, werden keine Berechtigungen hinzugefügt, die vorher nicht vorhanden waren.

  • Deaktivieren Sie Warnungen zu Richtlinienänderungen in Batchdateien, und denken Sie daran, diese anschließend erneut zu aktivieren, sofern sie zuvor aktiviert waren. Auf diese Weise wird die Ausführung der Batch-Dateien nicht unterbrochen, wenn eine Benutzereingabe erwartet wird. Diese Einstellung wirkt sich nicht nur auf den aktuellen Benutzer, sondern auf alle Benutzer aus. Weitere Informationen finden Sie unter Gewusst wie: Unterdrücken von Warnungen zu Richtlinienänderungen mit "Caspol.exe".

  • Geben Sie bei der Verwendung von Caspol.exe explizit die zu ändernde Richtlinienebene an (Unternehmen, Computer oder Benutzer). Verlassen Sie sich nicht auf die Standardeinstellung. Die Standardeinstellung eignet sich möglicherweise nicht für die zu ändernde Richtlinie. Weitere Informationen finden Sie unter Sicherheitsrichtlinienebenen.

  • Verwenden Sie das Exclusive-Attribut oder das Level-Final-Attribut nur dann, wenn es unbedingt notwendig ist, da diese Attribute beim Hinzufügen von Codegruppen zu unerwartetem Verhalten führen können. Weitere Informationen finden Sie unter Codegruppenattribute.

Siehe auch

Konzepte

Sicherheitsanforderungen für die Ausführung von Office-Projektmappen (2003 System)

Überlegungen zur Sicherheit von Office-Projektmappen

Weitere Ressourcen

Allgemeine Verwaltung der Sicherheitsrichtlinien

Sicherheit in Office-Projektmappen (2003 System)