«

»

Mai 10 2015

[Tuto] IAM: Installer Siteminder Policy Server sur CentOS 6 et son Admin UI

Bonjour à tous dans ce tutoriel, je vais vous montrer comment installer le Policy Server de Siteminder sous CentOS6.

Pour ma part j’ai installé le Policy server sous CentOS afin d’avoir un LAB de test (n’ayant pas de Red Hat sous la main ou de Solaris).

L’installation du policy server de Siteminder vas se faire en plusieurs étapes:

  • Préparation du serveur
  • Installation du Policy Server
  • Installation et configuration de LDAP
  • Configuration du Policy Store
  • Installation de l’Admin UI
  • Finalisation.

Préparation du serveur

Sur une CentOS 6 32 bits (Oui 32 pas 64) fraîchement installée nous allons réaliser les étapes suivantes afin de préparer le serveur.

Désactivation de SELinux

Éditez le fichier /etc/selinux/config

Et mettez la valeur SELINUX a disabled comme ceci:

SELINUX=disabled

Désactivation du Firewall

Le firewall de CentOS est par défaut configuré afin de bloquer les connexions entrantes, nous allons aussi le désactiver.

/etc/init.d/iptables stop
schkconfig iptables off

On redémarre le serveur

reboot

On augmente l’entropy (sinon l’Amin UI sera ultra lente)

mv /dev/random /dev/random.org
ln -s /dev/urandom /dev/random

Installation des dépendances

yum update -y
yum -y install libstdc++ libidn libXext libXrender libXtst libidn ncurses ncurses-libs ncurses-base ksh

On créer un utilisateur smuser

useradd -d /opt/CA smuser

On désactive pour smuser la variable d’environnement LANG

su - smuser
unset LANG
exit

On installe JAVA JRE

Allez sur le site de JAVA https://www.java.com/en/download/linux_manual.jsp

Et téléchargez la version 32 bits de JAVA (Pas le RPM)

Envoyez le fichier tar.gz sur votre serveur et tapez les commandes suivantes (Adaptez selon la version de JAVA que vous avez)

mkdir /usr/java
mv jre-8u45-linux-i586.tar.gz /usr/java/
cd /usr/java/
tar zxvf jre-8u45-linux-i586.tar.gz
rm jre-8u45-linux-i586.tar.gz

Installation du Policy Server

Allez sur le site du support de CA et télécharger la dernière version du Policy Server, dans mon cas j’ai télécharger: CA SiteMinder Policy Server r12.52 SP1-for Linux-ESD Only.

De-zippez le zip que vous avez récupérer et envoyez tous les fichier de cette archive sur votre serveur (ex: dans /root/policyserver)

Sur votre serveur lancez l’installation comme ceci:

cd /root/policyserver
chmod +x ca-ps-12.52-sp01-linux.bin
./ca-ps-12.52-sp01-linux.bin

L’installation se lance, acceptez la licence.

Le premier champs à remplir, sera la dossier d’installation de Java, dans notre cas: /usr/java/jre1.8.0_45

Ce qui donnera:

 ==============================================================================
Select Java Folder Location
---------------------------

Select the folder where 32-bit JRE 1.6.0.32 or higher is installed.

JRE Folder (DEFAULT: ): /usr/java/jre1.8.0_45

La second champs a remplir sera le dossier d’installer, nous allons mettre: /opt/CA

Ce qui donne:

===============================================================================
Choose Install Folder
---------------------

Please choose the siteminder install folder.

Where would you like to install?

  Default Install Folder: /root/CA

ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : /opt/CA

Mettez les valeurs par defauts aux autres questions, puis a la questions « Choose Features » tapez 5 « None of the above »

===============================================================================
Choose Features
---------------

Choose which features you would like to configure.

    1- OneView Monitor GUI
    2- Web Server(s)
    3- SNMP
    4- Policy Store
    5- None of the above

ENTER A COMMA-SEPARATED LIST OF NUMBERS REPRESENTING THE DESIRED CHOICES, OR
   PRESS <ENTER> TO ACCEPT THE DEFAULT: 5

