Seguridad de Recursos Web

Al instalar IIS se crea el path por defecto en el disco de sistema (normalmente c:\Inetpub\wwwroot) donde colocar las webs que IIS sirve . Dado que esto es un dato sobradamente conocido, usuarios maliciosos pueden aprovecharlo para hacer ataques (ataques de Directory Traversal, donde mediante diferentes técnicas se puede acceder a partes sensibles del disco duro ajenas al propio servidor). Por ello, es aconsejable mover el contenido de las webs a otro disco duro o partición cuya localización no sea tan conocida. Esto dificultará la ejecución de programas en línea de comandos no autorizada y también, como hemos dicho, el acceso a información del disco de sistema en caso de rupturas de seguridad.

Otra tarea conveniente es crear un documento por defecto para la web. En caso de que no exista un documento por defecto, los usuarios que accedan a una localización de la web concreta sin especificar un documento (por ejemplo con URLs como www.miweb.com/usuarios en lugar de www.miweb.com/usuarios/index.html) obtendrán un Directory Listing Error o bien verán un listado de archivos en esa carpeta (si se ha activado el permiso de “Examen de directorios”).

Una tercera opción de importancia capital es configurar adecuadamente los permisos NTFS de los archivos que forman parte de la web. Sólo dando permisos adecuados a dichos archivos podremos tener la seguridad de que usuarios realmente autorizados accederán a ellos. Debemos tener en cuenta que para asignar permisos NTFS a los archivos el sistema operativo se usarán los usuarios y grupos que Windows tenga registrados localmente él mismo, o bien sean accesibles por pertenecer a un dominio Active Directory. Podemos seleccionar cualquiera de esos usuarios registrados del sistema y darle cualquier clase de permiso NTFS que deseemos a cualquier archivo de la web como si fuese un archivo normal. Al acceder vía web a archivos que requieran la identificación de un usuario concreto para su acceso (es decir, que no permitan el acceso anónimo) el servidor dará instrucciones al navegador para que el usuario pueda proveer credenciales de autenticación, y ver si con éstas es capaz de acceder a los mismos (lo que ocurrirá si se identifica con un par <nombre de usuario>/<clave> correctos y con permisos suficientes sobre el archivo al que se trata de acceder).

En concreto, el proceso seguido es el siguiente:

  • Un usuario sin identificar que acceda a un contenido será realmente identificado por Windows como el usuario anónimo por defecto de IIS (IUSR_<nombredel equipo>)
  • Se comprobará si el recurso accedido tiene permisos NTFS asociados a dicho usuario anónimo antes de conceder acceso.
  • En el caso de que no los tenga, IIS solicitará autenticación para que el usuario se identifique como alguno existente en el sistema.
  • En caso de que no lo haga (o sí lo haga, pero el usuario identificado tampoco tenga permisos sobre el recurso), se denegará el acceso.

La asignación de permisos concretos a los recursos depende mucho del contenido y función de la web, pero para un directorio común con contenido web, se recomienda dar los siguientes permisos según los usuarios:

  • Administradores: Control Total
  • IIS_WPG: Lectura y Ejecución; Listar contenidos de directorio; Leer
  • IUSR_<nombre del equipo> (usuario anónimo por defecto de IIS): Lectura y Ejecución; Listar contenidos de directorio (si es necesario); Leer; Denegar Escritura. Estos permisos pueden variar en función de la web y su propósito.
  • SYSTEM: Control Total.

Por tanto, la seguridad de recursos web contempla una serie de actividades prácticas:

Última modificación: domingo, 1 de agosto de 2010, 14:43