¿Se debe permitir la Plena Confianza?
Para determinadas cargas de trabajo, puede que se requiera Plena confianza (por ejemplo, para hacer llamadas no administradas, usar reflexión, etc.). En la mayoría de aplicaciones web, normalmente no hace falta. Microsoft recomienda usar Confianza media (a nivel de servidor). Con la delegación de características, puede permitir que los propietarios de sitios individuales reemplacen el nivel de confianza "predeterminado" a Plena confianza o a un nivel de confianza personalizado derivado de la Confianza media. De este modo, los propietarios del sitio decidirán de forma explícita.
¿Se pueden usar bases de datos de Access?
Sí: al igual que en IIS 6.0, deberá crear una confianza personalizada derivada de la Confianza media, o usar Plena confianza.
¿Se debe cambiar el usuario anónimo? (¿cómo de seguro es el usuario predefinido?)
Esta pregunta no tiene una respuesta sencilla. IIS proporciona un token de usuario anónimo o incluso suplanta el subproceso antes de ceder el control a tecnologías de scripting como ASP, PHP o ASP.NET. Una vez ocurre esto, IIS se queda al margen y es independiente de cómo las tecnologías de scripting usan este token.
ASP clásico, por ejemplo, usa el subproceso suplantado. El espacio aislado de ASP clásico se basa en la suposición de que ninguna API de ASP clásica puede deshacer la suplantación del subproceso que se ejecuta como usuario autenticado.
ASP.NET, por otro lado, no usa el usuario anónimo de manera predeterminada. Todo su código se ejecuta sin suplantar (es decir, como identidad del proceso). Por supuesto, puede activar la suplantación en los archivos web.config (sección de <identidad>). Pero ASP.NET es una tecnología de scripting potente y generar un subproceso nuevo (ejecutado sin suplantación de manera predeterminada) o revertir el subproceso a la identidad de proceso no es difícil. Incluso en Confianza media, hay formas de hacerlo y se desconoce si se ha evaluado la seguridad de la Confianza media del espacio aislado de ASP.NET con respecto a la suplantación de subprocesos. PHP también es un terreno sin explorar en este sentido.
De nuevo: IIS no tiene forma de evitar que las tecnologías de scripting reviertan a la identidad del proceso o generen nuevos subprocesos como identidad del proceso.
Las ventajas de tener un usuario anónimo es que supone otra capa de defensa. Es posible que el código malintencionado no haya encontrado una manera (todavía) de ejecutarse como identidad del proceso. El código IIS que se ejecuta como la identidad del proceso tiene que tener acceso de escritura a determinados recursos (por ejemplo, la caché de compresión de IIS, los archivos de ASP.Net temporales, etc.). Si el código malintencionado no sabe cómo revertir a la identidad del proceso, no puede interferir con los recursos que permiten el acceso de escritura de la identidad del proceso. El código personalizado que se ejecuta como usuarios anónimos no necesita estos permisos.
Si no se debe permitir la Plena confianza y usar una configuración de Confianza media modificada, ¿cuál es la configuración recomendada?
No tenemos una "configuración recomendada" que admita la base de datos de acceso. Su contenido de IIS 6.0 todavía debería seguir sirviendo en IIS 7.0 porque ASP.NET no ha cambiado (todavía).
Si necesita configurar una directiva de confianza personalizada, hay una serie de artículos relevantes en la web:
https://msdn.microsoft.com/library/wyts434y.aspx
https://msdn.microsoft.com/library/ms998341.aspx#paght000020_step3
https://msdn.microsoft.com/library/ms998326.aspx#paght000017_step2