Página principal de Microsoft Página principal de Microsoft

  Seguridad en UNIX


8 de 12    Estrategia de seguridad de revisión Apache

La revisión Apache de FrontPage consta de dos partes:

  • El módulo Apache de FrontPage, que intercepta peticiones del cliente FrontPage a los archivos ejecutables de las Extensiones de servidor de FrontPage, realiza comprobaciones de seguridad y redirige la petición al programa de código auxiliar fpexe, que está establecido para root en SUID. Al interceptar cada petición en el propio servidor, no es necesario ningún alias de la secuencia de comandos.
  • El programa fpexe, que acepta las peticiones de edición del módulo Apache de FrontPage, realiza una validación de seguridad adicional, cambia el Id. de usuario del proceso del servidor Web al propietario del Web extendido con FrontPage que se va a autorizar y, a continuación, llama a la copia central de los archivos ejecutables de las extensiones de servidor de FrontPage.

   

Puesto que el programa de código auxiliar fpexe debe establecer SUID en "root", para que cambie los Id. de usuario del proceso del servidor Web al propietario del sitio Web se realizan numerosas comprobaciones de seguridad, a fin de evitar que se explote este programa de código auxiliar. Se realizan comprobaciones para validar lo siguiente:

  • Se han establecido las propiedades y permisos adecuados para el programa de código auxiliar fpexe y su directorio.
  • Se han establecido las propiedades y permisos adecuados para los archivos ejecutables de las extensiones de servidor y sus directorios.
  • El área de contenido Web que se va a autorizar tiene un Id. de usuario válido.
  • El área de contenido Web que se va a autorizar tiene un Id. de grupo válido.
  • Únicamente se ejecutan los archivos ejecutables CGI de las Extensiones de servidor de FrontPage, no las demás secuencias de comandos CGI del sistema.
  • Las variables de entorno (incluida la ruta de acceso) se borran y pasan únicamente si la variable se encuentra en una lista aprobada y seleccionada previamente.
  • Únicamente el servidor Web llama a los archivos ejecutables de las Extensiones de servidor de FrontPage.
  • Un valor clave de 128 bytes, que se genera dinámicamente cuando el proceso del servidor Web se inicializa, se pasa al programa fpexe y se valida, garantizando que únicamente el servidor Web puede ejecutar fpexe.

   

El valor clave de 128 bytes se genera dinámicamente cuando se inicializa el servidor Web y se almacena a efectos de validación en un archivo suidkey.*. Únicamente "root" puede leer y escribir en este archivo, el cual se almacena en un directorio que sólo puede leer "root". Se necesitan permisos de sólo root para escribir en el archivo suidkey.*, ya que el proceso del servidor Web se ejecuta como "root" durante la inicialización, y no cambiará a otro Id. de usuario (como "www") hasta que la inicialización esté completa. El sufijo del nombre de archivo suidkey.* es el Id. del grupo de proceso del servidor Web.

El contenido de este valor clave dinámico se genera durante la inicialización del servidor Web, basada en una permutación del resultado del comando de estado de proceso (ps) y, a continuación, se les aplica XOR con el contenido de un archivo clave personalizado, controlado por el administrador y almacenado en /usr/local/frontpage/version4.0/apache-fp/suidkey. Este archivo clave personalizado debe existir y contener al menos ocho bytes de datos; el acceso de lectura y la propiedad deben asignarse únicamente a "root".

Como parte del mantenimiento del servidor, modifique regularmente el contenido del archivo clave personalizado cuando reinicie el servidor. De esta manera protegerá el valor clave.

Cuando el módulo Apache de FrontPage procesa una petición para llamar a los archivos ejecutables de las Extensiones de servidor de FrontPage, el módulo realiza una validación preliminar de la petición y la redirige al programa de código auxiliar fpexe. El valor clave de 128 bytes, generado cuando se inicializó el servidor, se pasa a fpexe mediante una canalización, de esta manera no será visible en el entorno del programa. Fpexe lee el valor clave de 128 bytes desde la canalización y, a continuación, lo compara con el contenido del archivo suidkey.* generado dinámicamente, que se creó al inicializar el servidor Web. Puesto que el Id. de usuario de fpexe está establecido en "root", podrá tener acceso al contenido del archivo suidkey.*. Suponiendo que el archivo suidkey.* dispone aún de los permisos adecuados (sólo "root" debe tener permisos de lectura para dicho archivo y su directorio), y suponiendo que el valor clave de 128 bytes coincida con él, fpexe realizará comprobaciones adicionales a fin de validar el Id. de usuario, el Id. de grupo y la propiedad de los archivos ejecutables de destino de las Extensiones de servidor de FrontPage.

Si no hay ningún error, fpexe cambia los Id. de usuario y de grupo del proceso de servidor a los del propietario de contenido Web y, a continuación, ejecuta los archivos ejecutables de las Extensiones de servidor de FrontPage. Si cualquiera de estas comprobaciones falla, se escribirá un error al inicio de sesión del servidor Web y las extensiones de servidor no se ejecutarán.

Observe que las comprobaciones de seguridad del módulo Apache de FrontPage no reemplazan al sistema de seguridad del archivo .htaccess del servidor Web. Ambos sistemas colaborarán para garantizar la seguridad del Web extendido con FrontPage. La seguridad .htaccess del servidor Web protege el acceso remoto al contenido Web, al validar que el usuario de las Extensiones de servidor de FrontPage es un visitante del sitio, autor o administrador registrado del sitio Web. Además de este nivel normal de comprobación de seguridad, las comprobaciones de seguridad del módulo Apache de FrontPage garantizan que el programa fpexe no se utiliza para obtener acceso autorizado de root al servidor Web.

Puesto que los administradores están interesados en los programas que tienen el Id. de usuario establecido en "root", Microsoft permite revisar el código de origen del módulo Apache de FrontPage y el programa de código auxiliar fpexe. El código de origen más reciente se encuentra en el kit de descarga de las Extensiones de servidor de FrontPage 2000. El código de origen se analiza más detalladamente junto con una explicación de las comprobaciones que se llevan a cabo y con las acciones de recuperación que debería realizar si fpexe o el módulo Apache de FrontPage registrasen un error que denotase una configuración poco segura.


     8 de 12      ARRIBA
   
    Última actualización: abril de 1999
©1999 Microsoft Corporation. Reservados todos los derechos. Condiciones de uso.