ASIGNATURA: HERRAMIENTAS WEB PARA LA INVESTIGACION
RESUMEN TRABAJO 3: (Isapi)
Autor: Jusbaniz Maritza Zapata Dugarte
ISAPI
ISAPI: (Internet Server Aplicación Programming Interface) Es un conjunto de APIs que se utilizan con el fin de crear extensiones y filtros de servidor OLE para servidores Web como Servicios de Internet Information Server (IIS).
Otra definición de Isapi puede ser:
ISAPI (Internet Server API), o sea, la API para servidores de Internet. Recordemos que existe una API, (Application Programming Interface) para diversos productos, por ejemplo, está la API de Windows, la API de DirectX, la API del reproductor multimedia de Windows, etc. Entonces, a la API para los servidores de Internet se le suele llamar ISAPI, (son un conjunto de funciones).
Para ampliar el tema, explicaremos que son las APIs, ya que está involucrado dentro de las funciones de ISAPI. APIS: Son bibliotecas de vínculos dinámicos (DLL) que forman parte del sistema operativo Windows. Se utilizan para realizar tareas cuando resulta difícil escribir procedimientos equivalentes. Por ejemplo, Windows proporciona una función denominada FlashWindowEx que permite que la barra de título de una aplicación alterne entre un sombreado claro y otro oscuro.
La ventaja de utilizar las API de Windows en el código es que pueden ahorrar tiempo porque contienen numerosas funciones útiles ya escritas y listas para utilizar. La desventaja es que puede resultar difícil trabajar con las API de Windows y pueden ser implacables cuando las cosas van mal.
Que son los archivos .dll
La función de los archivos .dll esta compuesta dentro de las funciones de ISAPI. Es una biblioteca de vínculos dinámicos (DLL). es un archivo ejecutable que actúa como una biblioteca de funciones compartida. La vinculación dinámica proporciona a los procesos una forma de llamar a una función que no forma parte del código ejecutable. El código ejecutable de la función está en un archivo DLL, que contiene una o más funciones que se compilan, vinculan y almacenan de forma independiente de los procesos que las utilizan. Los archivos DLL también facilitan el uso compartido de datos y recursos. Distintas aplicaciones pueden tener acceso simultáneamente al contenido de una única copia de un archivo DLL en la memoria.
Explicando las funciones invlucradas http, servidor web y objeto ole
Una extensión de servidor ISAPI es un archivo DLL que puede cargarse y ser llamado por un servidor HTTP. Explicando http como : Hypertext Transfer Protocol (Protocolo de Transferencia por Hipertexto). Es un conjunto de reglas, o protocolo, que gobierna la transferencia de hipertexto entre dos o más computadoras. A su vez un servidor web es un programa que implementa el protocolo HTTP (hypertext transfer protocol). Este protocolo está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (hypertext markup language. Un servidor web se encarga de mantenerse a la espera de peticiones HTTP llevada a cabo por un cliente HTTP que solemos conocer como navegador. Todo este proceso invlocratu también un objeto OLE (Object Linking and Embedding) que significa el estándar de vinculación e incrustación de objetos. OLE es un entorno unificado de servicios basados en objetos con la capacidad de personalizar esos servicios y de ampliar arbitrariamente la arquitectura a través de servicios personalizados, con la finalidad global de permitir una integración rica entre los componentes.
Existe además la NSAPI que son APIs propietarias que se proponen como alternativas de ejecución más rápida que CGI. Permiten la creación de módulos binarios que son cargados dinámicamente por el servidor Web cuando se inicia, se mantienen residentes en memoria y no provocan la sobrecarga de iniciar procesos separados. ISAPI se incluyen en los servidores de Microsoft (IIS, etc.). Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas DLL (Dynamic Link Library). NSAPI es la API propuesta por Netscape para extender la funcionalidad de sus servidores.
Las extensiones de servidor de Internet, también conocidas como aplicaciones de servidor de Internet (ISA), se utilizan para ampliar las capacidades de un servidor compatible con la API de servidor de Internet (ISAPI). Las aplicaciones ISA se invocan desde un explorador Web y proporcionan funcionalidad similar a una aplicación CGI (Common Gateway Interface).
Ejemplos de programación ISAPI: La Interfaz de programación de aplicaciones para servidores de Internet (ISAPI) es una API de extensión del servidor de gran rendimiento compatible con Microsoft Internet Information Server y Servicios Web punto a punto. ISAPI permite que haya respuestas dinámicas a las peticiones HTTP, en lugar de simplemente devolver archivos HTML estáticos.
Qué es un filtro ISAPI
Un filtro ISAPI es un archivo DLL que se ejecuta en un servidor HTTP habilitado para ISAPI con objeto de filtrar los datos que viajan hacia o desde el servidor. El filtro registra notificaciones sobre eventos, como el inicio de sesión o la asignación de direcciones URL. Cuando se producen los eventos seleccionados, se llama al filtro y es posible supervisar y cambiar los datos (en su recorrido entre el servidor y el cliente, y al contrario). Los filtros ISAPI pueden utilizarse para proporcionar un registro mejorado de las solicitudes HTTP (por ejemplo, para controlar quién inicia sesión en el servidor), cifrado y compresión de archivos personalizados o métodos de autenticación adicionales.
Qué tipo de servidor HTTP se necesita para ejecutar ISAPI
Para alojar sitios Web debe disponerse de un servidor de Internet compatible con el protocolo HTTP (Hypertext Transfer Protocol). Si eligió un servidor Web compatible con ISAPI (por ejemplo, Servicios de Internet Information Server), podrá aprovechar los archivos DLL de extensión de servidor para crear aplicaciones rápidas y de pequeño tamaño para servidores de Internet.
Continuando la explicación de los filtros de ISAPI:
ISAPI Filters: Los filtros ISAPI (Internet Server Application Programming Interface) son programas (DLL por lo general y escritos en C++ ) que interactúan con el IIS, se utilizan para crear extensiones y filtros para el IIS.
Home Directory : Se decide donde se alojaran las páginas de nuestro web, tenemos tres opciones:
- En mismo ordenador
- En un ordenador de la red y accedemos al directorio como una unidad compartida
- O lo redirigiremos a otra URL.
Por defecto y si no se cambia desde esta opción las páginas físicas del Web se sitúan en c:\inetpub\wwwroot en el mismo servidor donde esta el IIS.
También tenemos varias opciones interesantes:
- Read : el site dejara que las páginas sean accedidas para leer
- Write: permitirá hacer Uploads al directorio que se especifica arriba.
- Directory Browsing: permite hacer un listado del directorio.
- Log Visits: crea un registro de los visitantes del site.
- Execute Permissions : Configura la seguridad a nivel de archivos y páginas que se pueden ejecutar.
- none no ejecuta nada y solo procesa paginas HTML
- Scripts only permite la ejecución de paginas asp, html y código de scripting.
- Scripts and Executables permite ejecutar código scripting y programas.
- Application Protection: Configura la seguridad a nivel de aplicación. Hay tres formas de ejecutar una aplicación web :
- Low nivel más bajo, donde las aplicaciones webs corren todas juntas en el mismo proceso junto a los servicios web y si una aplicación se cae, cae todo el servidor.
- Medium donde las aplicaciones corren juntas separadas de los servicios web.
- High donde cada aplicación corre en espacios separados de memoria y separadas de los servicios web.
Documents: A través de esta opción podemos poner un nombre de página para que se ejecute automáticamente cuando se ponga la dirección del web. Es decir, si nuestra pagina por defecto es index.asp cuando escribamos en el navegador http://www.depruebas.com el IIS mostrará por defecto la pagina index.asp.
Directory Security: La seguridad del web viene integrada en la seguridad el windows 2000, a través de esta opción daremos acceso al web a todos los usuarios o restringiremos el acceso a todos los usuarios excepto al administrador y usuarios validados o podremos determinar que IP tienen acceso al web y que IP no. Se pueden dar permisos para que determinados grupos y/o usuarios tengan acceso al web (si el web no es de dominio público) pero esto debemos hacerlo a través del explorador de windows con la seguridad de windows 2000.
La primera opción de seguridad es el acceso anónimo y la autentificación en el web si pulsamos el botón nos aparece lo que nos muestra la figura 6, a través de esta opción restringiremos el acceso a todos los usuarios excepto el administrador y usuarios permitidos o se lo habilitaremos a todos dando permisos de acceso al usuario anónimo de internet que se llama IUSR_Nombre_de_Maquina (la contraseña de este usuario la genera automáticamente el sistema por lo que no es conveniente tocarla). Debajo del acceso anónimo tenemos los métodos de autentificación, aquí la opción importante es la segunda que si tenemos un web en una intranet con acceso restringido a usuarios registrados con esta opción chequeada los usuarios se validaran automáticamente con la seguridad de Windows 2000.
Existe una vulnerabilidad en ISAPI
Existe una vulnerabilidad en ISAPI: 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. Por lo cual se recomienda a todos los administradores de sistemas la instalación del correspondiente parche. Ésta, es una vulnerabilidad de 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. Pero si la solicitud, fuese preparada con datos especialmente creados, se podría tomar el control del servidor web y realizar acciones como el cambio del contenido de la web, correr instrucciones, reconfigurar el servidor o instalar nuevo software y ejecutarlo.
INFOGRAFIA
- ISAPI:(Internet Server Aplicación Programming Interface) Es un conjunto de APIs que se utilizan con el fin de crear extensiones y filtros de servidor OLE para servidores Web como Servicios de Internet Information Server (IIS).URL: http://es.geocities.com/jusbaniz/hwct/t3/enlaces/articuloisapi.html
- aRCHIVOS .dll y http:La función de los archivos .dll esta compuesta dentro de las funciones de ISAPI. Es una biblioteca de vínculos dinámicos (DLL). es un archivo ejecutable que actúa como una biblioteca de funciones compartida. Una extensión de servidor ISAPI es un archivo DLL que puede cargarse y ser llamado por un servidor HTTP. Explicando http como : Hypertext Transfer Protocol (Protocolo de Transferencia por Hipertexto). Es un conjunto de reglas, o protocolo, que gobierna la transferencia de hipertexto entre dos o más computadoras. URL HTTP: http://es.geocities.com/jusbaniz/hwct/t3/enlaces/http.html
- Interfaz de ProgramaciónISAPI (Interfaz de Programación de Aplicaciones del Servidor Internet). Es una tecnología que permite extender las funcionalidades de Internet Information Service y es la propuesta de Microsoft de una interfaz alternativa más rápida que el CGI. Los programas escritos usando ISAPI habilitan a un usuario remoto para ejecutar un programa, busca información dentro de una base de datos, o intercambia información con otro software localizado en el servidor.URL:http://es.geocities.com/jusbaniz/hwct/t3/enlaces/vulnerabilidadisapi.html
- NSAPI:son APIs propietarias que se proponen como alternativas de ejecución más rápida que CGI. Permiten la creación de módulos binarios que son cargados dinámicamente por el servidor Web cuando se inicia, se mantienen residentes en memoria y no provocan la sobrecarga de iniciar procesos separados. ISAPI se incluyen en los servidores de Microsoft (IIS, etc.). Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas DLL (Dynamic Link Library). NSAPI es la API propuesta por Netscape para extender la funcionalidad de sus servidores.URL: http://es.geocities.com/jusbaniz/hwct/t3/enlaces/nsapi.html
- La interfaz ISAPI:Los programas escritos usando la interfaz ISAPI son compilados como bibliotecas de enlace dinámico (DLL - Dynamic Link Library), ya que son cargados por el servidor Web cuando éste se inicia. Dichos programas se vuelven residentes en memoria, por lo que se ejecutan mucho más rápido que las aplicaciones CGI, debido a que requieren menos tiempo de uso de CPU al no iniciar procesos separados.URL: http://www.uca.edu.sv/investigacion/bdweb/tecnolog.html#Interfaz%20de%20Programación%20de%20Aplicaciones%20del%20Servidor%20Internet%20(ISAPI)
- Objeto OLEUn objeto OLE (Object Linking and Embedding) significa el estándar de vinculación e incrustación de objetos. OLE es un entorno unificado de servicios basados en objetos con la capacidad de personalizar esos servicios y de ampliar arbitrariamente la arquitectura a través de servicios personalizados, con la finalidad global de permitir una integración rica entre los componentes.URL: http://es.geocities.com/jusbaniz/hwct/t3/enlaces/activex.html
Jusbaniz Maritza Zapata dugarte