[z/OS]

IBM HTTP Server V5.3 for z/OS: Parte 4: Configuración básica

Diversas prestaciones de IBM® HTTP Server V5.3 para z/OS están disponibles en IBM HTTP Server, pero se implementan de forma distinta. Conozca las diferencias clave en la configuración básica de los dos servidores web.

Esta sección y los capítulos se corresponden con la sección y los capítulos de la publicación de número SC34-4826-09 de la guía z/OS HTTP Server Planning, Install, and Using de IBM HTTP Server V5.3 for z/OS.

Cómo utilizar archivos

IBM HTTP Server puede utilizar archivos estáticos o ejecutar archivos de script CGI. Estos archivos pueden estar en directorios predeterminados o en directorios que especifique. Puede utilizar varias directivas para usar estos archivos. Utilice la sección Directory para agrupar las directivas y especificar que se apliquen a un directorio determinado.

Los archivos estáticos están en el directorio raíz_instalación/htdocs de forma predeterminada. Puede especificar un directorio alternativo en la directiva de alias para correlacionar el directorio alternativo con un prefijo de dirección web. Después, puede crear o copia una sección Directory y hacer que apunte al directorio alternativo. Por ejemplo, puede copiar la directiva Directory que especifica el directorio predeterminado raíz_instalación/htdocs y cambiar desde el directorio predeterminado al directorio raíz_instalación/static.

Los scripts CGI se ejecutan desde el directorio raíz_instalación/cgi-bin/ de manera predeterminada. Puede especificar un directorio alternativo en la directiva ScriptAlias para correlacionar el directorio alternativo con un prefijo de dirección web. Después, puede crear o copia una sección Directory y hacer que apunte al directorio alternativo. Por ejemplo, puede copiar la directiva Directory que especifica el directorio predeterminado raíz_instalación/cgi-bin/ y cambiar desde el directorio predeterminado al directorio raíz_instalación/cgi2.

Para obtener más información sobre directivas, consulte la documentación de Apache HTTP Server.

Cómo utilizar listas de directorios

Puesto que la directiva DirectoryIndex se ha establecido en index.html en el archivo predeterminado httpd.conf, IBM HTTP Server utiliza el archivo de índices de directorio de index.html para solicitudes de directorio. Puede establecer la directiva DirectoryIndex en otros archivos para que la utilice IBM HTTP Server. También puede añadir la directiva Options con el argumento Indexes a una nueva sección Directory o a una ya existente de modo que el servidor web devuelva información de dicho directorio. Si incluye un signo + delante del argumento Indexes, la sección Directory hereda los argumentos establecidos en las otras directivas Options. Si no se establece ninguna de las directivas DirectoryIndex ni Options, el servidor web devuelve un error 403.

Para obtener más información sobre directivas, consulte la documentación de Apache HTTP Server.

Cómo configurar el servidor

Puede administrar IBM HTTP Server sólo si actualiza los archivos de configuración de EBCDIC.

El archivo de configuración de IBM HTTP Server predeterminado es raíz_instalación/conf/httpd.conf. Si desea revisar o recuperar los valores predeterminados enviados, los puede encontrar en el archivo raíz_instalación/conf/httpd.conf.default.

Archivos de los que se debe realizar una copia de seguridad

Realice una copia de seguridad de forma periódica de los archivos siguientes:
  • El archivo de configuración, que es el archivo raíz_instalación/conf/httpd.conf de forma predeterminada
  • El archivo de variable de entorno, que es el archivo raíz_instalación/bin/envvars
  • Archivos SSL (Secure Sockets Layer o capa de sockets seguros), como los archivos siguientes:
    • Archivos de base de datos de claves, que tienen la extensión kdb
    • Archivos stash, que tienen una extensión sth
    • Archivos de base de datos de solicitud, que tienen una extensión rdb
    • Archivos de lista de revocación de certificados, que tienen una extensión crl
    • Archivos de certificado, que tienen una extensión arm
  • Salidas de mandatos como el mandato raíz_instalación/bin/htpasswd, que puede utilizar para el control de accesos
  • Listas de grupo de edición manual
  • Todo contenido que se sirva en solicitudes HTTP, como archivos HTML, imágenes, scripts Java™, hojas de estilo en cascada y scripts CGI

