Estos parámetros de configuración controlan la característica SAF (System Authorization Facility) de IBM® HTTP Server. Utilice las directivas SAF para proporcionar la autenticación de usuario a IBM HTTP Server.
La directiva AuthSAFAuthoritative establece si la autorización se pasa a módulos de nivel inferior.
Directiva | Descripción |
---|---|
Sintaxis | AuthSAFAuthoritative on | off |
Valor predeterminado | on |
Contexto | directorio, .htaccess |
Módulo | mod_authnz_saf |
Valores | on u off |
Establecer la directiva AuthSAFAuthoritative en off permite que se pase la autorización a módulos de nivel inferior (tal como se define en los archivos modules.c), si no existe ningún ID de usuario o norma que coincida con el ID de usuario proporcionado. Si existe una normas o un ID de usuario especificado, se aplicarán las comprobaciones de acceso y de contraseña habituales y se producirá un error en una respuesta Authentication Required (Autenticación necesaria).
Si aparece un ID de usuario en la base de datos de más de un módulo, o si se aplica una directiva Require válida a más de un módulo, el primer módulo verificará las credenciales y no se pasará ningún acceso, independientemente del valor de AuthSAFAuthoritative.
De forma predeterminada, no se pasa el control y se generará una norma o un ID de usuario desconocido en una respuesta Authentication Required. No establecer ningún valor hace que el sistema permanezca seguro y fuerza un comportamiento compatible con NCSA.
La directiva AuthSAFExpiration establece el valor visualizado en el indicador del navegador. El servidor envía el valor especificado para la directiva AuthName y esta frase corta en una cabecera de respuesta HTTP y, a continuación, el navegador los muestra al usuario en una ventana de solicitud de contraseña. La frase corta está sujeta a las mismas limitaciones de caracteres que el valor especificado para la directiva AuthName. Por lo tanto, para mostrar un carácter especial en la ventana de solicitud de contraseña, el servidor debe convertir el carácter especial de la página de códigos EBCDIC CharsetSourceEnc a la página de códigos ASCII CharsetDefault. Por ejemplo, si desea visualizar una 'a' minúscula con diéresis y el archivo httpd.conf contiene el código EBCDIC del idioma alemán "CharsetSourceEnc IBM-1141" y la página de códigos ASCII "CharsetDefault ISO08859-1", debe codificar la frase utilizando el valor hexadecimal '43', que convierte al carácter ASCII correcto.
Directiva | Descripción |
---|---|
Sintaxis | AuthSAFExpiration frase_corta |
Valor predeterminado | off |
Contexto | directorio, .htaccess |
Módulo | mod_authnz_saf |
Valores | off o frase_corta |
Si establece la directiva AuthSAFExpiration en una frase, IBM HTTP Server podrá indicar al usuario que actualice su contraseña SAF si caduca. Si el usuario especifica una contraseña SAF y un ID válidos, pero la contraseña ha caducado, el servidor devolverá una respuesta Authentication Required (Autenticación necesaria) con un indicador especial para permitir al usuario actualizar la contraseña caducada. El indicador consta del reino (el valor de la directiva AuthName) seguido del valor frase_corta de la directiva AuthSAFExpiration.
<Location /js>
AuthType basic
AuthName "zwasa051_SAF"
AuthBasicProvider saf
Require valid-user
Require saf-group SYS1 WASUSER
AuthSAFExpiration "EXPIRED! oldpw/newpw/newpw"
</Location>
Si el usuario intenta acceder a un archivo cuyo URL empieza por /js, el servidor solicita una contraseña y un ID de SAF. El navegador visualizará un indicador que contiene el reino. El reino es el valor de la directiva AuthName, que es zwasa051_SAF en este ejemplo.
Si el usuario proporciona un ID y una contraseña válidos, si la contraseña ha caducado, el servidor repetirá la solicitud, pero esta vez con el valor zwasa051_SAF EXPIRED! oldpw/newpw/newpw. Sea cual sea la solicitud, el usuario debe volver a especificar la contraseña caducada, seguida por una barra inclinada, la nueva contraseña, otra barra inclinada y la contraseña nueva otra vez.
Si la actualización de la contraseña se realiza correctamente, el servidor enviará otra respuesta Authentication Required (Autenticación necesaria) con un indicador especial distinto. Esta última interacción es necesaria para forzar al navegador a comprender qué contraseña debe almacenar en la memoria caché. Esta vez, el indicador constará del reino seguido por el indicador Re-enter new password (Vuelva a entrar la nueva contraseña). En este ejemplo, sería zwasa051_SAF Re-enter new password.
La directiva AuthSAFExpiredRedirect especifica el URL al que debe redirigirse una solicitud si la contraseña ha caducado cuando se utiliza mod_authnz_saf para la autenticación en z/OS.
Es una alternativa a utilizar AuthSAFExpiration.
Directiva | Descripción |
---|---|
Sintaxis | AuthSAFExpiredRedirect url |
Valor predeterminado | off |
Contexto | directorio, .htaccess |
Módulo | mod_authnz_saf |
Valores | off o url |
La directiva AuthSAFReEnter establece el valor anexado al reino después de un cambio correcto de contraseña. Para obtener más información sobre la codificación de caracteres especiales, consulte la directiva BAuthSAFExpiration.
Directiva | Descripción |
---|---|
Sintaxis | AuthSAFReEnter frase_corta |
Valor predeterminado | Volver a especificar la nueva contraseña |
Contexto | directorio, .htaccess |
Módulo | mod_authnz_saf |
Valores | off o frase_corta |
Si establece la directiva AuthSAFReEnter explícitamente en una frase distinta a "Re-enter new password", el administrador podrá visualizar un mensaje alternativo después de haber actualizado correctamente una contraseña caducada. Si AuthSAFExpiration se ha establecido en off, esta directiva no tendrá ningún efecto.
<Location /js>
AuthType basic
AuthName "zwasa051_SAF"
AuthBasicProvider saf
Require saf-user SYSADM USER152 BABAR
AuthSAFExpiration "EXPIRED! oldpw/newpw/newpw"
AuthSAFReEnter "Entre la nueva contraseña otra vez"
</Location>
En este ejemplo, después de actualizar correctamente la contraseña caducada, el servidor enviará otra respuesta Authentication Required (Autenticación necesaria) con el valor de la directiva AuthSAFReEnter. Esta última interacción es necesaria para forzar al navegador a comprender qué contraseña debe almacenar en la memoria caché. Esta vez, el indicador constará del reino seguido por una frase especial. En este ejemplo, sería zwasa051_SAF Enter new password one more time (zwasa051_SAF Escriba otra vez la contraseña nueva).
La directiva SAFRunAs establece el ID de usuario SAF bajo el cual se servirá una solicitud.
Directiva | Descripción |
---|---|
Sintaxis | SAFRunAs valor |
Valor predeterminado | off |
Contexto | directorio, .htaccess |
Módulo | mod_authnz_saf |
Valores | off | %%CLIENT%% | %%CERTIF%% | %%CERTIF_REQ%% | %%CERTIF%% /prefix | %%CERTIF%% / ? ? | surrogate-username
/prefix | <surrogate ID> Off: el servidor ejecutará la solicitud bajo el ID de usuario del servidor web. %%CLIENT%%: el servidor ejecutará la solicitud bajo ID proporcionado en la cabecera de la solicitud de autorización. Por regla general, el usuario proporciona el ID y la contraseña en una ventana emergente del navegador y el navegador crea la cabecera. Para autenticar el URL, es necesario que el SAF esté configurado. %%CERTIF%%: el servidor ejecutará la solicitud bajo el ID asociado con el certificado de cliente SSL en SAF. Si no existe ningún certificado SSL o si el certificado SSL no ha sido asociado a un ID en SAF, el proceso continuará como si %%CLIENT%% se hubiera codificado. No es necesario que SAF authn o authz esté configurado. %%CERTIF_REQ%%: el servidor ejecutará la solicitud bajo el ID asociado al certificado de cliente SSL en SAF. Si no existe ningún certificado SSL, o si el certificado SSL no se ha asociado a un ID en SAF, el servidor no permitirá el acceso. No es necesario que SAF authn o authz esté configurado. ![]() ![]()
![]() ![]()
![]() ![]()
<ID sustituto>: el servidor ejecutará la solicitud bajo el ID asociado al ID sustituto de SAF especificado. |
IBM HTTP Server puede comunicarse con las aplicaciones FastCGI utilizando los sockets TCP o UNIX. No obstante, cuando se utiliza SAFRunAs para peticiones FastCGI, debe utilizar los sockets TCP para la comunicación con la aplicación. Los sockets UNIX creados para aplicaciones FastCGI son accesibles mediante el ID de usuario del servidor web únicamente. El ID de usuario alternativo controlado con la directiva SAFRunAs no tiene permiso para acceder a los sockets UNIX, por lo tanto las peticiones no se satisfarán.
Para configurar FastCGI para utilizar sockets TCP, defina la aplicación FastCGI con el módulo mod_fastcgi utilizando la directiva FastCGIServer con la opción -port o con la directiva FastCGIExternalServer. Los servidores FastCGI dinámicos que no configura con FastCGIServer o FastCGIExternalServer no se pueden utilizar con SAFRunAS.
Si no habilita SAFRunAs para las peticiones FastCGI, no son necesarios los sockets TCP.
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authnz_saf_module modules/mod_authnz_saf.so
LoadModule authz_default_module modules/mod_authz_default.so
...
<Location /saf_protected>
AuthType basic
AuthName x1
AuthBasicProvider saf
# Codifique "Require valid-user" si desea que cualquier usuario
# SAF válido pueda acceder al recurso.
Require valid-user
#
# De forma alternativa, puede proporcionar una lista de usuarios SAF específicos
# que puedan acceder al recurso.
# Require saf-user USER84 USER85
#
# De forma alternativa, puede proporcionar una lista de grupos SAF específicos
# cuyos miembros puedan acceder al recurso.
# Require saf-group WASGRP1 WASGRP2
</Location>
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authnz_saf_module modules/mod_authnz_saf.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_default_module modules/mod_authz_default.so
...
<Location /saf_password>
AuthType basic
AuthName "Aut SAF con archgrupo hfs"
AuthBasicProvider saf
AuthGroupFile /www/config/foo.grp
# Codifique "Require file-group" y una lista de grupos si desea
# que un usuario de cualquiera de los grupos en el archivo de grupos especificado
# pueda acceder al recurso.
# Nota: Se puede utilizar cualquier módulo de autorización, con su configuración estándar.
Require group admin1 admin2
</Location>
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authnz_saf_module modules/mod_authnz_saf.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_default_module modules/mod_authz_default.so
...
<Location /either_group>
AuthType basic
AuthName "Aut SAF con grupos SAF y archgrupo hfs"
AuthBasicProvider saf
AuthGroupFile /www/groupfiles/foo.grp
Require saf-group WASGRP
Require saf-group ADMINS
AuthzGroupFileAuthoritative Off
AuthSAFAuthoritative Off
</Location>
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authnz_saf_module modules/mod_authnz_saf.so
LoadModule authz_default_module modules/mod_authz_default.so
...
<Location /runas_admin_bin>
AuthName "Cliente SAF RunAs"
AuthType basic
Require valid-user
AuthBasicProvider saf
SAFRunAs %%CLIENT%%
</Location>
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule authnz_saf_module modules/mod_authnz_saf.so
LoadModule authz_default_module modules/mod_authz_default.so
...
<Location /custom_password_change>
AuthType basic
AuthName "Soporte contraseñas caducadas"
Require valid-user
AuthBasicProvider saf
AuthSAFEXpiration "EXPIRED PW: oldpw/newpw/newpw"
AuthSAFReEnter "Repita la nueva contraseña:"
</Location>
Si desea requerir un certificado de cliente antes de que un usuario pueda acceder a un recurso, utilice la directiva mod_ibm_ssl. La directiva mod_authnz_saf no es necesaria para esta configuración. Para obtener más información, consulte la documentación de las directivas SSLClientAuth y SSLClientAuthRequire.
LoadModule authnz_saf_module modules/mod_authnz_saf.so
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
...
<Location /certificate_required>
SAFRunAs %%CERTIF_REQ%%
</Location>
<Location /certificate_or_basic>
AuthName "Certif SAF RunAs"
AuthType basic
Require saf-user USER84 USER103
AuthBasicProvider saf
SAFRunAs %%CERTIF%%
</Location>
<Location /runas_public>
SAFRunAs PUBLIC
# Esto puede combinarse con autenticación/autorización SAF y no SAF
</Location>