Erste Schritte zum Schutz von Geheimnissen
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Erklären, was Anwendungsgeheimnisse sind
- Erklären, vor wem Sie Anwendungsgeheimnisse verbergen müssen
- Aufzählen von drei Risiken bei Offenlegung von Anwendungsgeheimnissen gegenüber Salesforce-Administratoren
Was sind Geheimnisse?
Praktisch jede Anwendung verarbeitet irgendeine Art sensibler Daten: Ob es um das Kennwort geht, das ein Benutzer eingibt, um sich bei der Anwendung zu authentifizieren, oder um einen Verschlüsselungsschlüssel, der Daten im Ruhezustand schützt. All dies sind Anwendungsgeheimnisse. Wenn Angreifer oder böswillige Benutzer Zugriff auf das Geheimnis erhalten, können sie damit auf vertrauliche Informationen oder Systeme zugreifen.
Der Schutz von Geheimnissen ist für Entwickler auf jeder Plattform wichtig, so auch bei Salesforce. In diesem Modul erfahren Sie, wie Sie Geheimnisse in Ihren Anwendungen identifizieren und die effektivste Methode zum Speichern und Schützen dieser Geheimnisse bestimmen.
Hier sind einige gängige Beispiele für Beispiele, also Daten, anhand derer die Berechtigungen eines Benutzers in einer bestimmten Situation überprüft werden können.
- Kennwörter und Passphrasen
- Verschlüsselungs- und API-Schlüssel
- OAuth-Token
Zusätzlich zu diesen Beispielen kann Ihr Unternehmen auch andere Formen von Daten als Geheimnis betrachten, die zusätzlichem Schutz unterliegen sollen. Sie können zum Beispiel gesetzlich verpflichtet sein, bestimmte Arten von Benutzerdaten zu verschlüsseln.
Vor wem schützen Sie Geheimnisse?
Nachdem Sie jetzt wissen, was Sie schützen müssen, sollten Sie sich überlegen, vor wem Sie diese Informationen überhaupt schützen. Vielleicht denken Sie an einen Angreifer. Sie möchten sensible Daten vor Angreifern von außen schützen, die versuchen, in Ihre Salesforce-Instanz einzudringen. Sie sollten aber auch an die Risiken denken, die mit der Offenlegung von Geheimnissen gegenüber anderen Benutzern, Salesforce-Administratoren, AppExchange-Entwicklern oder Kunden verbunden sind.
Stellen Sie diese Szenarien vor.
- Ein Benutzer lädt versehentlich Malware herunter, wodurch seine Salesforce-Sitzung kompromittiert wird.
- Ein wurde vor Kurzem entlassener, verärgerter Mitarbeiter hat immer noch Zugang zu den Systemen seines Unternehmens.
- Ein Benutzer von Communities CRM entdeckt, dass er privilegierten API-Zugriff hat.
In jedem Szenario kann ein unzureichend geschütztes Geheimnis für jemanden sichtbar werden, der keinen Zugriff darauf haben sollte. Aus diesen Gründen ist es eine gute Idee, Geheimnisse vor verschiedenen Arten von Benutzern zu schützen, wie z. B.:
-
Standardbenutzer: Benutzer mit normalen Salesforce-Lizenzen und durchschnittlichen Berechtigungen
-
Externe Benutzer: Benutzer mit eingeschränkten Berechtigungen, die möglicherweise eine Community-Lizenz verwenden oder Daten über eine Force.com-Site anzeigen
-
Administrator-Benutzer mit administrativem Zugriff: Benutzer mit normalen Salesforce-Lizenzen, aber überdurchschnittlichen Berechtigungen, bis zu "Alle Daten modifizieren"
Denken Sie daran, dass nicht jedes Geheimnis vor jedem Benutzertyp geschützt werden muss. Dieses Modul soll Ihnen Tools an die Hand zu geben, mit denen Sie Anwendungsgeheimnisse so schützen können, dass selbst die sensibelsten Daten sicher in Salesforce gespeichert werden können.
Warum sollten Geheimnisse vor Administratoren geschützt werden?
Administratoren sind in einer vertrauenswürdigeren Position als andere Benutzer, da sie einen umfassenderen Zugriff auf das System haben. Halten Sie sich an das "Prinzip der geringsten Rechte": Gewähren Sie nur das absolute Minimum an Rechten, die ein Benutzer, Programm oder Prozess benötigt, um seine zugewiesene Aufgabe zu erfüllen. Das Gewähren von Administratorzugriff auf zusätzliche Elemente wie Verschlüsselungsschlüssel mag harmlos erscheinen, es sind hier jedoch einige Dinge zu beachten.
- Wenn es sich bei einem gespeicherten Geheimnis um das Kennwort für einen externen Service handelt, ist der Salesforce-Administrator möglicherweise nicht berechtigt, direkt auf den Service zuzugreifen. Um diesen Service zu schützen, sollten Sie also sicherstellen, dass er nicht auf das Kennwort zugreifen kann.
- Das gespeicherte Geheimnis kann ein Verschlüsselungsschlüssel sein, auf den kein Benutzer, auch nicht der Administrator, zugreifen darf. Auch hier sollten Sie also sicherstellen, dass ein Administrator keinen Zugriff darauf hat.
- Wenn ein Administrator auf das Geheimnis zugreifen kann, kann ein Angreifer versuchen, an das Geheimnis zu kommen, indem er den Account des Administrators kompromittiert.
Nur weil jemand auf etwas zugreifen darf, heißt das noch lange nicht, dass dies auch so sein sollte!
Sie wissen jetzt, wie wichtig es ist, Geheimnisse zu schützen. Sie können nun die effektivste Methode zum Speichern und Schützen von Geheimnissen bestimmen, während Sie Ihre Anwendung entwickeln. Als Nächstes geht es darum, wie Sie die Sicherheitsfunktionen der Salesforce Platform nutzen können.