Nutzen Sie PaaS für Ihre Anwendungen, sind aber nicht sicher, wie Sie diese sichern können?
Eine Platform-as-a-Service (PaaS) ist ein Cloud-Computing-Modell, das eine Plattform bietet, auf der Kunden Webanwendungen entwickeln, sichern, ausführen und verwalten können. Es bietet eine optimierte Umgebung, in der Teams Anwendungen entwickeln und bereitstellen können, ohne die zugrunde liegende IT-Infrastruktur und die damit verbundenen Dienste kaufen und verwalten zu müssen.
Im Allgemeinen stellt die Plattform die notwendigen Ressourcen und die Infrastruktur zur Verfügung, um den gesamten Lebenszyklus der Softwareentwicklung und -bereitstellung zu unterstützen, während Entwickler und Benutzer von überall über das Internet darauf zugreifen können. Zu den Vorteilen von PaaS gehören unter anderem Einfachheit, Komfort, geringere Kosten, Flexibilität und Skalierbarkeit.
Die Absicherung einer PaaS unterscheidet sich in der Regel von einem traditionellen Rechenzentrum vor Ort, wie wir noch sehen werden.
Eine PaaS-Umgebung stützt sich auf ein gemeinsames Sicherheitsmodell. Der Anbieter sichert die Infrastruktur, während die PaaS-Kunden dafür verantwortlich sind, ihre auf der Plattform gehosteten Konten, Anwendungen und Daten zu schützen. Im Idealfall verlagert sich die Sicherheit vom On-Premise- zum Identitätsperimeter-Sicherheitsmodell.
Das bedeutet, dass sich der PaaS-Kunde mehr auf die Identität als primäre Sicherheitsgrenze konzentrieren muss. Zu den Themen, auf die Sie sich konzentrieren müssen, gehören Schutz, Tests, Code, Daten und Konfigurationen, Mitarbeiter, Benutzer, Authentifizierung, Betrieb, Überwachung und Protokolle.
Da gibt es viel zu tun. Nicht wahr?
Keine Sorge, ich werde Sie Schritt für Schritt anleiten.
Schützen Sie Anwendungen vor häufigen und unerwarteten Angriffen
Einer der besten Ansätze ist der Einsatz einer automatischen Echtzeit-Schutzlösung, die in der Lage ist, jeden Angriff schnell und automatisch zu erkennen und zu blockieren. Die PaaS-Abonnenten können die auf der Plattform bereitgestellten Sicherheitstools nutzen oder sich nach Optionen von Drittanbietern umsehen, die ihren Anforderungen entsprechen.
Ein ideales Tool sollte Schutz in Echtzeit bieten und dabei automatisch unbefugte Zugriffe, Angriffe oder Verstöße erkennen und blockieren.
Es sollte in der Lage sein, nach ungewöhnlichen Aktivitäten, böswilligen Benutzern, verdächtigen Anmeldungen, bösartigen Bots, Kontoübernahmen und anderen Anomalien zu suchen, die zu einer Kompromittierung führen könnten. Neben der Verwendung von Tools muss die Sicherheit in die Anwendung eingebaut werden, damit sie geschützt ist.
Schützen Sie Benutzerkonten und App-Ressourcen
Jeder Punkt der Interaktion ist in der Regel eine potenzielle Angriffsfläche. Der beste Weg, um Angriffe zu verhindern, besteht darin, die Schwachstellen der Anwendung und die Ressourcen, auf die nicht vertrauenswürdige Benutzer zugreifen können, zu reduzieren oder zu begrenzen. Außerdem ist es wichtig, die Sicherheitssysteme regelmäßig und automatisch zu patchen und zu aktualisieren, um die Schwachstellen zu beseitigen.
Obwohl der Dienstanbieter die Plattform sichert, trägt der Kunde eine größere Verantwortung für den Schutz seines Kontos und seiner Anwendungen. Das bedeutet, dass eine Reihe von Sicherheitsstrategien wie eine Kombination aus eingebauten Sicherheitsfunktionen der Plattform, Add-Ons und Tools von Drittanbietern den Schutz der Konten, Anwendungen und Daten verbessert. Außerdem wird so sichergestellt, dass nur autorisierte Benutzer oder Mitarbeiter auf das System zugreifen können.
Eine weitere Maßnahme besteht darin, die Anzahl der Mitarbeiter mit Admin-Rechten auf ein Minimum zu beschränken und gleichzeitig einen Audit-Mechanismus einzurichten, um riskante Aktivitäten der internen Teams und der autorisierten externen Benutzer zu identifizieren.
Admins sollten auch die geringsten Benutzerprivilegien durchsetzen. Bei diesem Ansatz sollten die Benutzer nur über die geringsten Privilegien verfügen, die sie in die Lage versetzen, Anwendungen auszuführen oder andere Aufgaben ordnungsgemäß zu erfüllen. Dies reduziert die Angriffsfläche, den Missbrauch der Zugriffsrechte und die Offenlegung privilegierter Ressourcen.
Scannen Sie Anwendungen auf Sicherheitsschwachstellen
Führen Sie eine Risikobewertung durch, um festzustellen, ob es Sicherheitsbedrohungen oder Schwachstellen in den Anwendungen und ihren Bibliotheken gibt. Nutzen Sie die Ergebnisse, um den Schutz aller Komponenten zu verbessern. Idealerweise sollten Sie eine regelmäßige Überprüfung einrichten und diese automatisch täglich oder in einem anderen Intervall durchführen lassen, je nach Sensibilität der Anwendung und potenziellen Sicherheitsbedrohungen.
Verwenden Sie nach Möglichkeit eine Lösung, die sich in andere Tools wie Kommunikationssoftware integrieren lässt oder über eine integrierte Funktion verfügt, die die zuständigen Personen benachrichtigt, sobald sie eine Sicherheitsbedrohung oder einen Angriff feststellt.
Testen und beheben Sie Sicherheitsprobleme in den Abhängigkeiten
In der Regel hängen Anwendungen sowohl von direkten als auch von indirekten Abhängigkeiten ab, die meist Open Source sind. Jede Schwachstelle in diesen Komponenten hat das Potenzial, Sicherheitslücken in der App zu verursachen, wenn sie nicht behoben wird.
Es ist eine gute Praxis, alle internen und externen Komponenten der Anwendungen zu analysieren, API-Penetrationstests durchzuführen, Netzwerke von Drittanbietern zu überprüfen und vieles mehr. Zu den wirksamen Mitteln zur Behebung der Schwachstellen gehören die Aktualisierung oder das Ersetzen der Abhängigkeit durch eine sichere Version, Patching usw.
Snyk wäre einen Versuch wert, um Sicherheitslücken in den Abhängigkeiten zu überwachen.
Penetrationstests und Bedrohungsmodellierung durchführen
Penetrationstests helfen dabei, Sicherheitslücken oder Schwachstellen zu identifizieren und zu beheben, bevor Angreifer sie finden und ausnutzen können. Da Penetrationstests in der Regel aggressiv sind, können sie als DDoS-Angriffe erscheinen. Daher ist es wichtig, sich mit anderen Sicherheitsteams abzustimmen, um Fehlalarme zu vermeiden.
Bei der Bedrohungsmodellierung werden mögliche Angriffe simuliert, die von vertrauenswürdigen Grenzen ausgehen würden. So lässt sich überprüfen, ob es Designfehler gibt, die Angreifer ausnutzen können. Die Modellierung stattet die IT-Teams mit Bedrohungsdaten aus, die sie zur Verbesserung der Sicherheit und zur Entwicklung von Gegenmaßnahmen gegen erkannte Schwachstellen oder Bedrohungen nutzen können.
Aktivitäten und Dateizugriff überwachen
Die Überwachung der privilegierten Konten ermöglicht es den Sicherheitsteams, sich einen Überblick zu verschaffen und zu verstehen, wie die Benutzer die Plattform nutzen. So können die Sicherheitsteams feststellen, ob die Aktivitäten von privilegierten Benutzern potenzielle Sicherheitsrisiken oder Compliance-Probleme darstellen.
Überwachen und protokollieren Sie, was die Benutzer mit ihren Rechten tun, sowie die Aktivitäten in den Dateien. Dabei wird nach Problemen wie verdächtigen Zugriffen, Änderungen, ungewöhnlichen Downloads oder Uploads usw. gesucht. Eine Überwachung der Dateiaktivitäten sollte auch eine Liste aller Benutzer liefern, die auf eine Datei zugegriffen haben, für den Fall, dass ein Verstoß untersucht werden muss.
Eine geeignete Lösung sollte in der Lage sein, interne Bedrohungen und Benutzer mit hohem Risiko zu identifizieren, indem sie nach Problemen wie gleichzeitigen Anmeldungen, verdächtigen Aktivitäten und vielen fehlgeschlagenen Anmeldeversuchen sucht. Weitere Indikatoren sind das Einloggen zu ungewöhnlichen Zeiten, verdächtige Datei- und Daten-Downloads oder Uploads usw. Wenn möglich, blockieren automatische Schutzmaßnahmen verdächtige Aktivitäten und alarmieren die Sicherheitsteams, um den Verstoß zu untersuchen und eventuelle Sicherheitslücken zu schließen.
Sichere Daten im Ruhezustand und bei der Übermittlung
Die beste Praxis ist die Verschlüsselung der Daten während der Speicherung und während der Übertragung. Die Sicherung der Kommunikationskanäle verhindert mögliche Man-in-the-Middle-Angriffe, wenn die Daten über das Internet übertragen werden.
Falls noch nicht geschehen, implementieren Sie HTTPS, indem Sie das TLS-Zertifikat aktivieren, um den Kommunikationskanal und damit auch die Daten während der Übertragung zu verschlüsseln und zu sichern.
Daten immer validieren
So stellen Sie sicher, dass die eingegebenen Daten das richtige Format haben, gültig und sicher sind.
Alle Daten, ob von internen Benutzern oder externen vertrauenswürdigen und nicht vertrauenswürdigen Quellen, müssen von Sicherheitsteams als Hochrisikokomponenten behandelt werden. Idealerweise führen Sie eine Validierung auf der Client-Seite durch, und Sicherheitsprüfungen vor dem Hochladen von Daten stellen sicher, dass nur saubere Daten passieren, während kompromittierte oder vireninfizierte Dateien blockiert werden.
Code-Sicherheit
Analysieren Sie den Code während des gesamten Lebenszyklus der Entwicklung auf Schwachstellen. Dies beginnt bereits in der Anfangsphase, und die Entwickler sollten die Anwendung erst dann für die Produktion bereitstellen, wenn sie sichergestellt haben, dass der Code sicher ist.
Erzwingen Sie eine Multi-Faktor-Authentifizierung
Die Aktivierung einer Multi-Faktor-Authentifizierung stellt eine zusätzliche Schutzschicht dar, die die Sicherheit verbessert und sicherstellt, dass nur autorisierte Benutzer Zugriff auf die Anwendungen, Daten und Systeme haben. Dies kann eine Kombination aus Passwort, OTP, SMS, mobilen Apps usw. sein.
Erzwingen Sie eine strenge Passwortrichtlinie
Die meisten Menschen verwenden schwache Passwörter, die leicht zu merken sind, und ändern sie nie, wenn sie nicht dazu gezwungen werden. Dies ist ein Sicherheitsrisiko, das Administratoren minimieren können, indem sie starke Passwortrichtlinien durchsetzen.
Diese sollten starke Passwörter verlangen, die nach einer bestimmten Zeit ablaufen. Eine weitere Sicherheitsmaßnahme besteht darin, keine Anmeldedaten im Klartext zu speichern und zu versenden. Idealerweise verschlüsseln Sie die Authentifizierungs-Token, Anmeldedaten und Passwörter.
Verwenden Sie Standard-Authentifizierung und -Autorisierung
Die beste Praxis ist die Verwendung von standardmäßigen, zuverlässigen und getesteten Authentifizierungs- und Autorisierungsmechanismen und -protokollen wie OAuth2 und Kerberos. Sie können zwar benutzerdefinierte Authentifizierungscodes entwickeln, doch sind diese anfällig für Fehler und Schwachstellen, so dass die Systeme für Angreifer angreifbar sind.
Prozesse zur Schlüsselverwaltung
Verwenden Sie starke kryptographische Schlüssel und vermeiden Sie kurze oder schwache Schlüssel, die Angreifer vorhersehen können. Verwenden Sie außerdem sichere Schlüsselverteilungsmechanismen, rotieren Sie die Schlüssel regelmäßig, erneuern Sie sie immer rechtzeitig, widerrufen Sie sie, wenn nötig, und vermeiden Sie es, sie fest in die Anwendungen zu kodieren.
Die Verwendung einer automatischen und regelmäßigen Schlüsselrotation verbessert die Sicherheit und die Einhaltung von Vorschriften und begrenzt gleichzeitig die Menge der verschlüsselten Daten, die einem Risiko ausgesetzt sind.
Verwalten Sie den Zugriff auf Anwendungen und Daten
Entwickeln Sie eine überschaubare und überprüfbare Sicherheitsrichtlinie mit strengen Zugriffsregeln und setzen Sie sie durch. Der beste Ansatz ist, den autorisierten Mitarbeitern und Benutzern nur die notwendigen Zugriffsrechte zu gewähren und nicht mehr.
Das bedeutet, dass die richtigen Zugriffsrechte nur für die Anwendungen und Daten erteilt werden, die sie zur Erfüllung ihrer Aufgaben benötigen. Außerdem sollte regelmäßig überwacht werden, wie die Mitarbeiter die ihnen zugewiesenen Rechte nutzen, und es sollten ihnen die Rechte entzogen werden, die sie entweder missbrauchen oder nicht benötigen.
Laufender Betrieb
Es gibt mehrere Dinge zu tun.
- Kontinuierliche Tests, regelmäßige Wartung, Patches und Updates der Anwendungen, um neue Sicherheitslücken und Compliance-Probleme zu erkennen und zu beheben.
- Einrichtung eines Audit-Mechanismus für Assets, Benutzer und Berechtigungen. Die Sicherheitsteams sollten diese dann regelmäßig überprüfen, um Probleme zu erkennen und zu beheben sowie Zugriffsrechte zu entziehen, die Benutzer missbrauchen oder nicht benötigen.
- Entwickeln und implementieren Sie einen Plan für die Reaktion auf Vorfälle, der zeigt, wie Bedrohungen und Schwachstellen angegangen werden können. Idealerweise sollte der Plan Technologien, Prozesse und Mitarbeiter umfassen.
Automatisches Sammeln und Analysieren von Protokollen
Die Protokolle von Anwendungen, APIs und Systemen liefern eine Vielzahl von Informationen. Der Einsatz eines automatischen Tools zum Sammeln und Analysieren der Protokolle bietet nützliche Einblicke in die Vorgänge. In den meisten Fällen sind die Protokollierungsdienste, die entweder als integrierte Funktionen oder als Add-Ons von Drittanbietern verfügbar sind, von großem Nutzen für die Überprüfung der Einhaltung von Sicherheitsrichtlinien und anderen Vorschriften sowie für Audits.
Verwenden Sie einen Protokollanalysator, der sich in das Warnsystem integrieren lässt, Ihre technischen Anwendungsstapel unterstützt und ein Dashboard bereitstellt usw.
Führen und überprüfen Sie einen Audit Trail
Es empfiehlt sich, einen Prüfpfad für Benutzer- und Entwickleraktivitäten wie erfolgreiche und fehlgeschlagene Anmeldeversuche, Passwortänderungen und andere kontobezogene Ereignisse zu speichern. Eine automatische Funktion kann Zähler verwenden, um vor verdächtigen und unsicheren Aktivitäten zu schützen.
Das Prüfprotokoll kann bei der Untersuchung von Sicherheitsverletzungen oder bei Verdacht auf einen Angriff von Nutzen sein.
Fazit
Ein PaaS-Modell beseitigt die Komplexität und die Kosten für den Kauf, die Verwaltung und die Wartung von Hardware und Software, überträgt aber die Verantwortung für die Sicherung der Konten, Anwendungen und Daten auf den Kunden oder Abonnenten. Dies erfordert einen identitätszentrierten Sicherheitsansatz, der sich von den Strategien unterscheidet, die Unternehmen in herkömmlichen Rechenzentren vor Ort anwenden.
Zu den wirksamen Maßnahmen gehören die Integration von Sicherheit in die Anwendungen, die Bereitstellung eines angemessenen internen und externen Schutzes sowie die Überwachung und Prüfung der Aktivitäten. Die Auswertung der Protokolle hilft dabei, Sicherheitsschwachstellen und Verbesserungsmöglichkeiten zu erkennen. Im Idealfall müssen die Sicherheitsteams darauf abzielen, Bedrohungen oder Schwachstellen frühzeitig zu beheben, bevor die Angreifer sie erkennen und ausnutzen.