Difference between revisions of "LemonLDAP-NG/fr"

From SME Server
Jump to navigationJump to search
 
(8 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
[http://www.firewall-services.com Firewall Services]<br>
 
[http://www.firewall-services.com Firewall Services]<br>
 
mailto:daniel@firewall-services.com
 
mailto:daniel@firewall-services.com
 
+
===Version===
 +
{{#smeversion: smeserver-lemonldap-ng }}
 +
[[Version::contrib9|fws]][[Has SME9::true| ]]
  
 
=== Description ===
 
=== Description ===
Line 56: Line 58:
 
=== Configuration ===
 
=== Configuration ===
  
This contrib will automatically create two new domains:
+
Cette contribution créera automatiquement deux nouveaux domaines :
  
* sso-manager.domain.tld: this domain is used to access LemonLDAP management interface (configuration and session explorer)
+
* sso-manager.domain.tld : ce domaine est utilisé pour accéder à l'interface de gestion LemonLDAP (configuration et explorateur de session) ;
* auth.domain.tld: this domain is the authentication portal
+
* auth.domain.tld : ce domaine est le portail d'authentification.
  
Those domains will work out-of-the-box from the internal network if you use your SME Server as DNS, else, you'll need to add those two hostnames in your DNS Server. You also need to add those hostnames in your external DNS server if you want the portal to work from the outside.
+
Ces domaines fonctionneront dès le départ à partir du réseau interne si vous utilisez votre serveur SME comme DNS, sinon, vous devrez ajouter ces deux noms d'hôte dans votre serveur DNS. Vous devez également ajouter ces noms d'hôte dans votre serveur DNS externe si vous souhaitez que le portail fonctionne depuis l'extérieur.
  
Most of the configuration of LemonLDAP::NG is available from https://sso-manager.domain.tld/. You'll need to login using the admin credentials of your server to access this page.
+
La plupart de la configuration de LemonLDAP::NG est disponible sur https://sso-manager.domain.tld/. Vous devrez vous connecter en utilisant les informations d'identification d'administrateur de votre serveur pour accéder à cette page (identifiant : admin). Ne pas s'affoler si sso-manager.domain.tld devient auth.domain.tld à la saisie ; une fois la connexion réussie, le nom de domaine sso-manager.domain.tld revient...
  
=== Additional options ===
+
=== Options additionelles  ===
  
Some settings are available from the DB
+
Certains paramètres sont disponibles dans la base de données :
* '''ManagerAuth''': If you want the manager interface (https://sso-manager.domain.tld) to be self protected (LemonLDAP protects it's own management interface), you can set the prop to '''self'''. You first need to be sure authentication on the portal is working.
+
* '''ManagerAuth''' : si vous souhaitez que l'interface du gestionnaire (https://sso-manager.domain.tld) ​​soit auto-protégée (LemonLDAP protège sa propre interface de gestion), vous pouvez configurer la propriété sur '''self'''. Vous devez d'abord vous assurer que l'authentification au portail fonctionne.
* '''Reload''': A list of additionnal handler to call on configuration reloads. This setting is only usefull if you connect other handler on different phisical machines (using the Soap backend for example to access the configuration and session database). This needs to be a comma-separated list in the form:
+
* '''Reload''' : une liste de gestionnaires supplémentaires pour appeler les rechargements de configuration. Ce paramètre n'est utile que si vous connectez un autre gestionnaire sur différentes machines physiques (en utilisant l'arrière-plan Soap, par exemple, pour accéder à la base de données de configuration et de session). Cela doit se présenter sous la forme d'une liste séparée par des virgules :
 
  db configuration setprop lemonldap Reload server1=https://server1.domain.tld/reload,server2=https://reload.domain.tld
 
  db configuration setprop lemonldap Reload server1=https://server1.domain.tld/reload,server2=https://reload.domain.tld
* '''SoapAllowFrom''': A comma-separated list a IP addresses and/or networks which will be granted access to the SOAP ressources (/sessions, /config etc...). This is only needed if you configure remote handler to use the Soap backend to access sessions and configuration databases.
+
* '''SoapAllowFrom''' : une liste séparée par des virgules des adresses IP et/ou réseaux qui auront accès aux ressources SOAP (/sessions, /config, etc.). Cela n'est nécessaire que si vous configurez le gestionnaire distant pour utiliser l'arrière-plan Soap pour accéder aux sessions et aux bases de données de configuration.
* '''SoapPassword''': All soap ressources are protected by IP restriction (see SoapAllowFrom), and username/password (basic auth). The username is lemonsaop, and the password is the value of this prop (the default password is randomly generated)
+
* '''SoapPassword''' : toutes les ressources de Soap sont protégées par une restriction IP (voir SoapAllowFrom), et un nom d'utilisateur/mot de passe (authentification de base). Le nom d'utilisateur est lemonsaop, et le mot de passe est la valeur de cet propriété (le mot de passe par défaut est généré aléatoirement).
 
 
  
example:
+
Exemple :
 
  db configuration setprop lemonldap Reload lamp.firewall-services.com=https://lamp.firewall-services.com/lm-reload SoapAllowFrom 10.11.12.13
 
  db configuration setprop lemonldap Reload lamp.firewall-services.com=https://lamp.firewall-services.com/lm-reload SoapAllowFrom 10.11.12.13
 
  signal-event webapps-update
 
  signal-event webapps-update
  
=== Domain Name change ===
+
=== Changement du nom de domaine ===
When you first install this contrib, the main domain name is used in the default LemonLDAP configuration. If you later change the main domain name, you'll need to adapt LemonLDAP configuration manually (using https://sso-manager.domain.tld/)
+
Lorsque vous installez cette contribution pour la première fois, le nom de domaine principal est utilisé dans la configuration par défaut de LemonLDAP. Si vous modifiez ultérieurement le nom de domaine principal, vous devrez adapter la configuration de LemonLDAP manuellement (à l'aide de https://sso-manager.domain.tld/).
 +
 
 +
=== Guide de protection des applications ===
  
=== How-to protect applications ===
+
Voici un guide rapide sur la façon de protéger une application Web avec LemonLDAP::NG sur SME Serveur :
Here's quick guide on how to protect an web application with LemonLDAP::NG on SME Server:
 
  
* First, you can install your application (for example in /opt/myapp)
+
* Tout d'abord, vous pouvez installer votre application (par exemple dans /opt/MonApp)
* Now, you need to create a custom template to make this application available from the web. LemonLDAP::NG uses VirtualHosts to protect different applications, so it's recommended to not create alias on the primary domain in your custom-template. A dedicated virtualhost will be created later to access the application. Here's a example of custom-template:
+
* Maintenant, vous devez créer un modèle personnalisé pour rendre cette application disponible sur le Web. LemonLDAP::NG utilise VirtualHosts pour protéger différentes applications, il est donc recommandé de ne pas créer d'alias sur le domaine principal dans votre modèle personnalisé. Un hôte virtuel dédié sera créé ultérieurement pour accéder à l'application. Voici un exemple de modèle personnalisé :
  
  # MyApp configuration
+
  # Configuration de MonApp
  
  <Directory /opt/myapp>
+
  <Directory /opt/MonApp>
 
     AllowOverride None
 
     AllowOverride None
 
     SSLRequireSSL on
 
     SSLRequireSSL on
 
     AddType application/x-httpd-php .php
 
     AddType application/x-httpd-php .php
     php_admin_value open_basedir /opt/myapp:/tmp
+
     php_admin_value open_basedir /opt/MonApp:/tmp
 
     order deny,allow
 
     order deny,allow
 
     deny from all
 
     deny from all
Line 101: Line 103:
 
  </Directory>
 
  </Directory>
  
Ok, now the application is ready to be served, but is not accessible yet (because there's no alias to make this application accessible).
+
Bien, maintenant l'application est prête à être utilisée, mais n'est pas encore accessible (car il n'y a pas d'alias pour rendre cette application accessible).
  
* Create a domain for this application
+
* Créez un domaine pour cette application
  
  db domains set myapp.domain.tld domain Content Primary \
+
  db domains set MonApp.domain.tld domain Content Primary \
  Description 'My App' DocumentRoot /opt/myapp Authentication LemonLDAP \
+
  Description 'Mon App' DocumentRoot /opt/MonApp Authentication LemonLDAP \
 
  Nameservers internet TemplatePath WebAppVirtualHost
 
  Nameservers internet TemplatePath WebAppVirtualHost
  signal-event domain-create myapp.domain.tld
+
  signal-event domain-create MonApp.domain.tld
  
{{Note box|Instead of '''LemonLDAP''' you can also use '''LemonLDAPBasic''' as Authentication type. LemonLDAPBasic will still use LemonLDAP::NG to handle authentication and authorization, but will use a basic HTTP auth scheme, it's usefull in some situation, like being able to connect native mobile application for example (but of course, you won't have the benefit of the SSO with a basic auth)}}
+
{{Note box|type=Note :|au lieu de '''LemonLDAP''', vous pouvez également utiliser '''LemonLDAPBasic''' comme type d'authentification. LemonLDAPBasic utilisera toujours LemonLDAP::NG pour gérer l'authentification et l'autorisation, mais utilisera un schéma d'authentification HTTP de base, il est utile dans certaines situations, comme, par exemple, d'être capable de connecter une application mobile native (mais bien sûr, vous n'aurez pas l'avantage du SSO avec une authentification de base).}}
  
It's important to set TemplatePath to WebAppVirtualHost. Those templates are provided by smeserver-webapps-common package (automatically installed, as it's need by LemonLDAP). Those templates make it easy to protect any virtualhost by LemonLDAP::NG  
+
Il est important de définir TemplatePath sur WebAppVirtualHost. Ces modèles sont fournis par le paquet smeserver-webapps-common (installé automatiquement, car il est nécessaire par LemonLDAP). Ces modèles facilitent la protection de tout hôte virtuel par LemonLDAP::NG.
  
* Ok, now your application is available from this addresse https://myapp.domain.tld/ but you'll get a access denied if you try to access it now. The last step is to declare myapp.domain.tld in LemonLDAP::NG. This is done using the configuration manager (https://sso-manager.domain.tld). You can then set the access rules you want. You can read the project documentation for this part, especially this page [http://lemonldap-ng.org/documentation/latest/writingrulesand_headers]
+
*Bien, maintenant votre application est disponible à partir de cette adresse https://MonApp.domain.tld/ mais l'accès vous sera refusé si vous essayez d'y accéder maintenant. La dernière étape consiste à déclarer MonApp.domain.tld dans LemonLDAP::NG. Cela se fait à l'aide du gestionnaire de configuration (https: //sso-manager.domain.tld). Vous pouvez ensuite définir les règles d'accès que vous souhaitez. Vous pouvez lire la documentation du projet pour cette partie, en particulier cette page [http://lemonldap-ng.org/documentation/latest/writingrulesand_headers] (en anglais).
  
=== Troubleshoot ===
+
=== Problèmes ===
LemonLDAP logs are sent in apache error logs (/var/log/httpd/error_log)
+
Les journaux LemonLDAP sont envoyés dans des journaux d'erreurs Apache (/var/log/httpd/error_log).
  
=== Backup and Restore ===
+
=== Sauvegarde et restauration ===
You should backup the directory /var/lib/lemonldap/conf and /var/lib/lemonldap-ng/notifications/ which is where configuration and notifications are stored
+
Vous devez sauvegarder le répertoire /var/lib/lemonldap/conf et /var/lib/lemonldap-ng/notifications où se trouvent la configuration et les notifications.
  
=== Uninstall ===
+
=== Désinstallation ===
If you want to remove the contrib, just run:
+
Si vous voulez retirer la contribution, il suffit d'exécuter :
 
  yum remove lemonldap-ng
 
  yum remove lemonldap-ng
  
 
=== Source ===
 
=== Source ===
The source for this contrib can be found in Firewall-Services's [http://gitweb.firewall-services.com/?p=smeserver-lemonldap-ng;a=summary repository].
+
La source de cette contribution peut être trouvée sur le [http://gitweb.firewall-services.com/?p=smeserver-lemonldap-ng;a=summary dépôt] de Firewall-Services.
 +
 
 +
=== Bogues ===
 +
Veuillez ouvrir les bogues dans la section SME-Contribs dans [http://bugs.contribs.org/enter_bug.cgi bugzilla]
 +
et selectionner le composant smeserver-lemonldap-ng ou utiliser {{BugzillaFileBug|product=SME%20Contribs|component=smeserver-lemonldap-ng|title=ce lien.}}
 +
Aperçu ci-dessous des problèmes actuels de cette contribution : {{#bugzilla:columns=id,product,version,status,summary|sort=id|order=desc|component=smeserver-lemonldap-ng |noresultsmessage=No open bugs found.}}
  
 
----
 
----
[[Category:Contrib]]
+
[[Category:Contrib/fr]]
 
[[Category: Webapps]]
 
[[Category: Webapps]]

Latest revision as of 18:04, 16 June 2022



Mainteneur

Daniel B.
Firewall Services
mailto:daniel@firewall-services.com

Version

smeserver-lemonldap-ng
The latest version of smeserver-lemonldap-ng is available in the SME repository, click on the version number(s) for more information.


fws

Description

LemonLDAP::NG offre une protection AAA (Authentification Autorisation Historique - « Accounting ») complète :

  • Authentification : les informations d'identification sont nécessaires pour ouvrir la session SSO (cf. ci-dessous) ;
  • Autorisation : les règles d'accès sont vérifiées pour chaque requête HTTP ;
  • Historique : chaque connexion est enregistrée.

Le principal avantage de l'utilisation de LemonLDAP::NG est que les utilisateurs n'ont besoin de se connecter qu'une seule fois sur le portail LemonLDP::NG. Ensuite, toutes les applications configurées pour être protégées par LemonLDAP::NG reconnaîtront l'utilisateur. Cela s'appelle SSO (Single Sign On). LemonLDAP::NG est très flexible, vous pouvez utiliser différents arrière-plans pour la base de données des informations utilisateur, la vérification des mots de passe, etc.

Cette contribution utilise le serveur LDAP interne pour tout. Par défaut, tout sera pré-configuré, donc tous les utilisateurs pourront avoir un accès, avec leur mot de passe normal. L'appartenance à un groupe est également utilisable pour écrire des règles d'accès.

Cette page décrit uniquement le processus d'installation sur un serveur SME KOOZALI. Pour un guide complet sur la façon d'utiliser et de configurer LemonLDAP::NG, veuillez vous référer à la documentation officielle (en anglais).

Spécifications requises

LemonLDAP-NG a été développé et testé uniquement sur les versions 8 et 9 de KOOZALI SMEServeur, et ne sera pas adapté pour fonctionner sur SME 7.

Vous avez également besoin des dernières mises à jour du dépôt « smeupdates-testing ».

yum --enablerepo=smeupdates-testing update
signal-event post-upgrade
signal-event reboot

Installation sur les versions 8.x et 9.x

Configurer le dépôt « Firewall-Services » :

db yum_repositories set fws repository \
BaseURL http://repo.firewall-services.com/centos/\$releasever \
EnableGroups no GPGCheck yes \
Name "Firewall Services" \
GPGKey http://repo.firewall-services.com/RPM-GPG-KEY \
Visible yes status disabled
signal-event yum-modify

Configurer les dépôts Epel et Dag (choisir le dépôt convenable en fonction de la version de votre serveur SME - 8 ou 9).

  • Installer les paquets rpm
yum --enablerepo=fws --enablerepo=epel --enablerepo=dag install smeserver-lemonldap-ng
  • Maintenant, appliquer la configuration requise :
signal-event webapps-update
db configuration set UnsavedChanges no

Configuration

Cette contribution créera automatiquement deux nouveaux domaines :

  • sso-manager.domain.tld : ce domaine est utilisé pour accéder à l'interface de gestion LemonLDAP (configuration et explorateur de session) ;
  • auth.domain.tld : ce domaine est le portail d'authentification.

Ces domaines fonctionneront dès le départ à partir du réseau interne si vous utilisez votre serveur SME comme DNS, sinon, vous devrez ajouter ces deux noms d'hôte dans votre serveur DNS. Vous devez également ajouter ces noms d'hôte dans votre serveur DNS externe si vous souhaitez que le portail fonctionne depuis l'extérieur.

La plupart de la configuration de LemonLDAP::NG est disponible sur https://sso-manager.domain.tld/. Vous devrez vous connecter en utilisant les informations d'identification d'administrateur de votre serveur pour accéder à cette page (identifiant : admin). Ne pas s'affoler si sso-manager.domain.tld devient auth.domain.tld à la saisie ; une fois la connexion réussie, le nom de domaine sso-manager.domain.tld revient...

Options additionelles

Certains paramètres sont disponibles dans la base de données :

  • ManagerAuth : si vous souhaitez que l'interface du gestionnaire (https://sso-manager.domain.tld) ​​soit auto-protégée (LemonLDAP protège sa propre interface de gestion), vous pouvez configurer la propriété sur self. Vous devez d'abord vous assurer que l'authentification au portail fonctionne.
  • Reload : une liste de gestionnaires supplémentaires pour appeler les rechargements de configuration. Ce paramètre n'est utile que si vous connectez un autre gestionnaire sur différentes machines physiques (en utilisant l'arrière-plan Soap, par exemple, pour accéder à la base de données de configuration et de session). Cela doit se présenter sous la forme d'une liste séparée par des virgules :
db configuration setprop lemonldap Reload server1=https://server1.domain.tld/reload,server2=https://reload.domain.tld
  • SoapAllowFrom : une liste séparée par des virgules des adresses IP et/ou réseaux qui auront accès aux ressources SOAP (/sessions, /config, etc.). Cela n'est nécessaire que si vous configurez le gestionnaire distant pour utiliser l'arrière-plan Soap pour accéder aux sessions et aux bases de données de configuration.
  • SoapPassword : toutes les ressources de Soap sont protégées par une restriction IP (voir SoapAllowFrom), et un nom d'utilisateur/mot de passe (authentification de base). Le nom d'utilisateur est lemonsaop, et le mot de passe est la valeur de cet propriété (le mot de passe par défaut est généré aléatoirement).

Exemple :

db configuration setprop lemonldap Reload lamp.firewall-services.com=https://lamp.firewall-services.com/lm-reload SoapAllowFrom 10.11.12.13
signal-event webapps-update

Changement du nom de domaine

Lorsque vous installez cette contribution pour la première fois, le nom de domaine principal est utilisé dans la configuration par défaut de LemonLDAP. Si vous modifiez ultérieurement le nom de domaine principal, vous devrez adapter la configuration de LemonLDAP manuellement (à l'aide de https://sso-manager.domain.tld/).

Guide de protection des applications

Voici un guide rapide sur la façon de protéger une application Web avec LemonLDAP::NG sur SME Serveur :

  • Tout d'abord, vous pouvez installer votre application (par exemple dans /opt/MonApp)
  • Maintenant, vous devez créer un modèle personnalisé pour rendre cette application disponible sur le Web. LemonLDAP::NG utilise VirtualHosts pour protéger différentes applications, il est donc recommandé de ne pas créer d'alias sur le domaine principal dans votre modèle personnalisé. Un hôte virtuel dédié sera créé ultérieurement pour accéder à l'application. Voici un exemple de modèle personnalisé :
# Configuration de MonApp 
<Directory /opt/MonApp>
    AllowOverride None
    SSLRequireSSL on
    AddType application/x-httpd-php .php
    php_admin_value open_basedir /opt/MonApp:/tmp
    order deny,allow
    deny from all
    allow from {"$localAccess $externalSSLAccess";}
    Satisfy all
</Directory>

Bien, maintenant l'application est prête à être utilisée, mais n'est pas encore accessible (car il n'y a pas d'alias pour rendre cette application accessible).

  • Créez un domaine pour cette application
db domains set MonApp.domain.tld domain Content Primary \
Description 'Mon App' DocumentRoot /opt/MonApp Authentication LemonLDAP \
Nameservers internet TemplatePath WebAppVirtualHost
signal-event domain-create MonApp.domain.tld


Important.png Note :
au lieu de LemonLDAP, vous pouvez également utiliser LemonLDAPBasic comme type d'authentification. LemonLDAPBasic utilisera toujours LemonLDAP::NG pour gérer l'authentification et l'autorisation, mais utilisera un schéma d'authentification HTTP de base, il est utile dans certaines situations, comme, par exemple, d'être capable de connecter une application mobile native (mais bien sûr, vous n'aurez pas l'avantage du SSO avec une authentification de base).


Il est important de définir TemplatePath sur WebAppVirtualHost. Ces modèles sont fournis par le paquet smeserver-webapps-common (installé automatiquement, car il est nécessaire par LemonLDAP). Ces modèles facilitent la protection de tout hôte virtuel par LemonLDAP::NG.

  • Bien, maintenant votre application est disponible à partir de cette adresse https://MonApp.domain.tld/ mais l'accès vous sera refusé si vous essayez d'y accéder maintenant. La dernière étape consiste à déclarer MonApp.domain.tld dans LemonLDAP::NG. Cela se fait à l'aide du gestionnaire de configuration (https: //sso-manager.domain.tld). Vous pouvez ensuite définir les règles d'accès que vous souhaitez. Vous pouvez lire la documentation du projet pour cette partie, en particulier cette page [1] (en anglais).

Problèmes

Les journaux LemonLDAP sont envoyés dans des journaux d'erreurs Apache (/var/log/httpd/error_log).

Sauvegarde et restauration

Vous devez sauvegarder le répertoire /var/lib/lemonldap/conf et /var/lib/lemonldap-ng/notifications où se trouvent la configuration et les notifications.

Désinstallation

Si vous voulez retirer la contribution, il suffit d'exécuter :

yum remove lemonldap-ng

Source

La source de cette contribution peut être trouvée sur le dépôt de Firewall-Services.

Bogues

Veuillez ouvrir les bogues dans la section SME-Contribs dans bugzilla et selectionner le composant smeserver-lemonldap-ng ou utiliser ce lien.

Aperçu ci-dessous des problèmes actuels de cette contribution :

IDProductVersionStatusSummary
12012SME Contribs10.0CONFIRMEDadd contrib to backup list [smeserver-lemonldap-ng]