Module Maverics Apache (existant)
Maverics Apache Module est un plug-in conçu pour Apache HTTP Server (Apache), IBM HTTP Server (IHS), ou Oracle HTTP Server (OHS). Le module Maverics Apache est principalement utilisé pour l’application des politiques et l’envoi d’en-têtes aux ressources protégées.
Exigences relatives au serveur
- Apache 2.4, IHS 8.5 ou OHS 12c
- Centos/RHEL 7 ou 8
- Droits Sudo pour les tâches d’installation et d’administration
Installation
Pour installer le module Maverics Apache, procurez-vous une copie du paquet RPM adapté à votre version de Linux et à votre distribution de serveur Web. Par exemple :
Apache & OHS :
- Centos/RHEL 7 : mod_maverics_apache2_4.v0.1.7.el7.x86_64.rpm
- Centos/RHEL 8 : mod_maverics_apache2_4.v0.1.7.el8.x86_64.rpm
IHS :
- Centos/RHEL 7 : mod_maverics_ihs.v0.1.7.el7.x86_64.rpm
- Centos/RHEL 8 : mod_maverics_ihs.v0.1.7.el8.x86_64.rpm
Copiez le paquet RPM sur le serveur et installez-le à l’aide du RPM
. Par exemple :
sudo rpm -ivh mod_maverics_ihs.v0.1.7.el8.x86_64.rpm
Mise à niveau
Pour effectuer une mettre à niveau d’une installation existante vers la dernière version, utilisez l’option -U
ou --upgrade
:
sudo rpm -Uvh mod_maverics_ihs.v0.1.8.el8.x86_64.rpm
Configurer
Directives de premier niveau
# MavericsOrchestratorAuthEndpoint
# The registered auth endpoint that is set in the Maverics Orchestrator
# configuration file.
MavericsOrchestratorAuthEndpoint https://maverics.enterprise.com/auth
# MavericsResponseType
# The response type (or OpenID Connect Flow) used.
# This is an optional field and when not defined the "code" response type is used. Currently, only
# id_token is supported when using the Orchestrator as an IdP.
# MavericsResponseType [ "id_token" | "code" | "id_token token" | "code id_token" | "code token" | "code id_token token" ]`
MavericsResponseType id_token
# MavericsClientID
# OpenID Connect client ID.
MavericsClientID oidc-id
# MavericsClientSecret
# OpenID Connect client secret.
MavericsClientSecret 0123456789
# MavericsRedirectURI
# The redirect_uri for this OpenID Connect client; this is a vanity URL
# that must ONLY point to a path on your server protected by this module
# but it must NOT point to any actual content that needs to be served.
# You can use a relative URL like /protected/redirect_uri if you want to
# support multiple vhosts that belong to the same security domain in a dynamic way.
MavericsRedirectURI https://org.enterprise.com/sonar/oidc
# MavericsResponseMode
# The response mode used (this serves as default value for discovered OPs too).
# This is an optional field and when not defined the default response mode is form_post.
# MavericsResponseMode [form_post|query|fragment]
MavericsResponseMode form_post
# MavericsProviderIssuer
# OpenID Connect Provider issuer identifier (e.g. https://maverics.enterprise.com).
MavericsProviderIssuer https://maverics.enterprise.com
# MavericsPathAuthRequestParams
# Additional query parameters that will be sent during the Authorization Request.
# These must be URL-query-encoded as in: "display=popup&prompt=consent".
# This is an optional field and when not defined the default is to add no additional parameters.
MavericsPathAuthRequestParams tos=true&newsletter=false
# MavericsSessionCount
# The total number of sessions to keep in memory.
# This is an optional field and when not defined a default of 500 sessions will be used.
MavericsSessionCount: 500
# MavericsSessionSize
# The size of each session that is stored in memory in bytes.
# This is an optional field and when not defined default of 16913 bytes will be used.
MavericsSessionSize: 16913
# MavericsCookieDomain
# The domain to be used when session and state cookies are created.
# This is an optional field and when not defined the currently accessed hostname is used.
MavericsCookieDomain example.com
# MavericsCookiePath
# The path to be used when session and state cookies are created.
# This is an optional field and when not defined will default to `/`
MavericsCookiePath /app
Directives au niveau de l’emplacement
# MavericsAppGateway
# The App Gateway that will be used for the location. This is a unique identifier that should match
# the name of the corresponding App Gateway defined in the Orchestrator.
MavericsAppGateway sonar
Réglages des cookies
SameSite
Par défaut, l’attribut SameSite=None
est défini pour les cookies. Dans les navigateurs modernes, SameSite=None
doit être associé à
l’attribut Secure
, et par conséquent les cookies ne seront définis que lorsqu’un serveur utilise le protocole HTTPS. Pour
les serveurs qui utilisent le protocole HTTP, définissez SetEnvIf User-Agent ".*" OIDC_SET_COOKIE_APPEND=;
pour vous assurer que les cookies
sont bien définis dans le navigateur.
Activer le module Maverics Apache
Pour activer le module Apache Maverics, ajoutez la directive AuthType maverics
et Require valid-user
au bloc
d’emplacement. Vous trouverez un exemple ci-dessous.
MavericsOrchestratorAuthEndpoint https://maverics.enterprise.com/auth
MavericsResponseType id_token
MavericsClientID test-client
MavericsClientSecret 0123456789
MavericsRedirectURI https://org.enterprise.com/sonar/oidc
MavericsCryptoPassphrase none
MavericsResponseMode form_post
MavericsProviderIssuer https://maverics.enterprise.com
LoadFile /usr/lib64/libz.so.1
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
LoadModule maverics_module /usr/lib64/httpd/modules/mod_maverics.so
<VirtualHost *:443>
SSLEnable
KeyFile /opt/IBM/HTTPServer/conf/ihsserverkey.kdb
<Location /sonar>
AuthType maverics
Require valid-user
MavericsAppGateway sonar
</Location>
</VirtualHost>
Désactiver le module Maverics Apache
Pour désactiver le module Apache Maverics, supprimez ou commentez la directive AuthType maverics
et Require valid-user
dans le(s) bloc(s)
d’emplacement. Supprimez également toutes les directives liées au module Maverics Apache. Vous trouverez un exemple ci-dessous.
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
<VirtualHost *:443>
SSLEnable
KeyFile /opt/IBM/HTTPServer/conf/ihsserverkey.kdb
<Location /sonar>
</Location>
</VirtualHost>
Méthode recommandée pour définir plusieurs passerelles d’applications
Vous trouverez ci-dessous notre méthode recommandée pour configurer votre module Apache pour plusieurs passerelles d’applications. Nous utilisons /maverics
en tant qu’emplacement
pour la gestion de la redirection OIDC.
MavericsOrchestratorAuthEndpoint https://maverics.enterprise.com/auth
MavericsResponseType id_token
MavericsClientID test-client
MavericsClientSecret 0123456789
MavericsRedirectURI https://org.enterprise.com/maverics/oidc
MavericsCryptoPassphrase none
MavericsResponseMode form_post
MavericsProviderIssuer https://maverics.enterprise.com
LoadFile /usr/lib64/libz.so.1
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
LoadModule maverics_module /usr/lib64/httpd/modules/mod_maverics.so
<VirtualHost *:443>
SSLEnable
KeyFile /opt/IBM/HTTPServer/conf/ihsserverkey.kdb
KeepAliveTimeout 1
<Location /sonar>
AuthType maverics
Require valid-user
MavericsAppGateway Sonar
</Location>
<Location /crm>
AuthType maverics
Require valid-user
MavericsAppGateway crm
</Location>
<Location /maverics>
AuthType maverics
Require valid-user
</Location>
</VirtualHost>
Vous trouverez ci-dessous la configuration de tissu
correspondante pour l’orchestrateur.
fabric:
providers:
- authEndpoint: /auth
issuer: https://maverics.enterprise.com
clients:
- clientID: test-client
clientSecret: 0123456789
redirectURLs:
- https://org.enterprise.com/maverics/oidc