doc update
|
@ -1,5 +1,5 @@
|
||||||
% UAuth: Portail captif dans le Cloud
|
|
||||||
% Configuration pfSense
|
% Configuration pfSense
|
||||||
|
% UAuth: Portail captif dans le Cloud
|
||||||
% Entr'ouvert SCOP -- http://www.entrouvert.com
|
% Entr'ouvert SCOP -- http://www.entrouvert.com
|
||||||
|
|
||||||
Ce document spécifie les étapes de configuration d'un portail captif pfSense
|
Ce document spécifie les étapes de configuration d'un portail captif pfSense
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
% Usage et personnalisation
|
||||||
|
% UAuth: Portail captif dans le Cloud
|
||||||
|
% Entr'ouvert SCOP -- http://www.entrouvert.com
|
||||||
|
|
||||||
|
Thème
|
||||||
|
=========
|
||||||
|
|
||||||
|
Il est possible de personnaliser la page d'accueil d'une organisation en
|
||||||
|
surchageant le templates et en ajoutant des feuilles des styles, images, etc.
|
||||||
|
|
||||||
|
Ces fichiers peuvent être chargés dans le compartiment *Theme* de l'interface
|
||||||
|
de gestion:
|
||||||
|
|
||||||
|
\ ![images/u-auth_management.png](images/u-auth_management.png)
|
||||||
|
|
||||||
|
Templates
|
||||||
|
---------
|
||||||
|
Seule la page d'accueil d'une organisation est personnalisable.
|
||||||
|
|
||||||
|
Cela peut être fait en chargeant un fichier template *base.html*. C'est un
|
||||||
|
fichier doit contenir des balises
|
||||||
|
Django(https://docs.djangoproject.com/en/dev/topics/templates/) définissant la
|
||||||
|
structure personnalisée de la page.
|
||||||
|
|
||||||
|
Il doit impérativement définir le block:
|
||||||
|
|
||||||
|
```html
|
||||||
|
{% block content %}
|
||||||
|
{% endblock %}
|
||||||
|
```
|
||||||
|
|
||||||
|
utilisé pour afficher la liste des fournisseurs d'identité et la formulaire de
|
||||||
|
connexion invité.
|
||||||
|
|
||||||
|
Feuilles de styles et les statics
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
Des feuilles de style peuvent être chargées par le fichier *base.html* défini
|
||||||
|
précedemment de façon suivante:
|
||||||
|
|
||||||
|
```html
|
||||||
|
{% load staticfiles %}
|
||||||
|
...
|
||||||
|
<head>
|
||||||
|
...
|
||||||
|
<link href="{% static "entrouvert/eo.css" %}" media="all" rel="stylesheet" type="text/css" />
|
||||||
|
...
|
||||||
|
</head>
|
||||||
|
```
|
||||||
|
|
||||||
|
Afin que le fichier de style personnalisé *eo.css* soit chargé, il doit être
|
||||||
|
préfixé par le *slug* de l'organisation dont le thème est modifié.
|
||||||
|
|
||||||
|
Si l'organisation est *psl*, le static doit être défini de façon suivante:
|
||||||
|
|
||||||
|
```html
|
||||||
|
{% static "psl/eo.css" %}
|
||||||
|
```
|
||||||
|
|
||||||
|
Les images peuvent être chargées au même endroit que les feuilles de style et utilisées de la même façon dans le template:
|
||||||
|
```html
|
||||||
|
<img src="{% static "psl/logo.jpg" %}" />
|
||||||
|
```
|
||||||
|
|
||||||
|
Un exemple de thème est fourni dans le paquet debian sous */usr/share/u-auth/theme-example*, dont le rendu est le suivant:
|
||||||
|
|
||||||
|
\ ![images/eo_theme.png](images/eo_theme.png)
|
||||||
|
|
||||||
|
|
||||||
|
Federations
|
||||||
|
===========
|
||||||
|
|
||||||
|
La liste des fournisseurs d'identité auprès desquels les utilisateurs peuvent
|
||||||
|
être authentifiés peut être définie en chargeant des fichiers .xml des
|
||||||
|
fédérations dans l'onglet *Fédérations* sur l'interface de gestion.
|
||||||
|
|
||||||
|
Les fournisseurs d'identité présents dans ces fichiers seront affichés sur la
|
||||||
|
page d'accueil.
|
||||||
|
|
||||||
|
|
||||||
|
Comptes locaux
|
||||||
|
==============
|
||||||
|
|
||||||
|
Des comptes locaux peuvent être définis dans l'interface de gestion afin de
|
||||||
|
permettre l'authentification sans utiliser un fournisseur d'identité.
|
||||||
|
|
||||||
|
Les comptes peuvent être créés un par un ou plusieurs à la fois.
|
||||||
|
|
||||||
|
\ ![images/create_users.png](images/create_users.png)
|
||||||
|
|
||||||
|
Le champ *mot de passe* peut être omis lors de la création du compte, il sera
|
||||||
|
auto-généré. Il peut ensuite être visualisé en cliquant sur le nom de l'utilisateur:
|
||||||
|
|
||||||
|
\ ![images/local_user_details.png](images/local_user_details.png)
|
||||||
|
|
||||||
|
Un compte utilisateur peut être desactivé à tout moment, soit une date
|
||||||
|
d'expiration peut être définie.
|
||||||
|
|
||||||
|
\ ![images/edit_local_account.png](images/edit_local_account.png)
|
||||||
|
|
||||||
|
|
||||||
|
Importer des comptes à partir d'un fichier
|
||||||
|
------------------------------------------
|
||||||
|
Les comptes locaux peuvent être également importé à partir d'un fichier *.csv*
|
||||||
|
|
||||||
|
\ ![images/import_users.png](images/import_users.png)
|
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 90 KiB |
After Width: | Height: | Size: 134 KiB |
After Width: | Height: | Size: 133 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 44 KiB |
|
@ -12,11 +12,11 @@ cat << EOT
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1 id="logo">
|
<h1 id="logo">
|
||||||
<a href="/"><img src="http://www.entrouvert.com/static/eo/img/logo.png" alt="Entr'ouvert"></a> Gestion d'identité SUPANN — Documentation</h1>
|
<a href="/"><img src="http://www.entrouvert.com/static/eo/img/logo.png" alt="Entr'ouvert"></a> U-Auth — Documentation</h1>
|
||||||
<dl class="doc-index">
|
<dl class="doc-index">
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
for MD in configuration-pfsense.md
|
for MD in install.md customize.md configuration-pfsense.md
|
||||||
do
|
do
|
||||||
F=`basename $MD .md`
|
F=`basename $MD .md`
|
||||||
TITLE=`head -1 $F.md | sed 's/.*-- //'`
|
TITLE=`head -1 $F.md | sed 's/.*-- //'`
|
||||||
|
|
|
@ -0,0 +1,134 @@
|
||||||
|
% Installation et configuration
|
||||||
|
% UAuth: Portail captif dans le Cloud
|
||||||
|
% Entr'ouvert SCOP -- http://www.entrouvert.com
|
||||||
|
|
||||||
|
Installation
|
||||||
|
============
|
||||||
|
|
||||||
|
U-Auth est fourni sous forme d'un paquet debian téléchargeable.
|
||||||
|
|
||||||
|
Pour l'installer il est nécessaire de rajouter le depot d'Entrouvert dans votre
|
||||||
|
gestionnaire de paquets:
|
||||||
|
<pre>
|
||||||
|
deb http://deb.entrouvert.org/ wheezy-testing main
|
||||||
|
</pre>
|
||||||
|
ainsi que rajouter la clé GPG:
|
||||||
|
<pre>
|
||||||
|
wget -O - http://deb.entrouvert.org/entrouvert.gpg | sudo apt-key add -
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Installer le paquet:
|
||||||
|
<pre>
|
||||||
|
sudo apt-get install u-auth
|
||||||
|
</pre>
|
||||||
|
\ ![images/uauth_install.png](images/uauth_install.png)
|
||||||
|
|
||||||
|
les paquets *freeradius* ainsi que *slapd* seront installés.
|
||||||
|
|
||||||
|
Lors de la premiere installation u-auth demande la configuration de l'annuaire LDAP:
|
||||||
|
|
||||||
|
\ ![images/ldap_config.png](images/ldap_config.png)
|
||||||
|
|
||||||
|
une base ainsi qu'un compte administrateur seront crées.
|
||||||
|
|
||||||
|
La configuration du serveur radius sera faite automatiquement afin qu'il puisse communiquer avec le serveur ldap.
|
||||||
|
|
||||||
|
Configuration du serveur web
|
||||||
|
============================
|
||||||
|
|
||||||
|
Le paquet fourni un exemple de fichier de configuration pour le serveur web
|
||||||
|
nginx qui se trouve dans */usr/share/doc/u-auth/nginx-example.conf*. Ce fichier
|
||||||
|
peut être utilisé en modifiant le nom du serveur ainsi que les certificats:
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
server_name u-auth.example.org
|
||||||
|
...
|
||||||
|
ssl_certificate /etc/ssl/u-auth.example.org.pem;
|
||||||
|
ssl_certificate_key /etc/ssl/u-auth.example.org.key;
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Parametrage de l'application
|
||||||
|
============================
|
||||||
|
|
||||||
|
La configuration de l'application se trouve dans le fichier
|
||||||
|
*/etc/u-auth/settings.py*.
|
||||||
|
|
||||||
|
Ce fichier contient, au format du langage Python, les parametres de connexion à
|
||||||
|
la base des données, nécessaire pour stocker les comptes locaux, les
|
||||||
|
identifiants de connexion à l'annuaire LDAP.
|
||||||
|
|
||||||
|
Base des données
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Le système de gestion des bases des données par défaut est sqlite.
|
||||||
|
|
||||||
|
```python
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': os.path.join(VAR_DIR, 'db.sqlite3'),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Un autre SGBD peut-être configuré en changeant les valeurs de *ENGINE* et
|
||||||
|
*NAME* ainsi qu'en rajoutant les paramètres de connexion:
|
||||||
|
|
||||||
|
```python
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||||
|
'NAME': 'db_name',
|
||||||
|
'USER': 'db_user',
|
||||||
|
'PASSWORD': 'db_user_password',
|
||||||
|
'HOST': ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Annuaire LDAP
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Afin que l'application puisse communiquer avec l'annuaire LDAP et écrire les
|
||||||
|
données utilisateur, un compte ayant le droit d'écriture dans l'arbre utilisé
|
||||||
|
par le serveur radius doit être défini. Par exemple:
|
||||||
|
```python
|
||||||
|
LDAP_CONF = {
|
||||||
|
'url': 'ldap://localhost',
|
||||||
|
'bind_dn': 'uid=admin,ou=people,dc=entrouvert,dc=org',
|
||||||
|
'options': {},
|
||||||
|
'bind_passwd': '[mot de passe défini lors du parametrage du serveur ldap]',
|
||||||
|
'dn': '[dn defini lors du parametrage du serveur ldap]'
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Important!!!
|
||||||
|
Après la manipulation du fichier */etc/u-auth/settings.py* l'application doit être redémarrée:
|
||||||
|
<pre>
|
||||||
|
sudo service u-auth restart
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
Outils de gestion des serveurs freeradius et slapd
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
Des outils de configuration et re-initialisation des serveurs freeradius et
|
||||||
|
slapd sont fournis dans l'application:
|
||||||
|
|
||||||
|
* reset-slapd
|
||||||
|
* setup-slapd
|
||||||
|
* setup-radius
|
||||||
|
|
||||||
|
Ils peuvent être executés avec la commande */usr/lib/u-auth/u-auth* suivie du nom de l'outil.
|
||||||
|
Par exemple:
|
||||||
|
|
||||||
|
```
|
||||||
|
/usr/lib/u-auth/u-auth reset-slapd
|
||||||
|
```
|
||||||
|
|
||||||
|
La page d'aide de l'outil est affichée en préfixant son nom par *help*:
|
||||||
|
```
|
||||||
|
/usr/lib/u-auth/u-auth help setup-slapd
|
||||||
|
```
|
||||||
|
|
||||||
|
|