Configurer la Debian
Ajouter les backports dans le dépôt
echo "deb http://deb.debian.org/debian buster-backports main contrib non-free" >> /etc/apt/sources.list
Mettre à jour le système
#apt update
#apt upgrade
Installation des paquets nécessaire
#apt install tomcat9 tomcat9-admin tomcat9-user openjdk-11-jdk openjdk-11-jre maven build-essential git
Configurer la variable d'environnement JAVA
#echo "JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/" >> /etc/environment
#source /etc/environment
Vérifier la variable d'environnement
echo $JAVA_HOME
Configurer Tomcat9
Aller dans /etc/default
Ouvrir le fichier tomcat9
Rajouter la ligne suivante :
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
Vérifier de nouveau si vous avez Java 11
update-alternatives --display java
Configurer le Tomcat9 manager
Aller dans /etc/tomcat9
Ouvrir le fichier tomcat-users.xml
Tout en bas du fichier mettre
<role rolename="admin-gui"/> <user username="admin" password="toor" roles="manager-gui,admin-gui"/>
Redémarrer Tomcat
systemctl restart tomcat9
Mettre TOMCAT9 en HTTPS.
Vérifier que le port 80 et 443 sort bien vers l'extérieur.
Maintenant nous allons utiliser Let's Encrypt
Pour installer cerbot via les paquet
apt install python-certbot-apache
Utiliser la commande suivante pour avoir le domaine en https :
certbot --apache -d cas.domaine-univ.fr
il vous demande de mettre votre adresse mail.
Suivre les indications.
Récupérer le chemin ou se trouve les fichier pem qui vous donne let's encrypte
Il vous donne le chemin ou se trouve les fichier pem.
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/cas.domaine-univ.fr
/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/cas.domaine-univ.fr
/privkey.pem
- Your cert will expire on 2021-06-31. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option.
To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now.
This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal.
Créer le dossier pour les fichier SSL
J'ai créé un dossier dans /opt/tomcat/conf
Mkdir /opt/tomcat/conf
Mkdir /opt/tomcat
Mkdir /opt/tomcat/conf
J'ai copié les trois fichiers dans /opt/tomcat/conf :
cp cert.pem chain.pem privkey.pem /opt/tomcat/conf
J'ai mi les droits pour les fichier *.pem :
chown tomcat:tomcat *.pem
Ajout des ligne SSL sur le serveur Tomcat9
Je suis allé dans /etc/tomcat9/server.xml
J'ai ajouté les lignes suivantes :
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateFile="/opt/tomcat/conf/cert.pem"
certificateKeyFile="/opt/tomcat/conf/privkey.pem"
certificateChainFile="/opt/tomcat/conf/chain.pem" />
</SSLHostConfig>
</Connector>
J'ai redémarré tomcat
Pré-installe Apereo / CAS
Nous commençons par installer le projet nécessaire à l'utilisation de cas-overlay-Template
Récupérer le projet
Aller dans le dossier /opt
|
Ouvrir le dossier cas-overlay-template
|
Ajout de module LDAP (Dépendance)
Ouvrir le fichier build.gradle
Ajouter les 3 lignes en gras ci-dessous :
dependencies { // Add modules in format compatible with overlay casModules property if (project.hasProperty("casModules")) { def dependencies = project.getProperty("casModules").split(",") dependencies.each { def projectsToAdd = rootProject.subprojects.findAll {project -> project.name == "cas-server-core-${it}" || project.name == "cas-server-support-${it}" } projectsToAdd.each {implementation it} } } // CAS dependencies/modules may be listed here statically... implementation "org.apereo.cas:cas-server-webapp-init:${casServerVersion}" implentation "org.apereo.cas:cas-server-support-ldap:${project.'cas.version'}" implentation "org.apereo.cas:cas-server-support-json-service-registry:${casServerVersion}" } |
Enregistrer le fichier
Ajouter dans le fichier cas.properties la configuration LDAP
|
ATTENTION ENLEVER LE # POUR ÊTRE EN VERSION PRODUCTION
# cas.authn.accept.users=
|
Activation en LDAPS
Par contre si vous voulez metre le LDAP en LDAPS
Il vous faudra activer userSsl=true
cas.authn.ldap\[0\].useSsl=false
Vérification du port de connexion LDAP 389
|
Si vous avez ce message-là :
Trying 192.168.0.54...
Connected to domaine-univ.fr.
Escape character is '^]'.
C'est ok.
Vérification du port de connexion LDAP 636
|
Si vous avez ce message-là :
Trying 192.168.0.54...
Connected to domaine-univ.fr.
Escape character is '^]'.
C'est ok.
Création du dossier log pour CAS
Créer un dossier dans /var/log/cas
|
Copie des fichiers cas.log et cas_audit.log
Copier ou créer les fichiers cas.log et cas_audit.log dans le dossier
Droit sur le dossier
Pour mettre les droits sur le dossier faire la commande suivante :
|
Modifier le fichier log4j2.xml
dans le dossier cas-overlay-template-master/etc/cas/config
Mettre à la place de
|
|
Enregistrer le fichier
Installation de Gradle
|
#.
|
Création de la clé
#
|
Il faut récupérer le fichier
Copier le fichier cas.war
|
Relancer le service de Tomcat9
|
Maintenant nous allons tester la connexion
Pour ici l'adresse ip est : https://cas.domaine-univ.fr
:8443/cas
Cliquer sur « se connecter »
Quand vous êtes connectés, vous devez avoir ce message-là : Connexion réussie
En cliquant sur
Nous pouvons voir les attributs de l'active Directory.
Choix de la Configuration des applications
Nous avons le choix pour configurer les applications soit avec :
- Avec Json
- Base de donnée module JPA
Pour démarrer nous allons utiliser le Json.
Configuration du Json
Vérifier que dans le fichier build.gradle nous avons bien :
|
Une fois vérifier nous pouvons commencer.
Configurer le fichier cas.properties
Ouvrir le fichier cas. properties
|
|
Ajouter la ligne ci-dessous :
Configuration de JSON
|
Une fois que la ligne a été ajouté nous devons créer un dossier.
Création du dossier services
Nous utilisons la commande mkdir pour créer le dossier
|
Ajouter les applications
Nous allons créer pour chaque applications un fichier en « .json »
Il est recommandé de nommer les nouveaux fichiers JSON comme suit:
|
Pour créer l'ID nous utilisons la commande suivant :
|
Voici ce qui donne
|
Ce numéro est notre ID.
Donc le fichier sera « application-1559915619.json »
Le fichier doit être dans /etc/cas/services/
Création du fichier json
« Application » est le nom de votre application dans cette exemple
|
Configuration des applications
Ouvrir le fichier que nous venons de créer
|
Attention l'exemple ci-dessous à éviter à l'utilisation
|
Voici pour l'application Rocketchat
Ouvrir le fichier http_rocketchat-1559902436.json
|
|
Aller dans RocketChat mettre les informations du serveur cas.
URL de base pour SSO : https://cas.domaine-univ.fr
:8443/cas
URL de login SSO : https://cas.domaine-univ.fr
:8443/cas/login
Vous devez mettre vos attributs
Ouvrir la page de RocketChat pour ici c'est 192.168.0.113:3000
Cliquer sur AUTHENTIFICATION CAS
La page s'ouvre et nous voyons que RocketChat est bien dans CAS
Mettre son identifiant et son mot de passe du serveur AD