Index par titre

Carte de France pour UnivNautes

Design : http://perso.entrouvert.org/~thomas/univnautes/

Aspects techniques

Installation d'un proxy local sur UnivNautes via modif de la config de lighty :

Note : lighttpd ne sait pas modifier le nom d'hôte interrogé, qui sera donc celui du portail captif ! (par exemple eduspot.univ-truc.fr). Sur A.B.C.D il faut donc un serveur HTTP pour n'importe quel nom :

# machine A.B.C.D /etc/apache2/site-enabled/000-default
<VirtualHost *:80>
        ServerAdmin webmaster@entrouvert.com

        DocumentRoot /var/www/tile

        ProxyPass /osm/ http://tile.openstreetmap.org/
        ProxyPass /mapquest/ http://otile1.mqcdn.com/tiles/1.0.0/map/
        ProxyPass /mapquest-sat/ http://otile1.mqcdn.com/tiles/1.0.0/sat/
        ProxyPass /mapbox/ http://a.tiles.mapbox.com/v3/thomasnoel.map-d79og8w2/
        ProxyPassMatch ^/cm-([0-9]*)/(.*\.png)$ http://a.tile.cloudmade.com/fb5875a3c0324ae2bf26e02b96ea7c41/$1/256/$2

        CacheRoot /var/cache/apache2/mod_disk_cache/tile-univnautes.entrouvert.com/
        CacheEnable disk /
        CacheDefaultExpire 84600
        CacheDirLength 2
        CacheDirLevels 3

        ErrorLog /var/log/apache2/default-proxy-map_error.log
        CustomLog /var/log/apache2/default-proxymap_access.log combined
        LogLevel warn
        ServerSignature Off
</VirtualHost>

Présents : Frederick Bigrat, Jean-Marc Liger, Mikaël Ates, Pierre Cros, Dominique Launay, Mehdi Hached, Olivier Salaün

Le projet à été baptisé Univnautes et la liste univnautes@listes.entrouvert.com sera la liste de messagerie du projet.

Présentations

Entr'ouvert

Entr'ouvert a presenté l'équipe intervenant sur le projet :

UNPIdF et partenaires

Frederick Bigrat a présenté l'UNPIdF et les partenaires impliqués dans le projet, en particulier les gens des projets Eduspot, Eduroam et le Siris. Chaque participants à la réunion a présenté son organisme/projet. Il y aura 6 ou 7 établissements partenaires supplémentaires dont le choix est en cours.
Olivier Salaün a présenté plus en détail le projet Eduspot, portail captif ayant pour SSID Eduspot et promouvant des règles communes pour tous ses membres en mettant l'accent sur la fédération d'identité.
Eduspot va suivre de très près le projet Univnautes : si celui-ci est jugé convaincant, la solution développée pourrait être retenue par Eduspot dans le cadre d'un déploiement universitaire large, voire au-delà. Olivier Salaün a d'ailleurs offert son aide sur les problématiques d'interopérabilité Lasso - Sibboleth.

Méthode de développement et de gestion de projet

Entr'ouvert utilise des méthodes de développement inspirés des méthodes agiles, itératives, qui valorisent les contacts fréquents et informels entre les différents partenaires.
Les réunions se tiendront à chaque fois qu'un des deux partenaires en exprimera le souhait et le compte-rendu des réunions se fera sur le wiki d'Entr'ouvert.

Présentation générale de la solution

Mikaël Ates a présenté la solution et ses 4 axes majeurs :

Points de vigilance

Communication

Le projet est stratégique pour l'UNPIdF et sera accompagné d'une campagne de communication conséquente. Entr'ouvert accompagnera, à son niveau, cet effort de communication et profitera de ses nombreux contacts dans l'univers du logiciel libre pour contribuer à sa notoriété. Il y aura en particulier une journée d'étude consacrée à la gestion d'identité organisée par le Comité Réseau Université le 24 janvier. Même si celle-ci ne figure pas officiellement dans le planning, Entr'ouvert devra avoir avancé suffisamment en terme d'interface pour pouvoir offrir quelque chose qui puisse être présenté à cette occasion.
Mikaël Ates et Jean-Marc Liger ont aussi évoqué l'éventualité d'une communication commune aux JRES, c'est certainement une piste intéressante.

Divers

Planning

Pour laisser un peu plus de temps pour les opérations de recettage début janvier, le planning a été revu comme suit :

À noter que la facturation ne peut être effectuée sur 2010. La première facture (accompte de 30%) sera donc envoyée à l'UNPIdF début janvier.

Prochaine réunion le mardi 7 décembre à 14H30 notamment avec les ingénieurs réseau des établissements partenaires où il sera question de l'intégration du portail captif dans des architectures où il y a déjà un contrôleur.


Présents :

Rappel du principe du portail captif

Présentation rapide des logiciels principaux employés :
Discussion sur les certificats nécessaires pour le portail captif et l'impact sur les métadonnées de fédération::

La discussion a porté sur l'utilisation d'un certificat commun à plusieurs portails captifs, au niveau des échanges de la fédération et au niveau de la connexion HTTPS (page de connexion au portail).

Il existe une PKI avec une AC racine universitaire/CNRS : chaque université dispose de ses propres certificats qui seront bien validés par les navigateurs du marché. Dans ce cas, le déploiement d'un portail eduspot nécessitera d'acquérir les certificats, de les configurer au sein du portail (partie HTTPS et SAML 2.0) puis de déclarer les métadonnées de son portail au sein de la fédération.

Entr'ouvert indique que si chaque portail est déclaré indépendamment au niveau de la fédération (i.e. un certificat par portail), cela permettra de mettre en oeuvre des profils SAML 2.0 (qui ne sont pas déployés à ce jour), notamment le Single Logout IdP initiated via SOAP -- à la condition que le portail soit directement accessible en SOAP (http/https) par les IdPs.

