documentations
This commit is contained in:
parent
4ea674a082
commit
da6cf63865
Binary file not shown.
After Width: | Height: | Size: 64 KiB |
|
@ -0,0 +1,248 @@
|
|||
% Copyright 2010 by Entr'ouvert www.entrouvert.com
|
||||
%
|
||||
% This file may be distributed and/or modified
|
||||
% under the GNU Public License v2
|
||||
|
||||
\documentclass{beamer}
|
||||
|
||||
% appearance:
|
||||
\usetheme{Warsaw}
|
||||
\usefonttheme[onlylarge]{structurebold}
|
||||
\setbeamerfont*{frametitle}{size=\normalsize,series=\bfseries}
|
||||
|
||||
% packages
|
||||
\usepackage{url}
|
||||
|
||||
% i18n/l10n
|
||||
\usepackage[french]{babel}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
|
||||
% Author, Title, etc.
|
||||
|
||||
\title[Prise en main d'UnivNautes]
|
||||
{%
|
||||
Le portail captif UnivNautes \\
|
||||
Prise en main%
|
||||
}
|
||||
|
||||
\author[Entr'ouvert]{Entr'ouvert --- Thomas~Noël}
|
||||
|
||||
\institute{}
|
||||
|
||||
\date{Formation UnivNautes --- 30 mars 2010}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{frame}
|
||||
\titlepage
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Table des matières}
|
||||
\tableofcontents
|
||||
\end{frame}
|
||||
|
||||
\section{Introduction}
|
||||
|
||||
\begin{frame}{Introduction}
|
||||
\begin{block}{}
|
||||
\textbf{UnivNautes} est une solution technologique de qualité répondant aux
|
||||
besoins du service \textbf{eduspot}. C'est une initiative de l'UNPIdF
|
||||
\url{http://www.unpidf.fr/}.
|
||||
\end{block}
|
||||
\begin{itemize}
|
||||
\item plateforme aisément déployable par n'importe quel établissement
|
||||
\item adaptable pour intégration dans les architectures et systèmes existants
|
||||
\item interfaces d'utilisation et de configuration standards, compatibles
|
||||
avec l'ambition nationale d'eduspot
|
||||
\item compatible avec les navigateurs du marché (HTML et CSS standards,
|
||||
cookies, javascript basique)
|
||||
\item logiciels en licences libres
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\section{Principes}
|
||||
|
||||
\subsection{Principes généraux d'un portail captif}
|
||||
|
||||
\begin{frame}{Principe d'un portail captif}
|
||||
\begin{center}
|
||||
\includegraphics{portail-captif.png}
|
||||
\end{center}
|
||||
{\small
|
||||
\begin{itemize}
|
||||
\item[1] -- première requête HTTP interceptée~; redirection vers une page
|
||||
de connexion
|
||||
\item[2] -- authentification de l'utilisateur
|
||||
\item[3] -- si l'authentification est réussie, le portail captif accepte
|
||||
les flux du couple adresse IP / adresse MAC
|
||||
\end{itemize}
|
||||
} % small
|
||||
\end{frame}
|
||||
|
||||
\subsection{Principes spécifiques dans UnivNautes}
|
||||
|
||||
\begin{frame}{Principes dans UnivNautes}
|
||||
\begin{block}{Page de connexion en HTTPS}
|
||||
{\small
|
||||
\begin{itemize}
|
||||
\item[1] On capte les flux HTTP (port 80).
|
||||
|
||||
\item[2] On renvoie une redirection vers le serveur HTTPS local. On indique
|
||||
au passage l'URL demandée initialement dans un paramètre
|
||||
\texttt{next\_url}. L'URL de redirection est donc de la forme :
|
||||
\url{https://spot.univ.fr/login?next\_url=http://www.abc.fr/}
|
||||
|
||||
\item[3] Le serveur HTTPS local renvoie la page de connexion demandée.
|
||||
\end{itemize}
|
||||
} % small
|
||||
\end{block}
|
||||
\begin{block}{Certificat HTTPS du portail captif}
|
||||
Pour éviter toute alerte sur le poste client, ce serveur HTTPS doit
|
||||
disposer d'un certificat valide.
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Principes dans UnivNautes}
|
||||
\begin{block}{L'authentification se fait en «SAML»}
|
||||
{\small
|
||||
\begin{itemize}
|
||||
\item[1] La page de connexion est une liste de fournisseurs d'identité
|
||||
(\textit{IdP}). L'utilisateur clique sur son fournisseur.
|
||||
|
||||
\item[2] Une page intermédiaire est présentée, uniquement présente pour
|
||||
effectuer un envoi POST des données à l'IdP choisi. L'envoi est automatique
|
||||
; l'utilisateur est donc redirigé vers son IdP.
|
||||
|
||||
\item[3] Au retour de l'IdP, l'utilisateur arrive sur une page de
|
||||
connexion qui présente quelques attributs reçus (\textit{display name}) et
|
||||
quelques paramètres de sa session (date de début, IP, adresse MAC).
|
||||
\end{itemize}
|
||||
}
|
||||
\end{block}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Principes dans UnivNautes}
|
||||
|
||||
\begin{block}{Métadonnées}
|
||||
La liste des fournisseurs à afficher est fournie par la fédération choisie,
|
||||
au travers d'un fichier présentant l'ensemble des métadonnées des IdP
|
||||
(principalement : entityId, URL et clé publique). Pour eduspot, il s'agit
|
||||
de la fédération Éducation-Recherche : \url{https://federation.renater.fr/}
|
||||
\end{block}
|
||||
|
||||
\begin{block}{Whitelist}
|
||||
Par ailleurs, le portail doit laisser les utilisateurs accéder à tous les
|
||||
fournisseurs listés. Il existe pour cela une \textit{whitelist} d'adresses
|
||||
IP cibles : \url{http://www.cru.fr/services/eduspot/whitelist}
|
||||
\end{block}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\section{Implémentation}
|
||||
|
||||
\begin{frame}{Implémentation}
|
||||
|
||||
\begin{block}{pfSense 2.0}
|
||||
\begin{itemize}
|
||||
\item Basé sur FreeBSD 8.1
|
||||
\item Centralise la configuration des différents composants liés à la
|
||||
gestion d'un pare-feu et des services de base réseau, y compris portail
|
||||
captif
|
||||
\item Interface de gestion web
|
||||
\item Ensemble des paramètres de configuration stocké au sein d'un fichier
|
||||
au format XML (\texttt{config.xml})
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
|
||||
\begin{block}{Services disponibles dans pfSense 2.0 (RC1)}
|
||||
filtrage et suivi IP et MAC (pf/ipfw), DHCP, DNS (forwarder), HTTP/HTTPS
|
||||
(lighttpd + fcgi), SNMP, syslog, NTP, VPNs, CARP, ... et bcp d'autres
|
||||
paquets, dont ceux de FreeBSD 8.1.
|
||||
\end{block}
|
||||
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Implémentation}
|
||||
\begin{block}{Authentic / authsaml2}
|
||||
\begin{itemize}
|
||||
\item \textbf{Authentic2} : serveur d'identité versatile, en Django. Propose des
|
||||
modules permettant de gérer les entités, dans notre cas les IdP de la
|
||||
fédération
|
||||
\item \textbf{authsaml2} : middleware d'authentification SAML pour Django.
|
||||
Utilise les informations indiquées dans Authentic2 pour savoir quels IdPs
|
||||
contacter puis accepter
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\begin{block}{LASSO}
|
||||
bibliothèque C certifiée conforme ID-FF, ID-WSF et SAML\\
|
||||
Utilisée par Authentic2/authsaml2 lors des dialogues SAML
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Implémentation}
|
||||
\begin{block}{pffedportal : la glue Django}
|
||||
\begin{itemize}
|
||||
\item il affichage des IdP sur la page de connexion
|
||||
\item il effectue l'authentification SAML via \textit{authsaml2}
|
||||
\item il lance la commandes pour ouvrir le portail captif
|
||||
(\texttt{cp\_allow}) (et \texttt{cp\_disconnect} lors
|
||||
d'une demande de déconnexion)
|
||||
\item il gère une session pour retenir les paramètres de connexion (date,
|
||||
displayname, IP, MAC, URL demandée)
|
||||
\item il affiche les paramètres de connexion sur la page d'accueil et/ou
|
||||
effectue les redirections consécutives
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
|
||||
\begin{block}{}
|
||||
Le design du portail captif est donc un ensemble de templates Django pour
|
||||
pffedportal + CSS, images et codes javascript.
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\section{Pour en savoir plus}
|
||||
|
||||
\begin{frame}{Pour en savoir plus}
|
||||
\begin{block}{Briques logicielles}
|
||||
\url{http://pfsense.org} \\
|
||||
\url{http://dev.entrouvert.org/projects/authentic} \\
|
||||
\url{http://lasso.entrouvert.org/} \\
|
||||
\url{http://dev.entrouvert.org/projects/univnautes}
|
||||
\end{block}
|
||||
\begin{block}{Autres lectures}
|
||||
\url{http://www.cru.fr/services/eduspot/index} \\
|
||||
\url{https://federation.renater.fr/} \\
|
||||
\url{http://en.wikipedia.org/wiki/SAML} \\
|
||||
\url{http://wiki.entrouvert.org/Univnautes}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\section{Travaux pratiques}
|
||||
|
||||
\subsection{Installation}
|
||||
|
||||
\begin{frame}{}
|
||||
\begin{block}{}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Configuration}
|
||||
|
||||
\begin{frame}{}
|
||||
\begin{block}{}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\subsection{Utilisation}
|
||||
|
||||
\begin{frame}{}
|
||||
\begin{block}{}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
%% parcours de la liste VABF
|
||||
|
||||
\end{document}
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Binary file not shown.
After Width: | Height: | Size: 97 KiB |
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
After Width: | Height: | Size: 7.9 KiB |
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
Reference in New Issue