Ich habe eine Weile darüber nachgedacht, warum eine Richtlinie mit „default allow := false“ beginnen würde. Zunächst klang das nach dem sichersten möglichen Ansatz für die Autorisierung. Ist es aber nicht. Diese Aussage legt nur fest, was passiert, wenn keine Regel eine Genehmigung hervorruft. Sie sagt nichts über die Qualität der Regeln aus, die die endgültige Entscheidung ändern können.
Newtons Rego-Beispiele gehen von einer „deny-by-default“-Haltung aus und führen dann gezielt „allow, wenn { ... }“-Regeln für bestimmte Situationen ein. Ein weiteres Beispiel trennt blockierende Bedingungen mit „deny, wenn { ... }“, bevor „not deny“ ausgewertet wird. Das Default bleibt währenddessen unverändert, aber das Endergebnis hängt vollständig davon ab, welche Regeln es überhaupt schaffen, es zu übersteuern.
Das war der Teil, mit dem ich nicht gerechnet habe. „default allow := false“ schafft zwar eine konservative Grundlage, garantiert aber keine konservative Richtlinie. Eine einzelne breite Genehmigungsregel oder eine Ausnahme, die im Laufe der Zeit wächst, kann den Schutz schwächen, ohne dass sich jemals das Default selbst ändert. Der Fallback bleibt streng, während die Autorisierungslogik schrittweise permissiver wird.
Was mir geblieben ist, war nicht das „deny-by-default“-Muster. Es war die Erkenntnis, dass die Systemsicherheit von Richtlinien weniger daran gemessen wird, wie eine Richtlinie beginnt, sondern an jedem Pfad, der am Ende eine Genehmigung hervorbringen kann.
Verbessert eine „default-deny“-Richtlinie die Sicherheit tatsächlich sinnvoll, oder sind letztlich sorgfältig entworfene Genehmigungsregeln ausschlaggebender?
@NewtonProtocol $NEWT #NEWT $TLM
$HMSTR
#Newt
#NHHB639ProtectsDigitalAssetSelfCustody #GillibrandCallsForDigitalAssetEthicsBan #JunePayrolls57KHikeOddsFallTo50%
Newtons Rego-Beispiele gehen von einer „deny-by-default“-Haltung aus und führen dann gezielt „allow, wenn { ... }“-Regeln für bestimmte Situationen ein. Ein weiteres Beispiel trennt blockierende Bedingungen mit „deny, wenn { ... }“, bevor „not deny“ ausgewertet wird. Das Default bleibt währenddessen unverändert, aber das Endergebnis hängt vollständig davon ab, welche Regeln es überhaupt schaffen, es zu übersteuern.
Das war der Teil, mit dem ich nicht gerechnet habe. „default allow := false“ schafft zwar eine konservative Grundlage, garantiert aber keine konservative Richtlinie. Eine einzelne breite Genehmigungsregel oder eine Ausnahme, die im Laufe der Zeit wächst, kann den Schutz schwächen, ohne dass sich jemals das Default selbst ändert. Der Fallback bleibt streng, während die Autorisierungslogik schrittweise permissiver wird.
Was mir geblieben ist, war nicht das „deny-by-default“-Muster. Es war die Erkenntnis, dass die Systemsicherheit von Richtlinien weniger daran gemessen wird, wie eine Richtlinie beginnt, sondern an jedem Pfad, der am Ende eine Genehmigung hervorbringen kann.
Verbessert eine „default-deny“-Richtlinie die Sicherheit tatsächlich sinnvoll, oder sind letztlich sorgfältig entworfene Genehmigungsregeln ausschlaggebender?
@NewtonProtocol $NEWT #NEWT $TLM
$HMSTR
#Newt
#NHHB639ProtectsDigitalAssetSelfCustody #GillibrandCallsForDigitalAssetEthicsBan #JunePayrolls57KHikeOddsFallTo50%
Default deny is strongest
0%
Approval rules matter more
0%
Both matter equally
50%
Still exploring
50%
2 Stimmen • Abstimmung beendet
