Einleitung
In diesem Dokument wird das Verfahren zum Konfigurieren und Aktivieren einer benutzerdefinierten Richtlinie für die Inhaltssicherheit für Webbridge auf Cisco Meeting Server (CMS) Version 3.2 beschrieben.
Beitrag von Octavio Miralrio, Cisco TAC Engineer.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse zu folgenden Themen verfügen:
- CMS - Allgemeine Konfiguration
- HTTPS (Hypertext Transfer Protocol Secure)
- Hypertext Markup Language (HTML)
- Webserver
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- CMS Version 3.2
- Windows-Webserver 2016
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Konfigurieren
Konfigurationen
Ab CMS Version 3.2 und neuer können die CMS-Administratoren die Web-App in eine andere Website einbetten. Das bedeutet, dass die Web-App in eine andere Webseite eingebettet ist.
Anmerkung: Web-Apps können Medien ausführen, wenn sie in Browser eingebettet sind, die HTTPS benötigen, und nicht in Browsern mit HTTP.
Schritt 1: Öffnen Sie die Befehlszeilenschnittstelle (CLI) des CMS, und führen Sie den nächsten Befehl aus:
webbridge3 https frame-ancestors
Der Parameter <frame-ancestors space-separated string> muss durch den Frame Uniform Resource Locator (URL) ersetzt werden, in den die Web-App eingebettet ist. Platzhalter werden unterstützt, z. B. https://*.octavio.lab, wie im Bild gezeigt:

Die Web-App überprüft den Header-Inhalt nur auf Gültigkeit der Zeichen. Die Administratoren müssen sicherstellen, dass der Content Security Policy-Header gültige Zeichenfolgen enthält. Die Zeichenfolgengröße ist auf 1000 Zeichen beschränkt. Zulässige Zeichen sind a-z A-Z 0-9_ . /: ? # [ ] @ ! $ & ' ( ) * + - = ~ %.
Schritt 2. Konfigurieren Sie die Einbettung iFrame in eine Webseite.
Im nächsten Schritt wird das iframe-Element in eine Webseite eingebettet. Das iframe-Element wird vom <iframe>-Tag in einem HTML-Dokument erkannt. Zur Unterstützung von Medien sind die folgenden Attribute erforderlich:
Anmerkung: HTTPS ist für die Ausführung von WebApp-Medien erforderlich. Andere Attribute, die von iframe unterstützt werden, wie Höhe und Breite, können ebenfalls einbezogen werden.
Die Erstellung des iFrame-Inhalts ist Sache des Webseitenadministrators. Sie kann nach Bedarf angepasst werden. Das nächste Beispiel zeigt einen iFrame, der zu Demonstrationszwecken erstellt wurde:
Customized Content Security Policy
This is the title of the Content Securiity Policy
Welcome to the CMS Content Security Policy Demostration.
All this text is not part of the webbridge itself.
Below you will see the enbedded webapp page, https://join.octavio.lab.
Schritt 3: Bereitstellung auf Webserver.
Sobald das HTML-Dokument einen eingebetteten iFrame enthält, muss die Seite auf einen Webserver geladen werden. Für die Zwecke dieses Dokuments wird die HTML-Datei index.html genannt und auf einem Windows-Webserver gespeichert, wie im Bild gezeigt:

Anmerkung: Die zusätzlichen Konfigurationen des Webservers und die für die Webseite verfügbaren Optionen sind nicht Bestandteil des vorliegenden Dokuments. Der Webserver-Administrator muss die Bereitstellung der Webseite abschließen.
Überprüfung
Um zu überprüfen, ob die Konfiguration ordnungsgemäß funktioniert, öffnen Sie einen Webbrowser, und navigieren Sie zu der Webseite, auf der der iFrame konfiguriert wurde. Für dieses Dokument ist dies https://ad-ocmiralr.octavio.lab/cmsframe/index.html.

Greifen Sie über das CMS auf alle verfügbaren Meetings zu, und prüfen Sie, ob Audio und Video ordnungsgemäß funktionieren.
Fehlerbehebung
- Die Webseite wird angezeigt, aber die Web-App ist nicht geladen.

Führen Sie die folgenden Schritte aus, um dieses Problem zu beheben:
Schritt 1: Öffnen Sie die CLI des CMS.
Schritt 2: Führen Sie den nächsten Befehl aus: Webbridge.
Schritt 3: Vergewissern Sie sich von der Webbridge-Konfiguration, dass die Frame-Vorgänger korrekt sind, es muss sich um die auf der erstellten Webseite konfigurierte iframe src handeln.

In diesem Fall unterscheiden sich die konfigurierten Frame-Ancestors auf webbridge von denen, die auf der Webseite konfiguriert wurden, wie im Bild gezeigt:

Schritt 4: Korrigieren Sie den Frame-Ancestor-Wert entweder in der Webbridge-Konfiguration oder im Webseiten-Code nach Bedarf.
- Die Web-App ist geladen, kann aber nicht auf die Kamera oder das Mikrofon zugreifen.

Dieses Problem wird verursacht, weil der iFrame nicht richtig konfiguriert ist. Um Audio und Video zu unterstützen, muss der iFrame die Attribute allowusermedia allow="microphone; Kamera; display-capture".
Um dieses Problem zu beheben, gehen Sie wie folgt vor:
Schritt 1: Öffnen Sie den Webserver, und suchen Sie die HTML-Datei der Hauptseite.
Schritt 2: Bearbeiten Sie die HTML-Datei mit einem Text-Editor.
Schritt 3. Fügen Sie dem iFrame die Medienattribute hinzu, wie im nächsten Code gezeigt: