SCEPman im produktiven Einsatz

July 31, 2020 / by Gerrit Reinke


Dank SCEPman können Zertifikate schnell und unkompliziert an Endgeräte verteilt werden. Wenngleich es sich um einen Cloud-Dienst handelt, sollte der produktive Einsatz gut geplant sein und erfordert minimalen operativen Aufwand.

100 % Cloud, Simplicity, Light Management - Begriffe, die ich immer wieder verwende, wenn ich mit Kunden über den Future Workplace spreche. Wie passt das Thema PKI dazu? Die gleiche Frage haben wir uns auch gestellt und uns der Herausforderung angenommen. Seit über einem Jahr haben wir SCEPman jetzt in unserem Produkt-Portfolio und beweisen damit, dass die eingangs erwähnten Begriffe und das Thema Zertifikate sich nicht widersprechen. Sollten Sie SCEPman noch nicht kennen und möchten mehr über die genaue Funktionsweise erfahren, sehen Sie sich unser YouTube Video Network-Access 4.0 an.

Bereitstellen von SCEPman

Um unseren Schlagwörtern (100 % Cloud, Simplicity, Light Management) gerecht zu werden, haben wir das Produkt so ausgelegt, dass jeder mit einem Microsoft Azure Abonnement innerhalb weniger Minuten ein SCEPman System erstellen kann. Über den Azure Marketplace wird das Produkt mit Hilfe einer Azure Resource Manager Vorlage bereitgestellt. In Summe braucht die Implementierung selten mehr als 10 Minuten, und man kann sofort Zertifikate aus der Cloud an seine Endgeräte verteilen. Genau hier ist der Dreh- und Angelpunkt: Die Bereitstellung ist außergewöhnlich einfach und schnell, doch in den meisten Szenarien wird SCEPman Teil von sensiblen Anwendungsgebieten. Zum Beispiel werden die Zertifikate für den Netzwerkzugriff oder beim Aufbau von VPN-Verbindungen genutzt. Hier darf auf keinen Fall etwas schief gehen. Wenn plötzlich Tausende von Mitarbeitern auf der ganzen Welt nicht mehr ins Unternehmensnetzwerk gelangen oder keinen Zugang zu ihrer primären Businessanwendung haben, verlieren unsere Schlagwörter ihre Bedeutung. Daher ist es auch bei einem Cloud-Service so wichtig, auf die Architektur und den Betrieb zu achten.

Betrieb von Cloud-Diensten

Es ist ein weit verbreiteter Irrglaube, dass Cloud-Dienste ohne Planung und Betreuung auskommen. Zum Glück wurde in den letzten Jahren damit aufgeräumt. Die Cloud macht uns das Leben in vielen Bereichen einfacher, und mit modernsten Technologien soll der IT-Betrieb entlastet werden. Damit das aber auch funktioniert, muss man sich schon im Voraus Gedanken über die Architektur machen und je nach Anforderung des Dienstes auch eine Betreuung organisieren. SCEPman bildet da keine Ausnahme, denn wir bieten das Produkt bewusst nicht als eine von Glück & Kanja gemanagte Lösung an (Software-as-a-Service), sondern geben unseren Kunden die Möglichkeit, es selbst auf der Azure-Plattform zu betreiben (Platform-as-a-Service). Schließlich ist SCEPman ein Schlüsselmanagementsystem, das mit besonderen Sicherheitsanforderungen verbunden ist. Bei dem von uns gewählten Platform-as-a-Service (PaaS)-Modell hat der Kunde die volle Kontrolle über sein Zertifikatsmanagement und behält die Datenhoheit. Daher ist es jedoch unvermeidlich, dass der Kunde auch den Betrieb berücksichtigen muss.

SCEPman Betrieb im Detail

Was heißt das nun konkret? Die Infrastruktur ist durch die Azure Plattform gegeben, und wir nutzen verschiedenen PaaS-Dienste für den SCEPman. Über die Vorlage werden automatisch die Ressourcen App-Service, App-Service-Plan und Key Vault erstellt.

