# Protection du manager

Lorsqu'on installe LL::NG, le manager n'est accessible que via le compte de démonstration `dwho`. Ce document explique comment changer ce comportement par défaut pour protéger le manager avec d'autres règles.

## Protection basée sur Apache

Apache based protection allows one to be independent from WebSSO, so Manager will always be reachable even if WebSSO configuration is corrupted.

Cette configuration peut être changée dans `etc/manager-apache2.conf`, par exemple pour restreindre les adresses IP autorisées à accéder au manager :

        <Directory /usr/local/lemonldap-ng/htdocs/manager/>
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/8 192.168.100.0/32
            Options +ExecCGI
        </Directory>

Il est souvent souhaitable d'utiliser un module d'authentification Apache, tel par exemple le module d'authentification LDAP :

        <Directory /usr/local/lemonldap-ng/htdocs/manager/>
            AuthzLDAPAuthoritative On
            AuthName "LL::NG Manager"
            AuthType Basic
            AuthBasicProvider ldap
            AuthLDAPBindDN "ou=websso,ou=applications,dc=example,dc=com"
            AuthLDAPBindPassword "secret"
            AuthLDAPURL ldap://localhost:389/ou=users,dc=example,dc=com???(objectClass=inetOrgPerson) TLS
            Require ldap-user coudot xguimard tchemineau
            Options +ExecCGI
        </Directory>

Il faut alors désactiver la protection du manager dans lemonldap-ng.ini pour la confier à Apache :

    [manager]
    ;protection = manager

## Protection basée sur LL::NG

Avant d'activer la protection du manager par LL::NG, il faut avoir configuré la méthode d'authentification sur le portail et véifier qu'on peut s'y connecter sans difficultés. Sinon, on risque de verrouiller l'accès au manager et ne plus pouvoir y accéder.

Par défaut, il existe un hôte virtuel défini dans la configuration. Si non, aller dans le manager et déclarer le manager comme un nouvel hôte virtuel, par exemple `manager.example.com`. Définir ensuite les règles d'accès. Aucun en-tête n'est nécessaire.

La règle par défaut est :

    $uid eq "dwho"

Il faut la changer pour correspondre au nouvel administrateur (ou utiliser une autre conditions telle l'appartenance aux groupes ou tout autre règle basée sur des variables de session).

Sauver la configuration et quitter le manager.

En retournant vers le manager, ce sera via LL::NG.

Activer la protection du manager, en éditant `lemonldap-ng.ini`:

    [manager]
    protection = manager

On peut également adapter le contrôle d'accès d'Apache :

        <Directory /usr/local/lemonldap-ng/htdocs/manager/>
            Order deny,allow
            Allow from all
            Options +ExecCGI
        </Directory>

Redémarrer Apache et tenter de se connecter au manager. On doit être redirigé vers le portail LL::NG.

On peut aussi ajouter le manager dans les applications du menu.

Si pour une quelconque raison le WebSSO ne fonctionne pas, pour accéder au manager, supprimer la protection dans `lemonldap-ng.ini`. Ajouter un contrôle d'accès Apache pour éviter les autres accès.