12 Seguridad y Java Policy Flashcards
¿Qué es el modelo de seguridad de Java?
Un conjunto de restricciones para proteger la ejecución de código en la JVM.
¿Qué componente de Java gestiona la seguridad?
La SecurityManager
y las Java Policy Files
.
¿Qué es un SecurityManager
en Java?
Una clase que restringe acciones potencialmente peligrosas.
¿Cómo se habilita un SecurityManager
?
Usando System.setSecurityManager(new SecurityManager());
.
¿Qué archivo define políticas de seguridad en Java?
El archivo java.policy
.
¿Qué formato tiene una política en java.policy
?
grant { permission java.io.FilePermission "/path", "read"; };
.
¿Cómo se especifican los permisos en una política?
Usando grant
seguido de permisos específicos.
¿Qué tipo de permisos se pueden establecer en Java Policy?
Acceso a archivos, red, ejecución de código, entre otros.
¿Cómo se ejecuta Java con una política personalizada?
Con java -Djava.security.manager -Djava.security.policy=mipolicy.policy MiClase
.
¿Qué es un keystore en Java?
Un almacén seguro para claves y certificados.
¿Cómo se crea un keystore en Java?
Usando keytool -genkeypair
.
¿Qué es un Signed JAR
en Java?
Un archivo JAR firmado digitalmente para verificar su autenticidad.
¿Cómo se firma un JAR en Java?
Con jarsigner -keystore miKeystore MiJar.jar alias
.
¿Cómo se verifica la firma de un JAR?
Con jarsigner -verify MiJar.jar
.
¿Qué es un CodeSource
en Java?
Una fuente de código que incluye ubicación y firmas de certificados.
¿Qué mecanismo en Java impide la ejecución de código no confiable?
La verificación de firma digital y SecurityManager
.
¿Cómo se limita el acceso de una aplicación a recursos específicos?
Definiendo políticas en java.policy
.
¿Qué es el sandboxing
en Java?
El aislamiento de código no confiable dentro de un entorno restringido.
¿Qué es un Principal
en Java Security?
Una entidad identificada en el sistema, como un usuario o servicio.
¿Por qué se recomienda usar doPrivileged
en código seguro?
Para ejecutar operaciones sensibles sin restricciones del SecurityManager
.