Soporte de cifrado

El gobierno de los Estados Unidos y los gobiernos de otros países regulan los productos que se utilizan para el cifrado y prohíben su exportación a no ser que su tamaño de claves esté estrictamente limitado. A medida que el gobierno estadounidense actualiza sus leyes de exportación y los gobiernos de fuera de los Estados Unidos actualizan las reglas de importación, las longitudes de claves que se admiten y las especificaciones de cifrado pueden cambiar.

IBM HTTP Server admite el cifrado SSL que se describe en el tema Especificaciones de cifrado SSL.

Cifrado de hardware

Puede utilizar el cifrado de hardware para mejorar el rendimiento de las sesiones SSL entre el cliente y el servidor. Por el momento, el mayor beneficio para el rendimiento del servidor web está en el reconocimiento SSL. El reconocimiento utiliza claves y funciones asimétricas. El servidor web utiliza tecnología RSA para implementar la función asimétrica. Al implementar SSL sin cifrado de hardware, las funciones asimétricas son mucho más lentas que las funciones simétricas. Así, cuando implementa el cifrado de hardware con el servidor web, compruebe que establece las claves maestras asimétricas de forma adecuada. Utilice el software Integrated Cryptographic Services Facility (ICSF) para poder beneficiarse de la mejora en el rendimiento. Las claves maestras asimétricas no son las mismas que las claves RSA del servidor web.

Las especificaciones de cifrado DES (Encryption Standard) y las especificaciones de cifrado Triple-DES utilizan las claves simétricas para manejar la transmisión de datos. Es posible que la transmisión de datos no sea más rápida en el hardware. El hecho de que la transmisión de datos sea más rápida en el hardware o software depende del tamaño de la corriente de datos. SSL debería enviar corrientes de datos relativamente pequeñas, por norma 4K bytes o menos. Las corrientes de datos de menor tamaño suelen ser más rápidas en el software. Las corrientes de gama media pueden ser más rápidas en hardware o software. Las corrientes de datos de gran tamaño son más rápidas en el hardware.

Cuando implemente el cifrado de hardware, tenga en cuenta estos puntos:
  • El servidor web utiliza la tecnología RSA para el reconocimiento SSL. El reconocimiento es una función asimétrica que utiliza los pares de claves pública-privada RSA. Puede generar claves RSA en software o hardware.
  • Si genera las claves RSA en software, puede utilizar los mandatos RACF o el programa de utilidad gskkyman.
  • Defina los mandatos RACF para permitir ID de usuarios y el ID del servidor web en los perfiles de la clase de recurso general CSFSERV. La clase de recurso general CSFSERV controla el uso del software ICSF.

Para obtener información sobre cómo implementar el cifrado de hardware, lea los manuales adecuados. Por ejemplo, lea la publicación z/OS Processor Resource/Systems Management Planning Guide en el portal de soporte de IBM. Además, puede leer la publicación z/OS Cryptographic Services ICSF Administrator's Guide y la publicación z/OS Cryptographic Services ICSF System Programmer's Guide, que están disponibles en la biblioteca de Internet de z/OS.

Cómo comprobar si el cifrado de hardware se utiliza para el cifrado del servidor web

ICSF es la interfaz de software para el hardware de cifrado. Utilice esta lista de comprobación para determinar si el servidor web funciona con cifrado de hardware.
  • Compruebe si los ID de usuario y el ID de servidor web tienen acceso a ICSF.
  • Compruebe que la tarea iniciada de ICSF esté activa.
  • Realice una o las dos tareas siguientes a través de los paneles ICSF TSO para comprobar que ICSF funciona correctamente:
    • Compruebe que ICSF tiene definidas las claves maestras PKA.
    • Genere un clave maestra PKA correctamente.

