lemonldap-ng/po-doc/fr/pages/documentation/current/managerprotection.html
Xavier Guimard 43fbe42b7e Update doc
2017-02-22 12:41:23 +00:00

143 lines
8.1 KiB
HTML

<!DOCTYPE html>
<html lang="fr" dir="ltr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8" />
<title>documentation:2.0:managerprotection</title><!-- //if:usedebianlibs
<link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else --><!-- //endif -->
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,managerprotection"/>
<link rel="search" type="application/opensearchdescription+xml" href="lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="managerprotection.html"/>
<link rel="contents" href="managerprotection.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="lib/exe/css.php.t.bootstrap3.css"/>
<link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0';var JSINFO = {"id":"documentation:2.0:managerprotection","namespace":"documentation:2.0"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="lib/exe/js.php.t.bootstrap3.js"></script><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script><!-- //endif --><!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/lib/scripts/jquery-ui.min.js"></script>
//else -->
<script type="text/javascript" src="/lib/scripts/jquery-ui.js"></script><!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<h1 class="sectionedit1" id="manager_protection">Protection du manager</h1>
<div class="level1">
<p>
Lorsqu'on installe <abbr title="LemonLDAP::NG">LL::NG</abbr>, le manager n'est accessible que via le compte de démonstration <code>dwho</code>. Ce document explique comment changer ce comportement par défaut pour protéger le manager avec d'autres règles.
</p>
</div><!-- EDIT1 SECTION "Manager protection" [1-215] -->
<h2 class="sectionedit2" id="apache_based_protection">Protection basée sur Apache</h2>
<div class="level2">
<div class="notetip">Apache based protection allow one to be independent from WebSSO, so Manager will always be reachable even if WebSSO configuration is corrupted.
</div>
<p>
Cette configuration peut être changée dans <code>etc/manager-apache2.conf</code>, par exemple pour restreindre les adresses <abbr title="Internet Protocol">IP</abbr> autorisées à accéder au manager :
</p>
<pre class="code file apache"> &lt;<span class="kw3">Directory</span> /usr/local/lemonldap-ng/htdocs/manager/&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Deny</span> from <span class="kw2">all</span>
<span class="kw1">Allow</span> from 127.0.0.0/<span class="nu0">8</span> 192.168.100.0/<span class="nu0">32</span>
<span class="kw1">Options</span> +ExecCGI
&lt;/<span class="kw3">Directory</span>&gt;</pre>
<p>
Il est souvent souhaitable d'utiliser un module d'authentification Apache, tel par exemple le <a href="http://httpd.apache.org/docs/current/mod/mod_authnz_ldap.html" class="urlextern" title="http://httpd.apache.org/docs/current/mod/mod_authnz_ldap.html" rel="nofollow">module d'authentification LDAP</a> :
</p>
<pre class="code file apache"> &lt;<span class="kw3">Directory</span> /usr/local/lemonldap-ng/htdocs/manager/&gt;
<span class="kw1">AuthzLDAPAuthoritative</span> <span class="kw2">On</span>
<span class="kw1">AuthName</span> <span class="st0">"LL::NG Manager"</span>
<span class="kw1">AuthType</span> Basic
<span class="kw1">AuthBasicProvider</span> ldap
<span class="kw1">AuthLDAPBindDN</span> <span class="st0">"ou=websso,ou=applications,dc=example,dc=com"</span>
<span class="kw1">AuthLDAPBindPassword</span> <span class="st0">"secret"</span>
<span class="kw1">AuthLDAPURL</span> ldap://localhost:<span class="nu0">389</span>/ou=users,dc=example,dc=com???(objectClass=inetOrgPerson) TLS
<span class="kw1">Require</span> ldap-<span class="kw1">user</span> coudot xguimard tchemineau
<span class="kw1">Options</span> +ExecCGI
&lt;/<span class="kw3">Directory</span>&gt;</pre>
<div class="noteimportant">Il faut alors désactiver la protection du manager dans lemonldap-ng.ini pour la confier à Apache :
<pre class="code file ini"><span class="re0"><span class="br0">[</span>manager<span class="br0">]</span></span>
<span class="co0">;protection = manager</span></pre>
</div>
</div><!-- EDIT2 SECTION "Apache based protection" [216-1609] -->
<h2 class="sectionedit3" id="llng_based_protection">Protection basée sur LL::NG</h2>
<div class="level2">
<div class="notewarning">Avant d'activer la protection du manager par <abbr title="LemonLDAP::NG">LL::NG</abbr>, 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.
</div>
<p>
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 <a href="configvhost.html#lemonldapng_configuration" class="wikilink1" title="documentation:2.0:configvhost">hôte virtuel</a>, par exemple <code>manager.example.com</code>. Définir ensuite les règles d'accès. Aucun en-tête n'est nécessaire.
</p>
<p>
La règle par défaut est :
</p>
<pre class="code perl"><span class="re0">$uid</span> <span class="kw1">eq</span> <span class="st0">"dwho"</span></pre>
<p>
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).
</p>
<p>
Sauver la configuration et quitter le manager.
</p>
<div class="notetip">En retournant vers le manager, ce sera via <abbr title="LemonLDAP::NG">LL::NG</abbr>.
</div>
<p>
Activer la protection du manager, en éditant <code>lemonldap-ng.ini</code>:
</p>
<pre class="code file ini"><span class="re0"><span class="br0">[</span>manager<span class="br0">]</span></span>
<span class="re1">protection</span> <span class="sy0">=</span><span class="re2"> manager</span></pre>
<p>
On peut également adapter le contrôle d'accès d'Apache :
</p>
<pre class="code file apache"> &lt;<span class="kw3">Directory</span> /usr/local/lemonldap-ng/htdocs/manager/&gt;
<span class="kw1">Order</span> <span class="kw1">deny</span>,<span class="kw1">allow</span>
<span class="kw1">Allow</span> from <span class="kw2">all</span>
<span class="kw1">Options</span> +ExecCGI
&lt;/<span class="kw3">Directory</span>&gt;</pre>
<p>
Redémarrer Apache et tenter de se connecter au manager. On doit être redirigé vers le portail <abbr title="LemonLDAP::NG">LL::NG</abbr>.
</p>
<p>
On peut aussi ajouter le manager dans les <a href="portalmenu.html#categories_and_applications" class="wikilink1" title="documentation:2.0:portalmenu">applications du menu</a>.
</p>
<div class="notetip">Si pour une quelconque raison le WebSSO ne fonctionne pas, pour accéder au manager, supprimer la protection dans <code>lemonldap-ng.ini</code>. Ajouter un contrôle d'accès Apache pour éviter les autres accès.
</div>
</div><!-- EDIT3 SECTION "LL::NG based protection" [1610-] -->
</div>
</body>
</html>