SSO Apache2 Active Direcotry PowerBroker Identity Services

PowerBroker Identity Services

Pré-requis

  • Une infrastructure DNS / Active Directory fonctionnelle FIXME
  • Un serveur LAMP

Installation

wget http://download.beyondtrust.com/PBISO/8.0.0.2016/linux.deb.x64/pbis-open-8.0.0.2016.linux.x86_64.deb.sh
chmod +x pbis-open-8.0.0.2016.linux.x86_64.deb.sh

  • Lancer le script et répondre 2 fois par yes :

./pbis-open-8.0.0.2016.linux.x86_64.deb.sh

/bin/find-user-by-name) (yes/no) yes
Would you like to install now? (yes/no) yes

Mise au domaine

domainjoin-cli join TEST.LAN administrateur

Joining to AD Domain:   TEST.LAN
With Computer DNS Name: chronos.TEST.LAN
administrateur@TEST.LAN's password:
...
Your system has been configured to authenticate to Active Directory for the first time.  It is recommended that you restart your system to ensure that all applications recognize the new settings.
SUCCESS

Keytab

Windows Server

  • Depuis la console de gestion des Utilisateurs AD, créer un utilisateur à l'identique du nom d'hôte qui sera utilisé, ex :
hôte utilisateur mot de passe
chronos chronos Passw00rd
  • Création du fichier :

ktpass -princ HTTP/chronos.test.lan@TEST.LAN -mapuser chronos@TEST.LAN -crypto RC4-HMAC-NT -ptype KRB5_NT_PRINCIPAL -pass Passw00rd -out c:chronos.keytab

Serveur Web

  • Transférer le fichier sur le serveur :

apt-get install apache2-mpm-prefork libapache2-mod-auth-kerb
mkdir /etc/apache2/keytab
mv /share/chronos.keytab /etc/apache2/keytab/

  • On rajoute les directives au VHost :

vi /etc/apache2/sites-enabled/chronos.conf

<VirtualHost 192.168.1.10:80>
        ServerName              chronos.test.lan
        Redirect                / https://chronos.home.lan/
        ErrorLog                /var/log/apache2/server.log
        CustomLog               /var/log/apache2/server.log combined
</VirtualHost>

<VirtualHost 192.168.1.10:443>
        ServerName              chronos.test.lan
        DocumentRoot            /var/www
#       DocumentRoot            /usr/share/cacti/site
        ErrorLog                /var/log/apache2/chronos.log
        CustomLog               /var/log/apache2/chronos.log combined

        SSLEngine               on
        SSLCertificateFile      /etc/apache2/ssl/chronos.crt
        SSLCertificateKeyFile   /etc/apache2/ssl/chronos.key

<directory "/var/www">
        AuthType                Kerberos
        AuthName                "Login"
        KrbServiceName          HTTP/chronos.test.lan@TEST.LAN
        KrbVerifyKDC            on
        KrbMethodNegotiate      on
        KrbMethodK5Passwd       on
        KrbAuthRealms           TEST.LAN
        Krb5KeyTab              /etc/apache2/keytab/chronos.keytab
        require                 valid-user
</directory>

</VirtualHost>

  • On redémarre le serveur :

service apache2 restart

Navigateurs

  • Sur Firefox, saisir about:config dans la barre d'adresse et modifier l'option network.negotiate-auth.delegation-uris
network.negotiate-auth.delegation-uris http://;https://
  • Se connecter avec un client Windows et apprécier le SSO :o)