Lista de comprobación para configurar un servidor seguro

Para habilitar Transport Layer Security (TLS), utilice el ejemplo de host virtual SSL del archivo conf/httpd.conf.default. El ejemplo contiene los elementos obligatorios para habilitar TLS, como una directiva Listen, la directiva SSLEnable y un módulo mod_ibm_ssl.

IBM HTTP Server utiliza archivos de almacén de claves CMS SSL, que tienen una extensión de kdb. Puede utilizar el programa de utilidad gskkyman o el mandato RACDCERT de RACF para crear y administrar un archivo de almacén de claves.
Atención: No comparta estos archivos de almacén de claves entre z/OS y plataformas distribuidas.

Cómo cambiar el orden predeterminado de los niveles de cifrado que el servidor web utiliza

Puede utilizar la directiva SSLCipherSpec para controlar el orden de los niveles de cifrado. IBM HTTP Server siempre aplica el orden de preferencia. Consulte la directiva SSLCipherSpec en el tema sobre directivas SSL.

Cómo configurar la protección para los recursos de servidor

Los pasos siguientes pertenecen a la publicación z/OS HTTP Server Planning, Install, and Using guide for IBM HTTP Server V5.3 for z/OS. La información asociada con cada paso es información necesaria para realizar el paso en IBM HTTP Server.
  • Paso 1. Activar la protección en el servidor.

    No tiene ninguna tarea que hacer en este paso porque IBM HTTP Server carga de manera predeterminada los módulos comunes que limitan el acceso a los recursos.

  • Paso 2. Especificar las solicitudes que desea que el servidor acepte.

    Utilice las secciones de configuración para incluir directivas de configuración relacionadas con la protección. Lea la información sobre las secciones de configuración en la documentación de Apache HTTP Server.

    Para los recursos en el sistema de archivos jerárquico (HFS), utilice las directivas <Directory> y <DirectoryMatch> para incluir directivas de protección. Para otros recursos que no estén en HFS, como los recursos que los plug-in sirven, utilice las directivas <Location> y <LocationMatch>.

  • Paso 3. Decidir qué opciones de protección se van a utilizar.
    IBM HTTP Server ofrece una serie de mecanismos de protección distintos entre los que puede elegir:
    • Control de acceso basado en host mediante el módulo mod_authz_host. El módulo mod_authz_host permite o rechaza las direcciones IP individuales o las subredes.
    • Varios módulos interoperan para proporcionar autenticación de ID de usuario y contraseña. Estas funciones incluyen la autenticación básica HTTP para las bases de datos de archivos y LDAP; la autenticación de resumen HTTP; y la autenticación de certificado de cliente SSL.
    • Varios módulos interoperan para proporcionar autorización. Estas funciones incluyen grupos, LDAP (Lightweight Directory Access Protocol) y certificados de cliente SSL.
    El servidor procesa las solicitudes primero comprobando el control de acceso basado en host. A continuación, comprueba la autenticación y el control del acceso. Si la directiva Satisfy se establece en any, la solicitud sólo tiene que cumplir los requisitos de control de acceso basado en host o los requisitos de autorización. Una coincidencia de una directiva de autorización Require permite el acceso. Sin embargo, no es posible otorgar acceso basado en la coincidencia de varias directivas Require.
    PRECAUCIÓN:
    Puede utilizar las directivas <Limit> y <LimitExcept> para limitar los métodos de protección a métodos de solicitudes HTTP individuales, aunque es importante proceder con cuidado si utiliza este procedimiento.
  • Paso 4. Crear configuraciones de protección.

    Puede comprobar las contraseñas de IBM HTTP Server y compararlas con archivos de contraseñas de usuarios y grupos. No obstante, si desea comprobar las contraseñas de IBM HTTP Server comparándolas con el sistema local, especifique la directiva AuthBasicProvider SAF. También puede cambiar el ID de usuario SAF con el que se sirve una solicitud especificando la directiva SAFRunAs.

    Si desea solicitar la autenticación de cliente SSL en un host virtual, especifique la directiva SSLCLientAuth required. Utilice la directiva SSLClientAuthRequire para especificar los valores de atributos, o los grupos de valores de atributos, que deben validarse contra un certificado de cliente para que el servidor permita acceso al recurso protegido.

    Utilice los ejemplos siguientes como guía en la creación de las configuraciones de protección:

    • Controle el acceso a los recursos utilizando las directivas Order, allow y deny:
      Alias /my-app /opt/my-app/htdocs
      
      <Directory /opt/my-app/htdocs>
         # Permite las solicitudes que coinciden con las directivas allow. A continuación, rechaza las solicitudes que coinciden con las directivas deny.
         # Después, rechaza solicitudes que no coinciden con las directivas allow o deny.
         Order allow,deny
         # Permite el acceso sólo a los usuarios del host local.
         Allow from 127.0.0.1
      </Directory>
    • Controle el acceso a los recursos utilizando las directivas order, allow y deny. Además, utilice la autenticación básica de modo que un usuario proporciona un ID de usuario y una contraseña para acceder a los recursos. Especifique el archivo que contiene los ID de usuario y las contraseñas.
      <Directory /opt/my-app/htdocs/members-only>
           Order allow,deny
           Allow from 127.0.0.1
           # Añadir autenticación básica HTTP.
           AuthType Basic
           AuthBasicProvider file
           AuthName "Login with your example.com user ID."
           # Utilizar la utilidad htpasswd en el archivo <raíz_instalación>/bin/htpasswd para mantener las contraseñas.
           # Almacenar el archivo de ID de usuario y contraseña en un directorio distinto del que está protegiendo.
           AuthUserFile /opt/my-app/users.passwd
           Require valid-user
        </Directory>
    • Permita sólo el acceso a los recursos al ID de usuario de administrator.
      <Directory /opt/my-app/htdocs/admin>
           ...
           Require user administrator
        </Directory>
    • Permita sólo acceder a los recursos al grupo de usuarios de admins. Especifique el archivo que contiene los grupos de usuarios.
      <Directory /opt/my-app/htdocs/admin>
           ...
           # archivo de texto con varias líneas group-name: member1 member2...
           # Almacenar el archivo de grupo en un directorio distinto del que está protegiendo.
           AuthzGroupFile /auth/groups
           Require group admins
        </Directory>
    • Permita que el host local acceda a los recursos si es un administrador.
        <Directory /opt/my-app/htdocs/admin>
           ...
           Require group admins
           Satisfy any
           Order allow,deny
           Allow from 127.0.0.1
        </Directory>
  • Paso 5. Limitar el acceso a los archivos individuales.

    Puede limitar los archivos a los que puede acceder un usuario si anida la directiva <Files> o la directiva <FilesMatch> dentro de la directiva <Directory> o de la directiva <DirectoryMatch>.

Reglas para especificar nombres de usuario, nombres de grupo y plantillas de direcciones

No puede permitir acceso basado en una combinación de un nombre de usuario y una dirección, como bob@192.168.1.1 y steve@192.168.2.2, sin escribir su propio módulo Apache para la autorización.

Uso de archivos de grupo en configuraciones de protección

Un archivo de grupo en IBM HTTP Server es sólo una correlación de un nombre de grupo con una lista de usuarios. No puede tener definiciones anidadas ni incluir especificaciones de direcciones.

Archivos de lista de control de acceso

IBM HTTP Server no tiene archivos de lista de control de acceso. Puede utilizar archivos .htaccess para limitar el acceso a los recursos. No obstante, intente no utilizar archivos .htaccess si puede actualizar el archivo httpd.conf ya que el uso de archivos .htaccess ralentiza el servidor. Como alternativa, incluya directivas en una directiva <Directory> y coloque todas las directivas en el archivo httpd.conf.


Icon that indicates the type of topic Reference topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=ihs-dist&topic=rihs_dgwbconfig
File name: rihs_dgwbconfig.html