Apache mod_mellon installazione e configurazione base su Ubuntu

apache_modmellon
Se necessiti di installare un sistema di autenticazione SAML Single sign-on puoi utilizzare il modulo Mellon.
La seguente guida si riferisce ad una installazione su ambiente Ubuntu Server con Apache come Web server.

 

Puoi utilizzare due modi per installare il modulo Mellon in Apache, APT-GET o via sorgenti:

Installazione via git/source

Download il file da https://github.com/UNINETT/mod_auth_mellon
sudo apt-get update
sudo apt-get upgrade

#### INSTALLA DIPEDENZE
sudo apt-get install build-essential liblasso3 liblasso3-dev apache2-dev libcurl4-openssl-dev pkg-config

#### SCARIDA ED INSTALLA IL MODULO auth mellon.
wget https://github.com/UNINETT/mod_auth_mellon/archive/master.zip
tar xvfz master.zip
cd master
autoconf
./configure

#### SE SI RISCONTRANO ERRORI DURANTE L'INSTALLAZIONE, ESEGUI IL FILE autoreconf.sh
make
sudo make install

# CREA IL MODULO PER UBUNTU.
sudo vi /etc/apache2/mods-available/mod_auth_mellon.load

# AGGIUNGI QUESTA RIGA DENTRO IL FILE.
LoadModule auth_mellon_module /usr/lib/apache2/modules/mod_auth_mellon.so

# ABILITA MELLON
apxs2 -q LIBEXECDIR
sudo a2enmod mod_auth_mellon

 

Installazione via apt-get


### INSTALLAZIONE DEL MODULO MELLON
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libapache2-mod-auth-mellon -y

### ABILITA MELLON
apxs2 -q LIBEXECDIR
sudo a2enmod mod__auth_mellon

 

Configurazione Modulo

Modifica o crea se non esiste, il file in /etc/apache2/mods-available/mod_auth_mellon.conf

###########################################################################
# Global configuration for mod_auth_mellon. This configuration is shared by
# every virtual server and location in this instance of apache.
###########################################################################
 
# MellonCacheSize sets the maximum number of sessions which can be active
# at once. When mod_auth_mellon reaches this limit, it will begin removing
# the least recently used sessions. The server must be restarted before any
# changes to this option takes effect.
# Default: MellonCacheSize 100
MellonCacheSize 100
 
# MellonCacheEntrySize sets the maximum size for a single session entry in
# bytes. When mod_auth_mellon reaches this limit, it cannot store any more
# data in the session and will return an error. The minimum entry size is
# 65536 bytes, values lower than that will be ignored and the minimum will
# be used.
# Default: MellonCacheEntrySize 196608
 
# MellonLockFile is the full path to a file used for synchronizing access
# to the session data. The path should only be used by one instance of
# apache at a time. The server must be restarted before any changes to this
# option takes effect.
# Default: MellonLockFile "/var/run/mod_auth_mellon.lock"
MellonLockFile "/var/run/mod_auth_mellon.lock"
 
# MellonPostDirectory is the full path of a directory where POST requests
# are saved during authentication. This directory must writeable by the
# Apache user. It should not be writeable (or readable) by other users.
# Default: None
# Example: MellonPostDirectory "/var/cache/mod_auth_mellon_postdata"
 
# MellonPostTTL is the delay in seconds before a saved POST request can
# be flushed.
# Default: MellonPostTTL 900 (15 mn)
MellonPostTTL 900
 
# MellonPostSize is the maximum size for saved POST requests
# Default: MellonPostSize 1073741824 (1 GB)
MellonPostSize 1073741824
 
# MellonPostCount is the maximum amount of saved POST requests
# Default: MellonPostCount 100
MellonPostCount 100
 
###########################################################################
# End of global configuration for mod_auth_mellon.
###########################################################################

Configurazione Web

