Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
por Tali Smith
Introducción
El servidor de Protocolo de transferencia de hipertexto (HTTP) de Apache e Internet Information Services son dos de los servidores web más populares del mundo. Este artículo proporciona información técnica sobre IIS para usuarios familiarizados con Apache. El artículo compara la arquitectura, el modelo de seguridad y las características de administración de IIS 7 (y versiones posteriores) con los de Apache, y también compara escenarios y herramientas de administración comunes de IIS y Apache.
Comparación de características
IIS, con un diseño modular similar al del servidor web Apache, ofrece a los administradores el control a través de su arquitectura extensible y su intuitiva interfaz gráfica de usuario. Las capacidades de diagnóstico desarrolladas en IIS ayudan a reducir el tiempo necesario para solucionar problemas, minimizando el tiempo de inactividad.
Arquitectura modular
La funcionalidad de IIS se divide en más de 44 módulos de características independientes. Estos módulos pueden instalarse durante la configuración del rol de Servidor web (IIS) a través de la consola de Administrador del servidor. La funcionalidad existente puede ampliarse usando las interfaces de programación de aplicaciones (API) Win32® y Microsoft® .NET incluidas para desarrollar nuevos módulos. Aunque los módulos de IIS sustituyen a los filtros y extensiones de la Interfaz de programación de aplicaciones para servidores de Internet (ISAPI), IIS mantiene la compatibilidad total con estos filtros y extensiones.
El servidor web Apache ofrece compatibilidad limitada con las extensiones de la API de voz de Microsoft® (SAPI), pero no es compatible con los filtros de ISAPI. Se basa en un proyecto impulsado por la comunidad llamado Apache Portable Runtime (APR), que se utiliza para crear y mantener bibliotecas de software que proporcionan una interfaz predecible y coherente para las implementaciones específicas de la plataforma subyacente. APR proporciona un conjunto de API que se asigna al sistema operativo subyacente y, por tanto, permite a los desarrolladores codificar programas independientes de la plataforma.
Seguridad del servidor web
Desde 2003, se ha informado de cuatro vulnerabilidades de seguridad en IIS 6.0, frente a las 23 de Apache 2.0.x durante el mismo periodo de tiempo,[1] según el proveedor de servicios de seguridad Secunia. IIS se desarrolla sobre la base segura de su predecesor y aporta un modelo de procesamiento mejorado que aísla las aplicaciones activando de manera predeterminada los recursos y las configuraciones en el nivel de la aplicación.
La instalación de un entorno mínimo eligiendo la opción de instalación Server Core de Windows ServerÒ 2008 limita aún más el área de exposición de la instalación de IIS. Server Core omite los servicios gráficos y la mayoría de las bibliotecas, lo que reduce la huella total del sistema operativo al tiempo que conserva la capacidad de ser administrado tanto localmente, a través de la utilidad de línea de comandos de IIS Appcmd.exe, como remotamente.
Herramientas de administración
El diseño inicial de Apache no tuvo en cuenta la posibilidad de implementar una interfaz gráfica para sus herramientas de administración. Las funciones de administración de Apache se llevan a cabo mediante entradas realizadas directamente en los archivos de configuración o a través de herramientas gráficas de administración de código abierto como TKApache y NetLoony.
IIS ofrece una serie de herramientas de administración; la administración puede realizarse gráficamente, a través de la línea de comandos o manualmente editando el archivo de configuración.
Diagnóstico y solución de problemas
En Apache, los fallos se aíslan y diagnostican a través de cinco archivos de registro, cada uno de los cuales debe leerse manualmente para buscar patrones que apunten a un problema concreto.
IIS incluye dos mecanismos que ayudan a diagnosticar y solucionar problemas:
- La API de Control y estado runtime proporciona información de estado en tiempo real sobre grupos de aplicaciones, procesos de trabajo, sitios, dominios de aplicación e incluso solicitudes en ejecución. Esta API del Modelo de objetos componentes (COM) se muestra a través de la consola del Administrador de IIS, la nueva herramienta de línea de comandos Appcmd.exe e Instrumental de administración de WindowsÒ (WMI). Estas aplicaciones ofrecen comprobaciones de estado rápidas y sencillas en cualquier entorno de administración elegido.
- La funcionalidad de seguimiento de eventos detallado realiza un seguimiento de los eventos a lo largo de la ruta de solicitud y respuesta, lo que permite a los desarrolladores y administradores hacer un seguimiento de una solicitud a través de la canalización de procesamiento de IIS y volver a la respuesta. Estos eventos de seguimiento detallados recopilan información sobre la ruta de acceso de la solicitud, los errores provocados por la misma y el tiempo transcurrido en todos los puntos.
IIS también proporciona una biblioteca detallada y procesable de mensajes de error. Esta biblioteca sustituye los tradicionales y escuetos códigos de error por información detallada sobre la solicitud, la posible causa del error y los pasos sugeridos para solucionar el problema. IIS envía información detallada sobre errores al navegador y a otros clientes remotos.
Compatibilidad con aplicaciones web
IIS ofrece herramientas que permiten a las organizaciones administrar todas sus aplicaciones web en una sola plataforma, lo que elimina la necesidad de mantener dos o más plataformas independientes que crean mayores costos de infraestructura.
FastCGI en IIS es compatible con la versión de alto rendimiento de Common Gateway Interface (CGI). FastCGI supera los problemas de rendimiento de las CGI estándar mediante la creación de procesos persistentes que pueden reutilizarse para múltiples solicitudes, en lugar de crear un nuevo proceso para cada solicitud, que después se descarta cuando esta ha sido atendida. FastCGI también permite que las aplicaciones se ejecuten de forma remota, lo que mejora la distribución de la carga.
IIS también funciona con MicrosoftÒ .NET Framework versión 1.1 y posteriores. Gracias a su compatibilidad con ASP clásico, Microsoft® ASP.NET y PHP, IIS proporciona a las organizaciones la flexibilidad necesaria para escribir aplicaciones en el lenguaje de su elección y hospedarlas en la plataforma que prefieran.
Modelo de extensibilidad para la personalización
Los desarrolladores pueden ampliar IIS a través del conjunto de API del servidor central, que les permite establecer módulos tanto en código nativo (como C/C++) como en código administrado utilizando lenguajes (como C# y Microsoft® Visual Basic®) que usan .NET Framework. IIS también habilita la extensibilidad para los conjuntos de características de configuración, scripting, registro de eventos y herramientas de administración.
Las extensiones pueden descargarse gratuitamente para las plataformas x86 y x64. Las extensiones abarcan una serie de tareas de implementación, administración, control de solicitudes, seguridad, publicación de contenidos y servicio multimedia. Para ver las extensiones IIS disponibles, consulte: Extensiones de IIS.
Servicio de publicación FTP para IIS 7 y versiones posteriores
El servicio de publicación FTP para IIS (FTP 7) ofrece muchas capacidades mejoradas con respecto a las versiones anteriores del servidor FTP de IIS:
- Una integración más estrecha con IIS a través de una nueva interfaz de usuario (UI) de administración y un almacén de configuraciones basado en el formato *.CONFIG de .NET basado en XML.
- Uso compatible con el protocolo de transferencia de archivos (FTP) sobre Capa de sockets seguros (SSL) y para usar cuentas que no sean de WindowsÒ para la autenticación. El nuevo servicio FTP también es compatible con otras mejoras de Internet, como UTF8 e IPv6.
- Mejoras en el Hospedaje compartido gracias a la plena integración del SSO en IIS. Esto permite a FTP 7 hospedar contenidos FTP y web desde el mismo sitio simplemente añadiendo un enlace FTP a un sitio web existente. Además, el servicio FTP ahora tiene compatibilidad con el nombre de host virtual, lo que permite hospedar varios sitios FTP en la misma dirección IP.
- Características mejoradas de registro y compatibilidad, incluido un registro mejorado para todo el tráfico relacionado con FTP, un seguimiento único para las sesiones FTP, subestados FTP y campos de detalle adicionales en los registros FTP.
Canalización integrada de solicitudes
En versiones anteriores de IIS, ASP.NET se implementaba como una extensión ISAPI de IIS, y las solicitudes a contenidos que no eran ASP.NET, como páginas ASP o archivos estáticos, no eran visibles para ASP.NET.
En IIS, el diseño de la canalización de solicitudes ofrece más oportunidades para influir en la forma en que se controla una solicitud. IIS procesa una solicitud a cualquier tipo de contenido, lo que habilita los servicios proporcionados por los módulos de ASP.NET, como la autenticación de formularios o la caché de salida, para usarlos en solicitudes a páginas ASP, páginas PHP o archivos estáticos.
Configuración y administración de IIS 7 y versiones posteriores
En Apache, la configuración comienza con una entrada de directiva en el archivo Httpd.config.
Este método es similar para la configuración de IIS, en la que la mayoría de las configuraciones pueden establecerse localmente en el archivo Web.config o globalmente en el archivo ApplicationHost.config. IIS proporciona algunos métodos para editar los archivos .config. Estos métodos incluyen:
- Edición gráfica a través de la consola del Administrador de IIS.
- Edición desde el símbolo del sistema usando Appcmd.exe junto con el argumento set config / commit/.
- Edición dentro de un script de Instrumental de administración de Windows, usando la clase Application.
- Editar manualmente los archivos de configuración, que se basan en un esquema fuertemente tipado escrito en XML de texto claro. Microsoft® Visual Web Developer 2005 Express Edition puede usarse para editar los archivos de configuración de IIS en un entorno de editor de código de aspecto limpio.
Encontrará las opciones de utilización completas de Appcmd.exe aquí.
Uso de módulos para controlar y personalizar IIS
Los módulos de IIS controlan y personalizan su funcionalidad, lo que se traduce en una mayor flexibilidad y eficacia de la plataforma de servidores. De manera predeterminada, estos módulos son archivos de biblioteca de vínculos dinámicos (DLL) almacenados en la carpeta %WINDIR%\System32\inetsrv\
. Pueden clasificarse en los dos tipos siguientes.
- Nativo. Un módulo nativo tiene acceso sin restricciones a cualquier recurso disponible para el proceso de trabajo del servidor, igual que un filtro ISAPI o una extensión en versiones anteriores.
- Administrado. Los módulos administrados pueden configurarse por separado para cada sitio o aplicación. Se cargan para su procesamiento solo cuando lo requiere el sitio o la aplicación en particular.
Módulos HTTP
Varios módulos de IIS realizan tareas específicas de HTTP en la canalización del procesamiento de solicitudes. Incluyen módulos para responder a la información y consultas enviadas en los encabezados de los clientes, para devolver errores HTTP y para redirigir solicitudes.
Módulo de Apache | Equivalente de IIS | Descripción | Recurso |
---|---|---|---|
Característica principal: Directiva ErrorDocument | CustomErrorModule | Envía mensajes de error HTTP predeterminados y configurados cuando se establece un código de estado de error en una respuesta. | Inetsrv\Custerr.dll |
mod_alias | HttpRedirectionModule | Admite el redireccionamiento configurable para las solicitudes HTTP. | Inetsrv\Redirect.dll |
mod_headers | ProtocolSupportModule | Realiza acciones relacionadas con el protocolo, como establecer encabezados de respuesta y redireccionamiento en función de la configuración. | Inetsrv\Protsup.dll |
Módulos de seguridad
Varios módulos IIS realizan tareas de seguridad en la canalización del procesamiento de solicitudes. Además, existen módulos independientes para cada uno de los esquemas de autenticación, lo que habilita la selección de módulos para los tipos de autenticación que se quieran en el servidor. Otros módulos realizan solicitudes de autorización y filtrado de URL.
Módulos de contenido
Varios módulos IIS realizan tareas relacionadas con el contenido en la canalización de procesamiento de solicitudes. Los módulos de contenido procesan las solicitudes de archivos estáticos, devuelven una página predeterminada cuando un cliente no especifica un recurso en una solicitud, enumeran el contenido de un directorio y mucho más.
Módulos de compresión
Dos módulos IIS realizan la compresión en la canalización del procesamiento de solicitudes.
Módulos de almacenamiento en caché
Varios módulos de IIS realizan tareas relacionadas con el almacenamiento en caché en la canalización del procesamiento de solicitudes. El almacenamiento en caché mejora el rendimiento de los sitios web y las aplicaciones web almacenando información procesada, como páginas web, en memoria en el servidor y, a continuación, reutilizando esa información en solicitudes posteriores para el mismo recurso.
Módulos de registro y diagnóstico
Varios módulos IIS realizan tareas relacionadas con el registro y el diagnóstico en la canalización del procesamiento de solicitudes. Los módulos de registro admiten la carga de módulos personalizados y pasar información a HTTP.sys. Los módulos de diagnóstico realizan un seguimiento e informan de los eventos durante el procesamiento de las solicitudes.
Módulo de Apache | Equivalente de IIS | Descripción | Recurso |
---|---|---|---|
mod_log_config | CustomLoggingModule | Carga de módulos de registro personalizados. | Inetsrv\Logcust.dll |
No compatible | FailedRequests- TracingModule | Admite la característica de Seguimiento de solicitudes erróneas. | Inetsrv\Iisfreb.dll |
mod_log_config | HttpLoggingModule | Pasa información y estado de procesamiento a HTTP.sys para el registro. | Inetsrv\Loghttp.dll |
mod_dtrace | RequestMonitorModule | Realiza un seguimiento de las solicitudes que se ejecutan actualmente en procesos de trabajo e informa de información con el estado en tiempo de ejecución y la interfaz de programación de aplicaciones de control. | Inetsrv\Iisreqs.dll |
mod_log_config | TracingModule | Notifica eventos a Seguimiento de eventos para WindowsÒ (ETW). | Inetsrv\Iisetw.dll |
Módulos de soporte administrado
Dos módulos de IIS administran la integración en la canalización del procesamiento de solicitudes de IIS.
Módulo de Apache | Equivalente de IIS | Descripción | Recurso |
---|---|---|---|
No compatible | ManagedEngine | Proporciona la integración de módulos de código administrado en la canalización de procesamiento de solicitudes de IIS. | Microsoft.NET\Framework\v2.0.50727\webengine.dll |
Tercero | ConfigurationValidationModule | Valida los problemas de configuración, como cuando una aplicación se ejecuta en modo integrado, pero tiene controladores o módulos declarados en la sección system.web. | Inetsrv\validcfg.dll |
Módulos administrados
Además de los módulos nativos, IIS permite usar módulos de código administrado para ampliar la funcionalidad de IIS. Algunos de los módulos administrados, como UrlAuthorization, tienen un homólogo de módulo nativo que proporciona una alternativa nativa al módulo administrado.
Modelo de configuración distribuida
El nuevo sistema de configuración de IIS almacena en caché los archivos de configuración como los archivos .htaccess de Apache, pero consume mucha menos memoria. Además, existen varias formas de configurar IIS para aprovechar los cambios de configuración globales o más granulares.
IIS usa un esquema de configuración que proporciona la integración de ASP.NET, incluyendo la configuración compartida y el soporte del runtime de HTTP. El modelo de configuración basado en XML usa archivos de texto de configuración que contienen las opciones de configuración y que pueden almacenarse en archivos XML separados en una carpeta.
IIS usa tres archivos XML principales que mantienen las implementaciones del servidor:
- Machine.config contiene la configuración de .NET Framework para el servidor. Estos ajustes son heredados por todos los demás archivos de configuración de .NET Framework y pueden estar ubicados de manera predeterminada en
%windir%\Microsoft.net\Framework\<*framework\_version*>\Config\Machine.config
. - El archivo ApplicationHost.config contiene configuraciones para IIS y sus servicios. De manera predeterminada, se encuentra en
%windir%\System32\inetsrv\config\applicationHost.config
. - El archivo raíz Web.config contiene la configuración global de las aplicaciones web de ASP.NET, y se encuentra en
%windir%\Microsoft.NET\Framework\<*framework\_version*>\Config\Root Web.config
. Este archivo proporciona a cada aplicación un archivo Web.config que invalida la configuración global y también permite que los ajustes de configuración de IIS se almacenen en estos archivos Web.config, lo que facilita enormemente la copia de aplicaciones en varios servidores web y evita una replicación costosa y propensa a errores, la sincronización manual y las tareas de configuración adicionales.
Administración mediante IIS 7 y versiones posteriores
IIS puede usarse para ejecutar las mismas tareas de administración que se realizan en Apache.
Personalización de los mensajes de error
Por cada error HTTP estándar 403, 404 y 504, se devuelve un mensaje al navegador. Diferentes servidores web permiten a los administradores devolver un mensaje de error predeterminado, una página web específica o un archivo como página web para cada error.
- En Apache, la personalización de los mensajes de error se realiza mediante el archivo .htaccess, que los administradores pueden usar para manipular el comportamiento del servidor y crear mensajes de error de servidor personalizados. Ejemplos de este tipo de errores son "404 Not Found" que aparece cuando se rompe un vínculo y "500 Internal Server Error" que aparece cuando falla un script. El archivo .htaccess indica al servidor que debe mostrar una página especial en caso de error.
- IIS también permite a los administradores devolver páginas especiales en lugar de las predeterminadas para los errores del sitio web. Por ejemplo, en lugar de mostrar el mensaje "404 Not Found", se puede mostrar un mensaje con una lista de vínculos opcionales junto con el encabezado de la empresa y una nota de disculpa.
De manera predeterminada, IIS devuelve dos tipos de errores cuando se produce un problema. El primer tipo es el error personalizado estándar, que incluye una descripción escueta del error y un código de error. El segundo tipo de error es un error detallado, que de manera predeterminada solo devuelve las solicitudes procedentes de localhost. IIS puede configurarse para que devuelva errores detallados todo el tiempo, concretamente cuando la aplicación deba ejecutarse en modo de depuración, o para que nunca devuelva errores detallados y, en su lugar, devuelva siempre errores personalizados.
Reescritura de direcciones URL
La reescritura de URL es una forma de modificar la apariencia de una URL web. Los usuarios de aplicaciones web prefieren URL cortas y ordenadas en lugar de parámetros de cadenas de consulta sin procesar. Una URL concisa es fácil de recordar y lleva menos tiempo escribirla. Si se consigue que la URL se relacione claramente con el contenido de la página, es menos probable que se produzcan errores.
- Para la reescritura de URL, Apache viene con un módulo muy conocido llamado mod_rewrite. Este módulo proporciona un motor de reescritura basado en reglas para reescribir sobre la marcha las direcciones URL solicitadas. El módulo mod_rewrite se habilita en el archivo Apache.conf eliminando la # y reiniciando Apache. Las reglas de reescritura pueden definirse después en el archivo .htaccess dentro de cualquier directorio concreto.
- IIS ofrece ahora un módulo de Reescritura de URL (consulte: Módulo de Reescritura de URL).
Almacenamiento en caché web
El almacenamiento en caché web es el almacenamiento temporal de objetos web, como documentos HTML, para su posterior recuperación. El almacenamiento en caché web tiene tres ventajas significativas: menor consumo de ancho de banda, ya que menos solicitudes y respuestas tienen que pasar por la red; menor carga del servidor, ya que el servidor debe tener menos solicitudes que controlar; y menor latencia, ya que las respuestas a las solicitudes almacenadas en caché están disponibles de inmediato y más cerca del cliente al que se presta el servicio. Juntas, estas ventajas hacen que la web sea más económica y mejoran el rendimiento.
El almacenamiento en caché puede ser realizado por la aplicación cliente y está desarrollado en la mayoría de los exploradores web. Varios productos amplían o reemplazan las memorias caché integradas por sistemas que contienen mayor capacidad de almacenamiento, más características o mejor rendimiento. El almacenamiento en caché también puede implementarse entre el cliente y el servidor como parte de un proxy. Las cachés de proxy suelen estar ubicadas cerca de las puertas de enlace de la red para reducir el ancho de banda necesario en las costosas conexiones dedicadas a Internet. Por último, se pueden colocar cachés directamente delante de un servidor concreto para reducir el número de solicitudes que debe controlar.
- En Apache 2.0 y 2.2, el almacenamiento en caché depende normalmente de tres módulos: mod_cache, mod_disk_cache y mod_mem_cache. Los comandos para configurar el almacenamiento en caché deben definirse en el archivo o archivos de configuración del servidor principal, no en los archivos .htaccess. Las técnicas de almacenamiento en caché no funcionan sin acceso al administrador del servidor y son más apropiadas para contenidos dinámicos que deberían estar en caché y servirse como contenidos estáticos. Así es como Apache fuerza el almacenamiento en caché de contenidos dinámicos durante un determinado periodo de tiempo que, de otro modo, se serviría dinámicamente cada vez antes de alcanzar de nuevo la base de datos.
- La caché de salida de IIS es una nueva característica que permite almacenar en caché respuestas enteras en memoria, incluso de contenido dinámico, y permite a los propietarios y desarrolladores de sitios configurar la caché de salida para permitir el almacenamiento en caché de copias separadas de respuestas basadas en valores de cadenas de consulta.
La caché de salida también está integrada con la caché del kernel HTTP.sys que ayuda a un rápido rendimiento. El almacenamiento en caché del kernel está desbloqueado de manera predeterminada. Los desarrolladores pueden aprovechar esta característica configurando perfiles de almacenamiento en caché dentro de sus aplicaciones. Se puede ejecutar una herramienta de línea de comandos para mostrar el contenido de la caché HTTP.sys. Una regla basada en los encabezados de respuesta puede configurarse para almacenar en caché diferentes versiones del contenido de un sitio o aplicación.
Compresión de la salida web
Aunque la compresión de páginas web no es una tecnología nueva, últimamente se ha popularizado entre los administradores de TI por la rentabilidad de la inversión (ROI) casi inmediata que genera.
- La solución de compresión de la salida web disponible en Apache es mod_gzip, con la que los tipos de archivo configurados se comprimen utilizando la codificación GZIP después de ser procesados por los otros módulos de Apache y antes de ser enviados al cliente. Cuando se recibe una solicitud de un cliente, Apache determina si se debe invocar mod_gzip observando si se ha enviado el encabezado de solicitud HTTP "Accept-Encoding". Si el cliente envía el encabezado, mod_gzip comprime la salida de todos los tipos de archivo configurados cuando se envían al cliente.
- IIS ha mejorado y simplificado la compatibilidad con la codificación GZIP habilitando la ejecución inmediata de la compresión web. La compresión se configura en el archivo ApplicationHost.config en
C:\Windows\System32\inetsrv\config\applicationhost.config
. El módulo de compresión proporciona a IIS la capacidad de servir respuestas comprimidas a clientes habilitados para la compresión. Los clientes que pueden aceptar respuestas comprimidas envían un encabezado Accept-Encoding que indica los esquemas de compresión que pueden controlar. Si IIS puede comprimir la respuesta usando uno de estos esquemas de compresión, envía una respuesta comprimida con un encabezado de respuesta Content-Encoding que indica el esquema usado para comprimir la respuesta.
Diagnóstico y solución de problemas
Para administrar eficazmente un servidor web, es necesario obtener información sobre la actividad y el rendimiento del servidor y sobre cualquier problema que pueda estar surgiendo.
Apache
El servidor HTTP de Apache proporciona unas capacidades de registro completas y flexibles:
Registros de errores. El registro de errores del servidor, cuyo nombre y ubicación establece la directiva ErrorLog, es el archivo de registro más importante. Aquí es donde Apache Httpd envía información de diagnóstico y registra cualquier error que encuentre en el procesamiento de las solicitudes. Es el primer lugar donde buscar cuando se produce un problema con el arranque o el funcionamiento del servidor, ya que a menudo contiene detalles de lo que salió mal y cómo solucionarlo.
En el registro de errores puede aparecer una gran variedad de mensajes diferentes. El registro de errores también contiene la salida de depuración de los scripts de CGI. Cualquier información escrita en stderr por un script de CGI se copia directamente en el registro de errores.
No es posible personalizar el registro de errores añadiendo o eliminando información. Sin embargo, las entradas del registro de errores relativas a solicitudes concretas tienen sus correspondientes entradas en el registro de accesos. También es posible personalizar el registro de acceso para proporcionar más información.
Registros de acceso. En Apache, el registro de acceso al servidor registra todas las solicitudes procesadas por el servidor. La directiva CustomLog controla la ubicación y el contenido del registro de acceso. Use la directiva LogFormat para simplificar la selección del contenido de los registros. Varias versiones de Apache Httpd usan diferentes módulos y directivas para controlar el registro de acceso, incluyendo mod_log_config, mod_log_referer, mod_log_agent y la directiva
TransferLog
.Registros de scripts. Para ayudar en la depuración, la directiva ScriptLog le permite registrar la entrada y salida de los scripts de CGI. Esto solo debe usarse durante las pruebas y no para los servidores activos.
Registros de reescritura. Al usar las potentes y complejas características de mod_rewrite, casi siempre es necesario usar RewriteLog para ayudar en la depuración. Este archivo de registro produce un análisis detallado de cómo el motor de reescritura transforma las solicitudes. La directiva RewriteLogLevel controla el nivel de detalle.
IIS 7 y versiones posteriores
IIS incluye importantes mejoras que contribuyen al diagnóstico y la solución de problemas para ayudar a los desarrolladores y administradores a trabajar más fácilmente con sitios y aplicaciones web errantes. Las siguientes son mejoras en las herramientas de diagnóstico y solución de problemas en IIS:
- Permite al administrador ver todas las solicitudes que se están ejecutando actualmente en el servidor.
- Proporciona registros detallados de errores del servidor local.
- Proporciona un registro de seguimiento detallado que permite realizar un seguimiento de las incidencias de problemas y obtener información detallada sobre los eventos de seguimiento.
- Incluye la nueva API de Estado y control de runtime (RSCA) para obtener información de estado en tiempo real sobre grupos de aplicaciones, procesos de trabajo, sitios, dominios de aplicación y solicitudes en ejecución (proporcionando información de estado en tiempo real a través de una API nativa de Modelo de objetos componentes [COM] y Appcmd.exe).
- Puede configurarse para capturar automáticamente registros de seguimiento completos.
- Contiene herramientas que permiten al personal de TI encontrar problemas y solucionarlos en el Administrador de IIS.
Protección del servidor web
Apache
Los administradores de Apache suelen usar lo siguiente para proteger sus configuraciones:
Aplique las revisiones de seguridad.
Oculte el número de versión de Apache y otra información confidencial.
Asegúrese de que Apache se ejecuta bajo su propia cuenta de usuario y grupo.
Asegúrese de que no se sirven archivos fuera de la raíz web.
Desactive la navegación por directorios.
Desactive la ejecución de CGI.
Ejecute mod_security, un módulo escrito para aplicar varias configuraciones de seguridad diferentes:
- Filtrado (simple y basado en expresiones regulares)
- Validación de codificación (URL y Unicode)
- Auditoría
- Carga de límites de memoria
- Enmascaramiento de la identidad del servidor, etc.
IIS 7 y versiones posteriores
El Filtrado de solicitudes está integrado en IIS. Encontrará los detalles y un conjunto completo de opciones para el módulo aquí.
Restricciones de IP dinámica para IIS es un módulo que proporciona protección contra ataques de denegación de servicio y de fuerza bruta a servidores y sitios web. Dicha protección se proporciona bloqueando temporalmente las direcciones IP de los clientes HTTP que realizan un número inusualmente alto de solicitudes simultáneas o que realizan un gran número de solicitudes en un corto periodo de tiempo. Encontrará instrucciones detalladas sobre la instalación y el uso de este módulo aquí.
Nota:
Este artículo está basado en las notas del producto IIS 7.0 para administradores de Apache (https://download.microsoft.com/download/2/D/8/2D863347-3AFF-48A6-9FCF-EC6554C18DCF/IIS_7_for_Apache.doc
).