App-Service & App-Service-Plan

Bei diesen beiden Ressourcen handelt es sich mehr oder weniger um einen Cloud-Dienst. Der App-Service-Plan stellt einen virtuellen Rahmen zur Verwaltung der Leistungs- und Abrechnungsparameter zur Verfügung (Rechenleistung, Arbeitsspeicher, etc.), über den ein oder auch mehrere App-Services betrieben werden können. Diese stellen dabei dann eine Webseite oder Anwendung dar. Und genau in einem solchen App-Service wird unser SCEPman Programmcode ausgeführt. Microsoft garantiert für die App-Services eine Verfügbarkeit von 99,95 %.

Key Vault

Der Key Vault ist zusammen mit dem Azure AD und Intune Teil des SCEPman Backends. Innerhalb des Key Vaults liegt das Root-Zertifikat. Für die Validierung und Ausstellung von Zertifikaten nutzt SCEPman (App-Service) die Key Vault API. Microsoft garantiert hier eine Verfügbarkeit von 99,9 %. Die Standardvorlage gewährleistet also bereits eine gute Verfügbarkeit. Eine höhere garantierte Verfügbarkeit kann nur durch die Vervielfältigung der Dienste erreicht werden.

Weitere Themen für den Betrieb

Nachdem wir uns nun mit den grundlegenden Diensten befasst haben, wenden wir uns Themen zu, die für den Betrieb relevant sind:

Überwachung und Analyse

Zur Überwachung und Analyse unserer App-Services stellt Microsoft verschiedene Komponenten zur Verfügung. Zwei davon sind Application Insights und Azure Monitor.

Mithilfe der Application Insights können wir sowohl Performance-Daten unserer Anwendung einsehen, als auch dank des integrierten Profilers die genaue Verarbeitung von Anfragen im Code analysieren. Mittels dieser Funktionen können die Leistungsanforderungen für den App-Service bestimmt und überwacht werden, als auch im Fehlerfall detaillierte Analysen gefahren werden.

Der Azure Monitor bietet neben den Metriken der Anwendung auch die Möglichkeit, aktiv Mitteilungen zu versenden und integriert sich in die Skalierungsfunktion des App-Service-Plans. Dazu im nächsten Abschnitt mehr.

Lastverteilung

Neben dem Ausstellen der Zertifikate ist SCEPman auch für die Validierung der OCSP-Anfragen (Online Certificate Status Protocol) zuständig. Je nach Anzahl der Endgeräte und Zertifikate sowie abhängig vom Einsatzszenario können an einem Tag mehrere zehntausend Anfragen zusammenkommen. Dank der Azure Plattform haben wir die Möglichkeit, beim Thema Lastverteilung sehr flexibel zu agieren.

Anders als bei klassischen Serversystemen nimmt Microsoft uns das Thema der Lastverteilung mit den App-Service-Plänen ab. Innerhalb eines App-Service-Plans können die verfügbaren Leistungsparameter dynamisch verändert werden, und Microsoft stellt vollkommen transparent für die eigentliche Anwendung (App-Service) die Ressourcen zur Verfügung. Das Ganze kann dank der Autoscaling Funktion vollkommen automatisiert und flexibel gestaltet werden. Auf Basis der vom Azure Monitor gesammelten Metriken kann der App-Service-Plan hoch oder runter skaliert werden.

Hochverfügbarkeit oder Geo-Redundanz

Dank der Azure Plattform stellen wir bereits mit einer einfachen Implementierung eine gute Verfügbarkeit des SCEPman sicher. Bleibt die Frage, wie hochverfügbar die Anwendung sein muss? Das kann jedes Unternehmen nur für sich selbst beantworten. Die andere Frage ist, wie man mit dem Thema Geo-Redundanz umgeht? Bei einer Nutzung von Zertifikaten für den weltweiten Netzwerkzugang, muss das Thema Latenzen berücksichtigt werden, denn niemand möchte minutenlang warten, bis die WLAN-Verbindung aufgebaut wurde. Das Gute ist, wenn man über Geo-Redundanz spricht, wird zeitgleich auch das Thema Hochverfügbarkeit behandelt. Hierbei nutzen wir eine Microsoft Technologie, die uns das Leben vereinfacht.

