the que police negras negra listas lista hg532e cuál celulares blanca security

security - police - que es whitelist minecraft



¿Qué es mejor, la lista blanca o la seguridad de la lista negra, o ambas? (8)

Del artículo clásico "La protección de la información en los sistemas informáticos" (Saltzer & Schroeder 1975) , que describe ocho principios de diseño importantes, uno de los cuales es:

Valores predeterminados a prueba de fallas: Bases de decisiones de acceso con permiso en lugar de exclusión. Este principio, sugerido por E. Glaser en 1965, 8 significa que la situación predeterminada es la falta de acceso, y el esquema de protección identifica las condiciones bajo las cuales se permite el acceso. La alternativa, en la cual los mecanismos intentan identificar las condiciones bajo las cuales el acceso debe ser rechazado, presenta una base psicológica equivocada para el diseño de sistemas seguros. Un diseño conservador debe basarse en argumentos por los que los objetos deberían ser accesibles, en lugar de por qué no deberían serlo. En un sistema grande, algunos objetos serán considerados inadecuadamente, por lo que un incumplimiento de la falta de permiso es más seguro. Un error de diseño o implementación en un mecanismo que otorga un permiso explícito tiende a fallar al rechazar el permiso, una situación segura, ya que se detectará rápidamente. Por otro lado, un error de diseño o implementación en un mecanismo que explícitamente excluye el acceso tiende a fallar al permitir el acceso, una falla que puede pasar desapercibida en el uso normal. Este principio se aplica tanto a la apariencia exterior del mecanismo de protección como a su implementación subyacente.

Pronto construiré una aplicación web en la que necesitaré tener un modelo de seguridad para que diferentes usuarios tengan acceso a diferentes partes de la aplicación y / o diferentes conjuntos de datos dentro de esas partes específicas de la aplicación. Estoy debatiendo entre los dos métodos siguientes de implementación de seguridad:

Lista blanca: de forma predeterminada, los usuarios no tienen acceso a nada y tienen acceso a las cosas que necesitan.

o

Lista negra: de forma predeterminada, los usuarios tienen acceso a todo y su acceso se elimina de las cosas que no necesitan.

¿Existe una mejor práctica sobre qué método se prefiere? Si hay otro método que podría abordar mejor este problema, sería interesante saberlo también.

Gracias.


En el escenario de una aplicación web, siempre usaría una lista blanca. En general, es mejor dar al usuario muy poca potencia que demasiado.


Imaginemos que tiene un conjunto de mil llaves de puerta a las que necesita darle acceso a alguien.

¿Prefieres pasar por todas las llaves y tratar de sacar las que esta persona no necesita y darles el resto? ¿O prefieres darles las llaves que realmente necesitan y negarles el resto?

¿Cuál tiene el mayor potencial de error?


La seguridad siempre se basa en lo que usted llama "lista blanca". Líbranos de todo y solo abre lo que necesitan.


La vista pesimista dice whitelist, la vista optimista diría blacklist. En línea, tengo la seguridad en mayor consideración, así que realmente si se requiere una lista blanca / lista negra, definitivamente vaya con una lista blanca.


Lista blanca Con la lista negra, debe tener en cuenta todas las entradas que PUEDEN ser inválidas. Con la lista blanca, simplemente considere lo que es válido.


No sabes lo que no sabes.

Hay muchas maneras de evitar la validación del usuario (usando UTF-8 u otra codificación, etc.) y más de una forma de realizar ataques de scripts entre sitios. ¿Estás seguro de que puedes obtener la lista negra que cubre todos los posibles ataques? Esta lista podría ser infinita.

Sin embargo, crear la lista de lo que es bueno es mucho más fácil y, en consecuencia, mucho más seguro.


Siempre trabaje con una lista blanca, de esa manera, incluso si ha omitido algo, no está siendo vulnerable.