Modifica o crea se non esiste, il file /etc/apache2/conf-available/mellon.conf

    # www.garanet.net
    # Questo configurazione é server-wide, aggiunge informazioni dalla sessione di Mellon in tutte le richieste.


    # Add information from the mod_auth_mellon session to the request.
    MellonEnable "auth"
 
    # Configure the SP metadata
    # This should be the files which were created when creating SP metadata.
    MellonSPPrivateKeyFile /etc/apache2/mellon/http_MY_PRIVATE_KEY_DOMAIN.key
    MellonSPCertFile /etc/apache2/mellon/http_MY_PRIVATE_KEY_DOMAIN.cert
    MellonSPMetadataFile /etc/apache2/mellon/http_MY_PRIVATE_KEY_DOMAIN.xml
 
    # IdP metadata. This should be the metadata file you got from the IdP.
    MellonIdPMetadataFile /etc/apache2/mellon/idp-metadata.xml
  
    # MellonUser selects which attribute we should use for the username.
    MellonUser "uid"
    MellonSessionDump On
    MellonVariable "cookie"
 
    # MellonSecureCookie enforces the HttpOnly and secure flags
    # for the mod_mellon cookie
    # Default: Off
    MellonSecureCookie On
    MellonCookiePath /
 
    # MellonCookieDomain allows to specify of the cookie which auth_mellon will set
    # Default: the domain for the received request (the Host: header if
    # present, of the ServerName of the VirtualHost declaration, or if
    # absent a reverse resolution on the local IP)
    MellonCookieDomain MY_DOMAIN.com
 
    # The location all endpoints should be located under.
    # It is the URL to this location that is used as the second parameter to the metadata generation script.
    # This path is relative to the root of the web server.
    MellonEndpointPath /URL-PATH-LOGIN/secret

Creazione del metadata SAML 2.0

Scarica il file con : 
wget http://modmellon.googlecode.com/svn/trunk/mod_mellon2/mellon_create_metadata.sh
Lo script necessita due opzioni:

    Un entity ID, che identifica il tuo servizio.
    La base URL per l'endpoints per il mod_mellon.

Esempio:

mellon_create_metadata.sh https://sp.example.org/myEntityIDhttps://sp.example.org/mellon

Si creeranno questi tre files:
 * Un .key-file, che contiene la chiave privata in PEM format. Questo file dovrebbe essere configurato in MellonSPPrivateKeyFile.
 * Un .cert-file, che contiene il certificato in PEM format. Questo file dovrebbe essere configurato in MellonSPCertFile.
 * Un .xml-file, che contiene il file metadata per l'SP. Questo file dovrebbe essere configurato in MellonSPMetadataFile.

Dovresti salvare questi files in qualche directory come: /etc/apache2/mellon.
I files dovrebbero avere i privilegi in lettura dal web-server.

Login Manuale


Per testare il login manualmente, puoi usare il mod_mellon login endpoint.

  https://sp.example.org/mellon/login?ReturnTo=/index.html

Il parametro `ReturnTo` é l'URL che dovrebbe reindirizzare l'utente dopo il login.

Logout Manuale


Per testare il logout, hai bisogno di indirizzare l'utente al mod_mellon logout endpoint.

  https://sp.example.org/mellon/logout?ReturnTo=/logged_out.html

Il parametro `ReturnTo` é l'URL che dovrebbe reindirizzare l'utente dopo il logout.

Ricorda che l'utente dovrebbe essere logged out anche dall'IdP.
Per controllare questo,guarda se l'utente ha una sessione valida per ogni richiesta.
Questo puó essere fatto controllando se l'opzione MELLON_NAME_ID é configurata.

Referenze:

https://modmellon.googlecode.com/svn-history/r160/wiki/GenericSetup.wiki
https://github.com/UNINETT/mod_auth_mellon
 




Apache mod_mellon installazione e configurazione base su Ubuntu ultima modifica: 2015-11-28T17:54:20+00:00 da Gabriele Gatto