Wie erzwinge ich MFA für privilegierten Zugriff (SOC 2)?
das heygrc team
Die Einschränkung, wer sensible Funktionen erreichen kann, ist der Kern von SOC 2 CC6.1 (logische Zugriffskontrollen). Für privilegierte Aktionen reicht eine gültige Sitzung allein in der Regel nicht aus. Fordern Sie einen zweiten Faktor zum Zeitpunkt der privilegierten Aktion an, verweigern Sie den Zugriff standardmäßig, falls dieser fehlt, und zeichnen Sie die Prüfung auf. So erfordert das Erreichen eines Admin-Pfads mehr als eine gestohlene oder noch aktive Sitzung.
Benennen Sie die privilegierten Pfade
Legen Sie fest, welche Aktionen als privilegiert gelten: administrative Endpunkte, Änderungen von Rollen und Berechtigungen, Massen-Datenzugriff oder -export sowie Änderungen an Sicherheitseinstellungen. Dies sind die Pfade, bei denen eine einzelne kompromittierte Sitzung den größten Schaden anrichten kann und bei denen sich ein zweiter Faktor lohnt.
Erfordern Sie den zweiten Faktor bei der Aktion, verweigern Sie standardmäßig
Prüfen Sie vor der Ausführung der privilegierten Aktion, ob ein zweiter Faktor (oder eine kürzliche Step-up-Authentifizierung) vorliegt, nicht nur bei der anfänglichen Anmeldung. Verweigern Sie den Zugriff standardmäßig, falls dieser fehlt, anstatt ihn zuzulassen. Die Prüfung sollte auf dem Server-Pfad erfolgen, der die Aktion ausführt, sodass sie nicht durch direkten Aufruf des Endpunkts umgangen werden kann.
export async function setRole(session, target, role) {+ if (!session.mfaVerified) return deny("step-up required") await db.roles.set(target, role) return ok()}Die privilegierte Rollenänderung erfordert nun einen verifizierten zweiten Faktor und verweigert standardmäßig ohne diesen, wodurch die logische Zugriffskontrolle, um die es bei CC6.1 geht, gestärkt wird.