Mithilfe des Traffic Managers, einem Dienst der DNS basiert Anfragen an unterschiedliche Endpunkte verteilt, können wir beide Themen vollkommen transparent für die Anwendung behandeln. Die SCEPman Dienste werden in zwei unterschiedlichen Azure Rechenzentren bereitgestellt. Somit können auf Basis verschiedener Kriterien die Anfragen umgeleitet werden, beispielsweise ortabhängig, wobei der Traffic Manager immer den Endpunkt mit der geringsten Latenz zum Endgerät zurückgibt. Zusätzlich überwacht der Traffic Manager die Endpunkte. Wenn einer der Endpunkte nicht erreichbar ist, werden alle Anfragen automatisch an einen anderen Endpunkt verwiesen, und damit ist wieder die Hochverfügbarkeit abgedeckt.

Absicherung der Zugriffspunkte

Im Standard hat Microsoft viel für die Sicherheit von App-Services getan und bietet mit seinen Sicherheitsfunktionen eine gute Basis. Trotzdem kann es Sinn machen, weitere Sicherheitsebenen einzuführen. An dieser Stelle kommt die Azure Web Application Firewall zum Einsatz. Auch hier wieder ein Microsoft Azure Dienst, der schnell und unkompliziert weitere Sicherheits- und Überwachungsfunktionen bietet. Hierbei ist allerdings zu beachten, dass ein solches Gateway Einfluss auf die Verarbeitungszeit haben kann: jeder Datenfluss zu meinem App-Service wird durch die Firewall geleitet und zusätzlich analysiert. Der Bedarf einer derartigen Sicherheitsebene muss gut überlegt werden, denn der SCEPman hält selbst keine Daten vor, die einfach abgegriffen werden können. Er greift auf weitere Microsoft API-Endpunkte zurück. Somit müssen die Szenarien, gegen die eine derartige Firewall schützen soll, gut abgewogen und nicht einfach eingesetzt werden.

Ausblick in die Zukunft

Wir haben uns bewusst für die Microsoft Azure Plattform entschieden und haben unser Produkt nicht nur auf, sondern vor allem in der Plattform entwickelt. Eng mit den Microsoft Produkten verwoben, zeigt die Lösung das Partnerschaft auch auf der technologischen Ebene gelebt werden muss. Doch wie geht es mit SCEPman zukünftig weiter? Wir hören nicht auf, uns weitere Gedanken zu machen, wie wir mit SCEPman einen vollwertigen Ersatz für klassische PKI-Systeme bieten können. Genau deshalb ist es so wichtig, sich vorab Gedanken über den Betrieb zu machen. Werden Zertifikate beispielsweise nicht nur über Intune sondern auch über Jamf Pro verteilt, bekommt die Lösung eine noch größere Bedeutung. Oder Zertifikate werden für den Microsoft Domain Controller ausgestellt, um das Thema Authentifizierung von Azure AD joined-Geräten gegen on-premises Ressourcen zu vereinfachen. Wie Sie sehen, gehen uns die Ideen nicht aus, und wir arbeiten fleißig an den nächsten Funktionen.

Fazit

Eines ist klar: Auch wenn wir die Arbeit mit Cloud-Diensten erleichtern wollen, sollten wir immer ein paar Gedanken in das Thema Betrieb und Architektur investieren. Diese kleine Investition kann mir im Nachhinein eine Menge Arbeit ersparen. Natürlich lassen wir bei diesen Themen niemanden allein und bemühen uns, unser Wissen über Videos und unsere Dokumentation weiterzugeben.