Entr'ouvert indique qu'en cas de certificat commun à plusieurs portails (utilisé pour la fédération), il serait possible de ne faire qu'une déclaration de métadonnées pour de multiples portails. Cela empêcherait, pour ces portails, le déploiement de profils SAML où l'IdP adresse directement les SP et les IdP n'auraient pas connaissance du portail faisant une requête d'authentification au travers des échanges (mais pourrait relever l'adresse IP). Cependant, ce mode de déploiement pourrait être intéressant pour des organismes souhaitant déployer un portail captif et n'étant pas familiers avec l'obtention de certificats et l'enregistrement de services auprès de la fédération. Il serait alors nécessaire qu'un organisme prennent en charge la distribution de la clé privée et du certificat aux organismes souhaitant déployer un portail dans cette configuration.

À l'issue de cette discussion, penchant vers l'usage de multiples certificats seulement, Phillipe Werle a proposé de discuter de cette question avec le groupe RSSI. Cette discussion sera ensuite portée sur les listes EDUSPOT et Univnautes.

Discussion sur les attributs d'identités

Les attributs d'identités sont envoyés de l'IdP au portail au sein de l'assertion d'authentification.

Il avait été discuté lors de la précédente réunion les points suivants :

Cela a fait l'objet d'une discussion avec Olivier Salaün :

Entr'ouvert précise les points suivants :

La décision de contrôle d'accès peut notamment avoir une portée qui dépasse la simple autorisation d'accès au réseau. Elle pourrait notamment porter sur la limitation de la bande passante ou les services autorisés.

Il est donc nécessaire dans un premier temps de définir ces décisions (les usages) et les attributs entrant dans ces décisions (noms/valeurs). Une discussion conjointe Unvinautes et EDUSPOT à ce sujet est nécessaire.

Traçabilité, logs, législation

Entr'ouvert rappelle que le nameID permet d'obtenir l'identité réelle (nom, prénom, établissement, etc.) auprès de l'IdP. L'IdP doit gérer l'enregistrement des assertions d'authentification délivrées. Le nameID, même transient, est un identifiant unique délivré par l'IdP et associé au compte informatique d'un usager. Il n'existe pas de meilleur identifiant délivré par l'IdP tel que pourrait l'être un uid ou une adresse mail. (Le nameID est une valeur aléatoire prise dans un espace grand.)

Philippe Werle, souligne le fait qu'il est nécessaire pour des questions de législation sur les opérateurs que le portail puisse enregistrer les informations suivantes : nom, prénom, organisation, identifiant, adresse IP, adresse MAC le cas échéant, date et heure de connexion, et cela dès l'ouverture du service et non pas au travers d'une opération a posteriori.

Il est donc nécessaire de valider le prérequis légal de traçabilité et les attributs requis (nom, prénom, organisation...) et notamment ceux à faire redescendre dans l'assertion. Une discussion conjointe Unvinautes et EDUSPOT à ce sujet est nécessaire.

Démonstration de l'exploitation du portail, présentation des interfaces::

Supervision

Les efforts vont être concentrés sur l'extension du serveur SNMP déjà intégré à pfSense. Ainsi le portail fournira un maximum d'information sur son état via ce protocole. Le portail intègre par ailleurs de nombreux outils qui permettent de le superviser (notamment des graphes de suivi type rrd) et de faire des diagnostics.

Interfaces de connexion

Philippe Werle indique que la page de connexion doit préciser que « se connecter implique acceptation des CGU (disponibles en ligne) » .

Une discussion conjointe Unvinautes et EDUSPOT sur les textes apparaissant par défaut sur les interfaces est nécessaire.

Interfaces d'accueil (après succès de la connexion)::

Frédérick Bigrat demande que le clic sur l'URL demandée au départ s'ouvre dans un nouvel onglet.

Virtualisation

La solution est testée chez Entr'ouvert sur des machines en KVM (base Linux Debian). FreeBSD est connu pour fonctionner sur VMWare et VirtualBox, qui seront les solutions utilisées par les sites de test / pré-déploiement.

En terme de performance, il est possible que FreeBSD ne puisse pas proposer dès maintenant les mêmes qualités que d'autres OS, notamment pour tout ce qui est I/O. Mais cela ne gênera pas les tests.

IPv6

Entr'ouvert souligne les soucis que pose IPv6, liés principalement au fait que le portail captif de pfSense est fortement lié à IPv4, mais aussi que les machines IPv6 sont en général dual IPv4/IPv6 et enfin que le protocole IPv6 a été conçu dans une optique «une IP publique par machine» qui peut encore poser des soucis de changement de pratique de sécurité.

Entr'ouvert émet à ce jour des réserves sur l'intégration d'IPv6 dans la solution, notamment au regard d'un déploiement en pratique d'IPv6.

Redondance

Le protocole CARP intégré à FreeBSD est géré par pfSense : il sera la solution technologique pour gérer la redondance (fail-over)

Performances

Frederick interroge Entr'ouvert sur les performances du portail. Entr'ouvert n'a pas encore mené de tests de charge (NB : ils seront fait prochainement). Cependant, les briques logicielles impliquées sont performantes : FreeBSD est un excellent noyau réseau, Lasso est une des implémentation les plus performantes dans le traitement des flux SAML 2.0, la partie Python/Django est gérée via lighttpd en FastCGI.

Logs

Entr'ouvert indique que les logs seront stockés localement et/ou exportés (syslog).

Ergononomie & infographie

Entr'ouvert demande à être mis en contact le plus tôt possible avec le(s) prestataire(s) en charge des recommendations sur l'ergonomie, le design, l'infographie, etc.

Entr'ouvert évoque une version pour mobile (i.e. petits écrans type iPhone/Android) : sera étudiée dans un autre projet.

Démonstration de l'installation depuis une clé USB

Livraison

EO explique qu'un soucis technique dans la production d'une image ISO est survenu récemment (le 4 janvier matin) et remettra les livrables au plus tard en fin de semaine.


Frederick a présenté globalement le projet et insisté sur la différentiation entre Eduspot et Eduroam. Entr'ouvert a ensuite exposé les principes techniques généraux et les briques logicielles retenues.

Transparents présentés par EO

2010120-univnautes.odp - présentés par Pierre Cros

Partenaires du projet

8 établissements sont partenaires du projet :

4 établissements sont retenus comme bétâ-testeurs pour déboguer les aspects opérationnels majeurs de la première version qui sortira le 4 janvier, avant de la soumettre aux autres partenaires :

Méthodes de gestion de projet / développement

Entr'ouvert fonctionne avec des méthodes itératives et met donc les partenaires à contribution afin que le projet colle le plus possible à leurs besoins réels.
Chaque partenaire est libre de se créer un compte sur le Wiki d'Entr'ouvert afin d'accéder aux pages du projet : http://wiki.entrouvert.org/Univnautes
Outre ce wiki, le projet existe dans un logiciel de suivi de projet (redmine) qui peut-être utilisé pour suivre les développements, rapporter des bugs, etc : https://dev.entrouvert.org/projects/portail-captif (la création de compte sur le Redmine doit être demandée à Entr'ouvert à l'adresse <<MailTo(univnautes AT entrouvert DOT NOSPAM com)>>)

Entr'ouvert souhaite multiplier autant que faire se peut les contacts rapides et informels. La liste de discussion du projet, vecteur privilégié de ces échanges, est unpidf-univnautes@listes.univ-paris1.fr

Rappel sur l'architecture

Supervision des contrôleur et du portail

Échange d'attributs

Pages de connexion et d'accueil

À faire par Entr'ouvert

À faire par Frédérick

Divers

Planning

Prochaine réunion le 12 janvier à 9H30 dans la même salle.


L'image iso a été livrée par Entr'ouvert, testée par les beta-testeurs et peut maintenant être diffusée auprès des autres partenaires pour qu'ils l'utilisent également. Entr'ouvert a fait une démonstration de l'installation et du fonctionnement du portail captif.

Questions et réponses

Attributs pour la traçabilité et pour l'autorisation d'accès

Si le choix est fait par CRU/Renater/Eduspot de fonder une politique d'autorisation d'accès sur des attributs, il faut s'entendre sur ces derniers. Une discussion interne sera menée par les différents partenaires avec le CRU. La combinaison eduPersoPrincipalName + CN + email semble intéressante. eduPersonEntitlement pourrait aussi être utilisé pour l'autorisation. Mais la discussion doit s'engager pour vérifier en particulier si Eduspot : * Doit connaître l'identité complète de la personne (c'est vraisemblable, il faut pouvoir identifier la personne pendant 1 an...) ; * Souhaite laisser la politique d'accès à la discrétion des universités hôtes ou faire en sorte que cette politique soit homogène d'une université à l'autre ; * Savoir quel type de population Eduspot souhaite autoriser.

Entr'ouvert a montré que la solution est déjà techniquement capable de gérer les attributs pour la traçabilité et pour la gestion des accès.

Supervision

pfSense propose une interface de supervision (examen des logs, graphes rrd, etc) mais permet surtout de communiquer en SNMP (Entr'ouvert doit vérifier si la V3 est supportée) dans les deux sens (y compris trap).

Réponse du 13 janvier : seul SNMP V1 est supporté par le serveur SNMP installé sur pfSense (bsnmp). Cependant on pourra ajouter des règles sur le firewall local pour limiter l'accès SNMP à certaines IP/Mac uniquement.

Problèmes rencontrés

ToDo Entr'ouvert

Divers

Planning

Prochaine réunion le 28 janvier à 14H, même salle (ou une plus grande :) )


Chaque établissement partenaire a listé, grâce au document de recette, les problèmes rencontrés lors de l'installation et de l'utilisation de la version de test. Il en ressort les points suivants :

Attributs

Benoît a proposé au CRU que le SP sélectionne ses clients grâce au eduPersonAffiliation, et que l'IdP choisisse les catégories d'utilisateurs qu'il autorise ou non grâce à l'attribut eduPersonEntitlement.
Réponse provisoire de eduspot : on ne filtre pas. Toute personne capable de s'identifier reçoit un accès.
Cependant, il faut pouvoir bloquer une personne instantanément au niveau du portail. Il faut disposer d'un système de blacklist (locale et/ou générale). On retient le eduPersonPrincipalName comme attribut pour ce faire, et on le fait apparaître dans les logs.
La question devra être posée à eduspot de savoir si on récupère le display name pour l'afficher à l'utilisateur (montrer à l'utilisateur qu'il est connu peut-être un élément d'une politique de sécurité).

ToDo Entr'ouvert

Thomas Noël a présenté la dernière version de la solution et les demandes suivantes ont été formulées :

Divers

Prochaine réunion mardi 15 après-midi (heure exacte et lieu à confirmer).


Question en attente

Est-ce qu'on garde le SSID eduspot ou est-ce qu'on le fait évoluer vers eduspot-nom-de-l-univ ? La question doit être posée à Renater. On peut garder eduspot et avoir à côté un SSID nom-de-l-univ qui renvoie vers la même solution. Mais pour les établissements mitoyens ça ne permet pas de faire la différence.

Problèmes rapportés à traiter

Carte de France

Entr'ouvert a présenté le nouvel écran de connexion d'univnautes (à partir de la prochaine version disponible deuxième quinzaine de janvier). Il se base sur une carte de France des IdP de la fédération Renater et permet de multiplier les modes d'accès (voix, clic sur la carte ou dans la liste, recherche textuelle) à l'IdP de son université d'orignie. L'interface est pensée pour fonctionner avec les appareils mobiles. Thomas va envoyer l'URL de la maquette sur la liste afin d'avoir des premiers retours/remarques/critiques.

Fonctionnalités à développer en 2013

Entr'ouvert fait un certain nombre de propositions suite aux besoin exprimés par les différents universités utilisatrices.

IdP local

Il faudrait augmenter les capacité de l'IdP local pour lui permettre de :

Plutôt que de continuer à développer cet IdP local un peu restrictif pour lequel les besoins vont croissant, Entr'ouvert recommande l'installation d'un véritable IdP intégré à la solution et qui servira de base pour le POC (Proof of concept) IdP Cloud.

POC IdP Cloud

Entr'ouvert propose, sous forme de démonstrateur, la mise à disposition d'un fournisseur d'identité multi-protocole (SAML,OpenId, Google, Facebook...) dans le Cloud ou hébergé par les universités qui le souhaitent. Ça se décompose comme suit :

POC système de contrôle d'accès

Entr'ouvert propose, sous forme de démonstrateur, la mise à disposition d'un environnement de fédération d'identité, qui facilite le travail des administrateurs, sécurise l'accès aux applications et permet une granularité très fine. Il se décomposerait comme suit :

Divers


Expériences utilisateurs et problèmes rencontrés

Statistiques et débuggage

Comment tester la connexion à l''IdP d'une université particulière dans un autre établissement ? Il faur faire remonter les infos aux administrateurs Shibboleth de chaque établissement qui doivent regarder dans les logs univnautes, dans les logs Shibboleth.
On peut faire une page pour que les utilisateurs puissent rapporter les problèmes constatés (lister les problèmes types sur la page pour faciliter la saisie), permettre la configuration dans l'interface d'admin de l'adresse mail à laquelle le message est envoyé dans l'interface admin. Évolution chiffrée par Entr'ouvert à 3 jours de travail.

Il faudrait aussi logguer le passage dans la white liste non authentifié et comparer avec les connexions réussies pour pouvoir produire un taux de réussite. Cela permettrait d'avoir pour chaque serveur le pourcentage de retour et le pourcentage d'accès ouvert. Regarder ensuite si on met ça dans les logs de pfsense pour analyse ou si on délègue ça à un analyseur de log ou encore si on fait ça nous même. Initier une discussion là-dessus au sein de la liste quand on saura ce qu'il est possible de faire.

Ce qui peut être fait : logguer les "demandes de connexion", au moment où l'utilisateur clique sur le lien qui envoie vers la redirection POST vers sont IdP.

On a déjà les logs de succès d'une connexion. On pourrait donc avoir un analyseur qui fasse le différentiel entre les demande de connexions et les connexions réussies, et dise combien de demandes semblent avoir échouées (sans savoir pourquoi, cependant, car l'IdP ne dira rien). Évolution chiffrée par Entr'ouvert à 2 jours de travail.

Développement en cours

Difficultés

Beaucoup de problèmes liés à des mises à jour concomittentes : Python 2.7, pfsense 2.02, Freebsd 8.3, difficile à suivre.

Intégration de la délégation de la gestion des comptes IdP

Prévu pour début juin.
On va développer une interface à part pour la gestion de la délégation de compte. Identification pourrait se faire via la fédération (on va utiliser la technologie qui est déjà intégrée au produit). Une possibilité d'implémenter ça : si un utilisateur se loggue sur l'IdP avec tel attribut, je l'autorise à créer des comptes invités (l'attribut EduPersonEntitlement fera l'affaire). Chaque tétablissement pourra personnaliser cet attribut dans l'interface d'administration.

La durée de validité des comptes invités est fixée par défaut pour les gestionnaires habilités à créer ces comptes. S'il faut un compte qui dure plus de temps c'est l'admin qui s'en occupe.

L'intérêt d'avoir un IdP séparé a été soulevé, pour des raisons de perf, pour la maintenabilité et l'autonomie par rapport à pfSense. Mais Thomas a rappelé qu'on pouvait mettre une machine avec seulement l'Idp local activé (sans le reste d'univnautes).

Discovery service

Prévu pour la mi-juin
La question de l'hébergement du service n'est pas encore tranchée. Mais si le serveur est HS, il faut de toute façon que ça continue à marcher.

Formation

La 1/2 journée de formation restante aura lieu en octobre dans le cadre du process de formation UNR.

Évolution de l'interface de connexion

Frédérick a proposé l'idée d'avoir une carte de France permettant de cliquer sur les régions, puis sur son université. Mais on a pas l'info géographique dans les metadata.
Ce problème de localisation des IdP devrait être remonté à Renater. Attention toutefois parce que même si on a ces coordonnées on va pas mettre un serveur de carte sur univnautes et l'utilisateur n'est pas connecté... ce qui empêche l'utilisation de services comme Open Street Map our Googlemaps.

La prochaine réunion est fixée au 28 juin après-midi.


Notes pour la création des ISO

Bases de la construction

Mode d'emploi de base : http://devwiki.pfsense.org/DevelopersBootStrapAndDevIso

Il faut réussir un premier build_iso.sh avant de continuer les adaptations...

Remarques :

Installation des ports

Aller dans /usr/ports et installer les paquets nécessaires à univnautes (voir liste ci dessous)

Installation du port lasso spécifique à UnivNautes (lasso pre-2.4)

Voir README.txt dans le dépôt (source:freebsd-ports/lasso/)

Création d'ISO univnautes

Source : /usr/home/pfsense/tools/builder_scripts/build_iso.sh

Chercher l'installation de lua et ajouter les paquets nécessaires à univnautes

--- a/builder_scripts/build_iso.sh
+++ b/builder_scripts/build_iso.sh
@@ -142,6 +142,14 @@ rm -f $PFSPKGFILE
 (pkg_info | grep bsdinstaller) > $PFSPKGFILE
 (pkg_info | grep grub) >> $PFSPKGFILE
 (pkg_info | grep lua) >> $PFSPKGFILE
+# univnautes
+(pkg_info | grep ^bash) >> $PFSPKGFILE
+(pkg_info | grep ^python2) >> $PFSPKGFILE
+(pkg_info | grep sqlite3) >> $PFSPKGFILE
+(pkg_info | grep ^openssl) >> $PFSPKGFILE
+(pkg_info | grep ^xmlsec1) >> $PFSPKGFILE
+(pkg_info | grep ^wget) >> $PFSPKGFILE
+(pkg_info | grep ^lasso) >> $PFSPKGFILE
+(pkg_info | grep ^bsnmp-ucd) >> $PFSPKGFILE
 set -e

Puis ajouter la construction et l'ajout du virtualenv (à écrire)

Création d'images pour upgrades

à écrire


Généralités

Documentation d'utilisation

La documentation d'utililisation de l'application est en ligne : http://doc.entrouvert.org/univnautes/stable/

Autres documentations

Comptes-rendus de réunion