INTRODUCCIÓN
¿Qué
es ISAPI?
Características
de ISAPI
Otras
tecnologías de Interfaz para aplicaciones WEB
Ventaja de la Norma
Tecnológica ISAPI sobre CGI
Desventajas
de ISAPI
El ámbito de la Internet está
conformado por un conjunto de redes de intercambio de datos e información
digitalizada, en donde existe un sin numero de comunicaciones generadas
por igual cantidad de clientes de manera simultanea o paralela, y que estas
comunicaciones componen interacciones entre el usuario final y el servidor
de red donde este solicita la información.
La existencia de diversas plataformas
y sistemas operativos, tanto de servidores como de usuarios, complica aún
más la compatibilidad necesaria para que la comunicación
entre el cliente y el servidor (en ambos sentidos) sea efectiva.
Es por ello que se requieren de
diferentes programas para realizar tareas específicas, como por
ejemplo un navegador web para accesar a sitios en la red, programas de
comunicación de correo electrónico, programas interactivos
para ingresar o conocer bases de datos, conocidos también como aplicaciones,
las cuales funcionan sobre la plataforma de los sistemas operativos.
Las aplicaciones se pueden escribir
en casi cualquier lenguaje de programación de 32 bits, o como archivos
de proceso por lotes de Windows NT (que tienen la extensión .bat
o .cmd).
Para lograr la integración del
WEB con estas aplicaciones, es necesario hacer uso de una interfaz para
tal fin; debido a esto existen en el ámbito de la programación
varias normas tecnológicas mediante las cuales se logra tal integración,
entre las cuales se destacan ISAPI, CGI, API, Java, etc.
ISAPI (Internet Server Application Program
Interface), abreviación de lo que se conoce en español como
Interfaz de Programa de Aplicación para Servidores Internet, también
llamado Internet Server API, es un desarrollo conjunto de Progress Software
y Microsoft, propiedad de esta última, la cual surgió como
una alternativa más rápida que el CGI, y ya está incluida
en el Servidor Microsoft Internet Information (IIS). Esta interfaz se ubican
entre el servidor http y el http “socket”, es decir, operando dentro del
protocolo TCP/IP, soportando procesos de filtrado, encriptado, compresión
de datos y otras operaciones lógicas.
Los programas escritos usando la interfaz
ISAPI son compilados como bibliotecas de enlace dinámico (Dynamic
Link Library- DLL). Estos archivos almacenan rutinas ejecutables, que normalmente
cumplen una función o conjunto de funciones específicas,
ya que son cargados por el servidor Web cuando éste se inicia y
son usadas en la medida que los programas los necesitan. Dichos programas
se vuelven residentes en memoria, por lo que se ejecutan mucho más
rápido que las aplicaciones CGI, debido a ello requieren menos tiempo
de uso de CPU al no generar procesos separados.
Las aplicaciones ISAPI son DLLs (Dynamic
Link Libraries) que se cargan en el mismo espacio de direcciones que el
propio servidor HTTP, lo cual supone que todos los recursos disponibles
para éste lo están también para aquéllas. Hay
por tanto una sobrecarga mínima asociada con la ejecución
de estas aplicaciones, ya que cada petición de ejecución
no requiere montar un nuevo proceso.
Las DLLs de aplicaciones ISAPI están
construidas con capacidad multitarea (multithread) dado que podrán
recibir múltiples peticiones de ejecución simultáneamente.
Los archivos del DLL de ISAPI se cargan en la memoria de la computadora cuando se comienza el HTTP y siguen estando allí mientras son necesarios; no tienen que ser localizados y leer en el almacenaje con tanta frecuencia como lo hace CGI, debido a que en este último el Servidor Web tiene que cargar el programa conectar y desconectar con la base de datos cada vez que se recibe una requisición. Además, no existe un registro de el estado del servidor, sino que todo hay que hacerlo manualmente.
Aunque la escritura de software basado
en ISAPI proporciona los niveles más elevados de rendimiento y flexibilidad,
este enfoque también presenta costes significativos, ya que es preciso
el desarrollo en C o C++ en lugar de en Visual Basic, con lo cual, los
programadores se verán obligados a tratar con detalles de infraestructura
de bajo nivel, como la escritura de un administrador de agrupamiento de
subprocesos.
Microsoft ha advertido mediante su boletín
MS01-033 de una grave vulnerabilidad que afecta a Internet Information
Service (en todas sus versiones) bajo Windows NT 4.0 o Windows 2000, la
cual consiste en el desbordamiento de búfer, que permitiría
la ejecución de código arbitrario en el contexto de seguridad
del sistema. La vulnerabilidad se encuentra en una porción de código
de la extensión ISAPI idq.dll, que se encuentra relacionada con
las funcionalidades de Microsoft Indexing Service, cuando se encuentra
instalado IIS. Si se efectúa una solicitud, especialmente creada,
se lograría colgar los servicios web del servidor y si dicha solicitud
se efectuase con datos al azar y según la versión de IIS,
el servidor se reiniciará automáticamente o lo deberá
hacer manualmente el administrador, lo que podría, eventualmente,
comprometer la red completa.
Copyrigth ©2004 MJRM. Todos los Derechos Reservados.
http://www.oocities.org/es/maryjromero/
|
|