Laissez le reste par défaut et terminez l’installation.

Maintenant que le Policy server est installé, nous allons devoir configurer un Policy Store.

Pour cela nous allons installer un serveur LDAP pour stocker les Policy.

Installation et configuration de LDAP

On installe OpenLDAP avec yum

yum install openldap openldap-servers openldap-clients -y

Officiellement OpenLDAP n’utilise plus le fichier slapd.conf, mais étant donnée que la documentation de CA nous demande de l’utiliser nous allons l’utiliser.

cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

Nous allons maintenant générer le mot de passe de l’admin de notre annuaire LDAP

slappasswd
New password:
Re-enter new password:
{SSHA}qnhcUzqvAHuvAyfNEXV3LuquNyvRj3kT

Copiez le hash du mot de passe avec {SSHA}.

Il faut maintenant copier les schéma LDAP du Policy Store dans LDAP pour ce faire, tapez les commandes suivantes:

cp /opt/CA/siteminder/db/tier2/OpenLDAP/* /etc/openldap/schema/
cp /opt/CA/siteminder/xps/db/Tier2DirSupport/OpenLDAP/* /etc/openldap/schema/

Éditez maintenant le fichier /etc/openldap/slapd.conf

Dans la liste des includes au debut du fichier, rajoutez les quatres lignes suivantes:

include /etc/openldap/schema/openldap_attribute.schema
include /etc/openldap/schema/openldap_object.schema
include /etc/openldap/schema/openldap_attribute_XPS.schema
include /etc/openldap/schema/openldap_object_XPS.schema

Puis localisez les deux lignes suivantes et de-commentez les:

access to dn.base="" by * read
access to dn.base="cn=Subschema" by * read

Localisez ces trois lignes et commentez les

#TLSCACertificatePath /etc/openldap/certs
#TLSCertificateFile "\"OpenLDAP Server\""
#TLSCertificateKeyFile /etc/openldap/certs/password

Localisez la ligne

by dn.exact="cn=Manager,dc=my-domain,dc=com" read

Et éditez la de façon a refléter votre domaine

by dn.exact="cn=Manager,dc=smdomain,dc=local" read

Puis en dessous remplissez les champs comme ceci:

database        bdb
suffix          "dc=smdomain,dc=local"
checkpoint      1024 15
rootdn          "cn=Manager,dc=smdomain,dc=local"
# Cleartext passwords, especially for the rootdn, should
# be avoided.  See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw		{SSHA}qnhcUzqvAHuvAyfNEXV3LuquNyvRj3kT

A la fin du fichier sous rajoutez la ligne suivante:

sizelimit 500

Enregistrez le fichier

Et tapez les commandes suivantes:

rm -rf /var/lib/ldap/*
rm -rf /etc/openldap/slapd.d/*
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -Rf ldap. /etc/openldap/slapd.d/
chown -Rf ldap. /var/lib/ldap/
chmod 700 /var/lib/ldap/
chmod 700 /etc/openldap/slapd.d/
service slapd restart
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chkconfig slapd on

Maintenant, créez un fichier .ldif avec ce contenu:

dn: dc=smdomain,dc=local
objectclass: dcObject
objectclass: organization
o: Domain SMODOMAIN
dc: smdomain

dn: cn=Manager,dc=smdomain,dc=local
objectclass: organizationalRole
cn: Manager

dn: ou=Netegrity,dc=smdomain,dc=local
ou: Netegrity
objectClass: organizationalUnit
objectClass: top

dn: ou=SiteMinder,ou=Netegrity,dc=smdomain,dc=local
ou: SiteMinder
objectClass: organizationalUnit
objectClass: top

dn: ou=PolicySvr4,ou=SiteMinder,ou=Netegrity,dc=smdomain,dc=local
ou: PolicySvr4
objectClass: organizationalUnit
objectClass: top

dn: ou=XPS,ou=policysvr4,ou=siteminder,ou=netegrity,dc=smdomain,dc=local
ou: XPS
objectClass: organizationalUnit
objectClass: top

Enregistrez le fichier avec l’extension LDIF, pour ma part je l’ai appelé base.ldif

Maintenant tapez la commande suivante:

ldapadd -x -D "cn=Manager,dc=smdomain,dc=local" -W -f base.ldif

Enter LDAP Password: #Password créer avec slappasswd
adding new entry "dc=smdomain,dc=local"

adding new entry "cn=Manager,dc=smdomain,dc=local"

adding new entry "ou=Netegrity,dc=smdomain,dc=local"

adding new entry "ou=SiteMinder,ou=Netegrity,dc=smdomain,dc=local"

adding new entry "ou=PolicySvr4,ou=SiteMinder,ou=Netegrity,dc=smdomain,dc=local"

adding new entry "ou=XPS,ou=policysvr4,ou=siteminder,ou=netegrity,dc=smdomain,dc=local"

Maintenant nous allons changer l’ownership du dossier /opt/CA/siteminder à smuser avec la commande;

chown -R smuser. /opt/CA/siteminder

Configuration du Policy Store

Afin d’utiliser notre serveur LDAP comme Policy Store, il faut le configurer dans Siteminder, pour ce faire il faut rediriger via SSH la console de Siteminder (smconsole).

Par chance MobaXterm contient un serveur X pour pouvoir faire cela :)

Donc connectez vous en SSH a votre serveur avec MobaXterm et tapez les commandes suivantes:

su - smuser
cd siteminder/
. ./ca_ps_env.ksh
export DISPLAY=192.168.2.70:0.0
#(ou 192.168.2.70 est l'adresse IP depuis laquelle vous vous connectez
[smuser@policy-server siteminder]$ smconsole

Une fenêtre s’ouvre allez dans l’onglet Data et remplissez les champs comme sur l’image ci dessous et après cliquez sur Test LDAP Connection.

Test LDAP OK

Test LDAP OK

Cliquez sur Apply et matchez aussi le key store sur le LDAP et cliquez sur apply puis sur OK.

Key Store Configuration

Key Store Configuration

Une fois cela fait nous créer le mot de passe pour l’administrateur du Policy Server (user sitemider).

Tout d’abord il faut copier fichier smreg présent dans le dossier du programme d’installation du Policy server dans le dossier d’installation avec la commande suivante:

cp /root/policyserver/smreg /opt/CA/siteminder/bin/
chown smuser. /opt/CA/siteminder/bin/smreg
su - smuser
. ./siteminder/ca_ps_env.ksh
smreg -su siteminder #siteminder est le mot de passe

Maintenant nous allons importer les Data defnitions dans le policy store.

Pour cela taper les commandes suivantes:

su - smuser
. ./siteminder/ca_ps_env.ksh
XPSDDInstall siteminder/xps/dd/SmMaster.xdd
XPSImport siteminder/db/smpolicy.xml -npass
XPSImport siteminder/db/ampolicy.xml -npass
XPSImport siteminder/db/fedpolicy-12.5.xml -npass

On finalise l’installation du Policy Server en lançant l’outils de configuration:

su - smuser
. ./siteminder/ca_ps_env.ksh
./siteminder/ca-ps-config.sh
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...

Launching installer...

Graphical installers are not supported by the VM. The console mode will be used instead...

===============================================================================
CA SiteMinder Policy Server                      (created with InstallAnywhere)
-------------------------------------------------------------------------------

Preparing CONSOLE Mode Installation...

===============================================================================
Choose Features
---------------

Choose which features you would like to configure.

    1- OneView Monitor GUI
    2- Web Server(s)
    3- SNMP
    4- Policy Store
    5- None of the above

ENTER A COMMA-SEPARATED LIST OF NUMBERS REPRESENTING THE DESIRED CHOICES, OR
   PRESS <ENTER> TO ACCEPT THE DEFAULT: 5

===============================================================================
Configure Advanced Authentication Server
----------------------------------------

Add the Master Key for Advanced Authentication Server to be used for
encryption. This key should only contain Latin word characters [a-zA-Z0-9_].

Add the Master Key: 

===============================================================================
Validating Master Key...
------------------------

Master Key length must be minimum of 6 characters  and maximum of 24 characters
long. Please re-enter the Master Key.

PRESS <ENTER> TO ACCEPT THE FOLLOWING (Back): 

===============================================================================
Configure Advanced Authentication Server
----------------------------------------

Add the Master Key for Advanced Authentication Server to be used for
encryption. This key should only contain Latin word characters [a-zA-Z0-9_].

Add the Master Key: 

===============================================================================
Re-enter Master Key
-------------------

Re-Enter the Master Key for Advanced Authentication Server to be used for
encryption.

Re-enter the Master Key: 

===============================================================================
Policy Store
------------

Enter the password for the CA SiteMinder super user account. Make sure to
   enter the same password that was used when configuring the policy store. The
   password is required to complete the configuration of the Advanced
   Authentication server.: 

===============================================================================
Policy Store
------------

Re-Enter the password for the SiteMinder Super User account: 

===============================================================================
Choose Password Services
------------------------

Choose Password Services

    1- Advanced Password Services
  ->2- Basic Password Services

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:: 

===============================================================================
Pre-Configuration Summary:
--------------------------

Host name:	   policy-server

IP address:	192.168.2.71

SiteMinder folder:  	/opt/CA/siteminder

JRE location:  	/usr/java/jre1.8.0_45

FIPS Value:  	COMPAT

	 Password Services Selected: Basic Password Services

PRESS <ENTER> TO CONTINUE: 

===============================================================================
Installing...
-------------

 [==================|==================|==================|==================]
 [------------------|------------------|------------------|------------------]

===============================================================================
Installation Complete
---------------------

Congratulations. CA SiteMinder Policy Server Configuration Wizard has been
successfully installed to:

/opt/CA/siteminder

PRESS <ENTER> TO EXIT THE INSTALLER:

Installation de l’Admin UI

Pour cela il faut télécharger deux archives depuis le site de CA:

  • CA SiteMinder r12.52 SP1-Administrative UI Prerequisite Installer for Linux- ESD Only
  • CA SiteMinder Administrative UI r12.52 SP1-for Linux-ESD Only

Une fois ses deux archives télécharger. envoyez les sur le serveur dans le dossier /root/adminui.

 

Commencez par lancer adminui-pre-req-12.52-sp01-linux.bin

cd /root/adminui/
./adminui-pre-req-12.52-sp01-linux.bin

Acceptez la licence et remplissez les champs suivants:

===============================================================================
Supply Installation Parameters
------------------------------

Please supply the installation folder, fully qualified host name and port
number to be used for installing the Administrative UI Server.
For example: servername.domain

Where would you like to install? (DEFAULT: /root/CA): /opt/CA

Server Name: (DEFAULT: 192.168.2.71): 

JBoss Port: (DEFAULT: 8080):

Validez le sommaire et lancez l’installation, une fois celle-ci terminée lancer l’installation de l’Admin UI avec la commande:

./ca-adminui-12.52-sp01-linux.bin

Nous n’avez rie a faire  part d’acceptez la licence, tous les champs sont déjà pré-remplis.
La dernière étape consiste à enregistrer notre l’AdminUI pour le Policy server

su - smuser
. ./siteminder/ca_ps_env.ksh
XPSRegClient siteminder -adminui-setup -t 1440 -r 5 -vT

.......
[XPSRegClient - XPS Version 12.52.0100.499]
Log output: /opt/CA/siteminder/log/XPSRegClient.2015-05-10_030519.log
Password: #password configuré avec smreg

Confirm password:

Initializing system, please wait...
(INFO) : [sm-xpsxps-00120] Initializing XPS Version 12.52.0100.499
(INFO) : [sm-xpsxps-01160] LDAP Provider Info String = OpenLDAP
(INFO) : [sm-xpsxps-01120] LDAP Provider Version: supportedLDAPVersion = 3
(INFO) : [sm-xpsxps-01160] LDAP Provider Info String = OpenLDAP
(INFO) : [sm-xpsxps-00560] Database Transactions are 0.
(INFO) : [sm-xpsxps-00300] 1 Parameter(s) loaded from Policy Store, 1 total.
(INFO) : [sm-xpsxps-00330] Caching Policy Data...
(INFO) : [sm-xpsxps-00310] 3609 object(s) loaded from the Policy Store.
(INFO) : [sm-xpsxps-00430] Policy Store ID is "000cc9c8-f935-154e-b935-0247c0a8907d".
(INFO) : [sm-xpsxps-06870] XPS Auditing is enabled.
(INFO) : [sm-xpsxps-03460] No validation warnings will be logged (controlled by CA.XPS::$LogValidationWarnings).
(INFO) : [sm-xpsxps-00150] XPS Initialized. (286, 0, 0)
(INFO) : [sm-xpsxps-00150] XPS Initialized.
(INFO) : [sm-xobfed-02577] Successfully loaded smobjadapter.
Validating client name, please wait...
Preparing registration information, please wait...
Processing complete. Thank you for waiting.
(INFO) : [sm-xpsxps-00160] Shutting down XPS...
(INFO) : [sm-xpsxps-00170] Shutting down XPS housekeeping...
(INFO) : [sm-xpsxps-00160] Shutting down XPS...
(INFO) : [sm-xpsxps-00210] Releasing SiteMinder object store connection to XPS...
(INFO) : [sm-xpsxps-00180] Releasing XPS configuration cache...
(INFO) : [sm-xpsxps-00240] XPS Shutdown Complete.

Maintenant il ne nous reste plus qu’a fixer les permissions de l’utilisateur smsuer et de lancer l’admin UI

chown -R smuser. /opt/CA/siteminder
su - smuser
. ./siteminder/ca_ps_env.ksh
./
####Patientez...juqu'a cette ligne
03:13:35,586 INFO  [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] Started in 1m:6s:200ms

Vous pouvez maintenant accéder à l’administrative UI de votre serveur a cette adresse:

http://fqdn:8080/iam/siteminder/adminui

Admin UI

Admin UI

Loggez vous avec siteminder/siteminder

Finalisation

Scripts de démarrage

Voici en prime un script de démarrage a mettre dans /etc/init.d/

#!/bin/bash
#
#       /etc/rc.d/init.d/siteminder
#
# Source function library.
. /etc/init.d/functions

start() {
	echo -n "Starting Policy Server: "
        su - smuser -c /opt/CA/siteminder/smpolsrv -start
	sleep 15
	echo -n "Starting Admin UI:"
	su - smuser -c /opt/CA/siteminder/adminui/bin/run.sh >/tmp/adminui.log 2>&1 &

}

stop() {
        echo -n "Shutting down Policy Server and Admin UI: "
        su - smuser -c /opt/CA/siteminder/smpolsrv -stop
	su - smuser -c /opt/CA/siteminder/adminui/bin/shutdown.sh &</pre>
<pre>

}

status() {
 su - smuser -c "/opt/CA/siteminder/smpolsrv -status"
}

case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 status)
 status
 ;;
 restart)
 stop
 start
 ;;
 *)
 echo "Usage: <servicename> {start|stop|status}"
 exit 1
 ;;
esac
exit $?

Et voila, vous avez maintenant un Policy Server prêt a l`emploi !

(1 commentaire)

  1. Ahmed Elnaggar

    Thanks man for the great tutorial. it’s just perfect you made my day

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire les articles précédents :
[TUTO] IAM: Récupérer dans une page la liste des Headers sous IIS (Siteminder)

Bonjour a tous, Voici un quick tips pour récupérer les Headers d'une page protégée par Siteminder sous IIS.

Fermer