SphynxGenerateurDeConf » Historique » Version 8
Emmanuel GARETTE, 12/02/2010 09:23
| 1 | 1 | Gwenael Remond | h1. SphynxGenerateurDeConf |
|---|---|---|---|
| 2 | 1 | Gwenael Remond | |
| 3 | 8 | Emmanuel GARETTE | h2. Implémentation |
| 4 | 8 | Emmanuel GARETTE | |
| 5 | 8 | Emmanuel GARETTE | _node_ |
| 6 | 8 | Emmanuel GARETTE | |
| 7 | 8 | Emmanuel GARETTE | Définition : concentrateur VPN. |
| 8 | 8 | Emmanuel GARETTE | |
| 9 | 8 | Emmanuel GARETTE | Exemple : Etablissement 1, collectivité, Sphynx |
| 10 | 8 | Emmanuel GARETTE | |
| 11 | 8 | Emmanuel GARETTE | Lié à : |
| 12 | 8 | Emmanuel GARETTE | 1-n credential(s) |
| 13 | 8 | Emmanuel GARETTE | 1-n connect |
| 14 | 8 | Emmanuel GARETTE | |
| 15 | 8 | Emmanuel GARETTE | _credential_ |
| 16 | 8 | Emmanuel GARETTE | |
| 17 | 8 | Emmanuel GARETTE | Définition : certificat permettant d'établir une connexion ipsec. |
| 18 | 8 | Emmanuel GARETTE | |
| 19 | 8 | Emmanuel GARETTE | _connect_ |
| 20 | 8 | Emmanuel GARETTE | |
| 21 | 8 | Emmanuel GARETTE | Définition : adresse IP publique et éventuellement privée du node. |
| 22 | 8 | Emmanuel GARETTE | |
| 23 | 8 | Emmanuel GARETTE | _vertex_ |
| 24 | 8 | Emmanuel GARETTE | |
| 25 | 8 | Emmanuel GARETTE | Définition : sous-réseau ou machine |
| 26 | 8 | Emmanuel GARETTE | |
| 27 | 8 | Emmanuel GARETTE | Exemple : Scribe de l'établissement 1, pédago de l'établissement 2 |
| 28 | 8 | Emmanuel GARETTE | |
| 29 | 8 | Emmanuel GARETTE | Lié à : un node et un template |
| 30 | 8 | Emmanuel GARETTE | |
| 31 | 8 | Emmanuel GARETTE | _template_ |
| 32 | 8 | Emmanuel GARETTE | |
| 33 | 8 | Emmanuel GARETTE | Définition : nom d'un sous-réseau ou machine générique existant dans 1-n node(s). |
| 34 | 8 | Emmanuel GARETTE | |
| 35 | 8 | Emmanuel GARETTE | Exemple : admin, pédago, Scribe |
| 36 | 8 | Emmanuel GARETTE | |
| 37 | 8 | Emmanuel GARETTE | _edge_ |
| 38 | 8 | Emmanuel GARETTE | |
| 39 | 8 | Emmanuel GARETTE | Définition : tunnel VPN entre 2 IP nodes et 2 credentials |
| 40 | 8 | Emmanuel GARETTE | |
| 41 | 1 | Gwenael Remond | h2. Modélisation |
| 42 | 1 | Gwenael Remond | |
| 43 | 1 | Gwenael Remond | _tunnel_ |
| 44 | 1 | Gwenael Remond | |
| 45 | 1 | Gwenael Remond | mise en relation de deux _extrémités_ (sphynx-amon, amon-amon, amon-autre...) |
| 46 | 1 | Gwenael Remond | de type 1-1 |
| 47 | 1 | Gwenael Remond | |
| 48 | 1 | Gwenael Remond | _réseau sécurisé_ |
| 49 | 1 | Gwenael Remond | |
| 50 | 1 | Gwenael Remond | |
| 51 | 1 | Gwenael Remond | un _réseau sécurisé_ est composé de _n_ tunnels |
| 52 | 1 | Gwenael Remond | |
| 53 | 6 | Gwenael Remond | _maître_ |
| 54 | 1 | Gwenael Remond | |
| 55 | 6 | Gwenael Remond | extrémité responsable du tunnel |
| 56 | 6 | Gwenael Remond | |
| 57 | 6 | Gwenael Remond | _esclave_ |
| 58 | 6 | Gwenael Remond | |
| 59 | 6 | Gwenael Remond | extrémité qui n'est pas responsable du tunnel |
| 60 | 6 | Gwenael Remond | |
| 61 | 1 | Gwenael Remond | Entre les deux extrémités d'un tunnel, il y a forcément un _maître_ et un _esclave_ |
| 62 | 6 | Gwenael Remond | car la configuration générée doit dépendre d'une seule responsabilité donnée d'un côté (et pas des deux). |
| 63 | 1 | Gwenael Remond | |
| 64 | 6 | Gwenael Remond | La sortie doit ressembler à une base tagguée de manière à connaître à tout moment le responsable du tunnel (le _maître_). |
| 65 | 6 | Gwenael Remond | Un tunnel est de la responsabilité d'un seul maître (d'une seule extrémité). |
| 66 | 6 | Gwenael Remond | Le maître connaît les esclaves mais les esclaves ne savent pas d'où vient le maître. |
| 67 | 1 | Gwenael Remond | |
| 68 | 6 | Gwenael Remond | *Donc le tunnel est indexé sur l'extrémité* maître, et L'ensemble des tunnels est une _diversité disjointe_. |
| 69 | 6 | Gwenael Remond | |
| 70 | 5 | Gwenael Remond | h2. La génération des _configurations_ |
| 71 | 5 | Gwenael Remond | |
| 72 | 1 | Gwenael Remond | _configuration_ |
| 73 | 3 | Gwenael Remond | |
| 74 | 7 | Gwenael Remond | base de données, fichier, etc, templatisée ou pas, |
| 75 | 7 | Gwenael Remond | à mettre sur une machine EOLE ou non |
| 76 | 7 | Gwenael Remond | (fichier cible identique à une base de données strongswan) |
| 77 | 1 | Gwenael Remond | |
| 78 | 1 | Gwenael Remond | Les configurations doivent pouvoir être **aggrégées** (puisque sur un Amon par exemple il peut y avoir plusieurs tunnels) |
| 79 | 1 | Gwenael Remond | Une configuration finale sur une machine cible est constituée d'une aggrégation qui provient de diverses extrémités. |
| 80 | 3 | Gwenael Remond | |
| 81 | 6 | Gwenael Remond | Les configurations doivent pouvoir être **templatisées** de manière à être "instanciables", par exemple sur un EOLE, elles doivent pouvoir être générées directement sous un format compatible strongswan. (comme pour le lance.firewall non encore instancié dans Era par exemple) |
| 82 | 1 | Gwenael Remond | |
| 83 | 1 | Gwenael Remond | h3. outils de génération des configurations |
| 84 | 5 | Gwenael Remond | |
| 85 | 6 | Gwenael Remond | L'outil de génération doit pouvoir être lancé en local (_pas d'appli web_), en ligne de commande ou bien une interface graphique mais lancée uniquement en framebuffer. |
| 86 | 3 | Gwenael Remond | L'éditeur doit pouvoir manipuler des séries de paramètres-valeurs dynamiquement (comme dans ltsconfeditor par exemple) |
| 87 | 3 | Gwenael Remond | |
| 88 | 3 | Gwenael Remond | h3. cohérence des configurations |
| 89 | 3 | Gwenael Remond | |
| 90 | 4 | Gwenael Remond | Sur une machine cible, la seule vérification de cohérence est de type "ACID":http://fr.wikipedia.org/wiki/Transaction_informatique |
| 91 | 6 | Gwenael Remond | et surtout aucune de type de cohérence d'intégrité fonctionnelle, ce qui est infaisable. |
| 92 | 6 | Gwenael Remond | En clair, cela veut dire que la seule vérification à faire _in fine_ c'est que les tunnels ne soient pas identiques (plusieurs tunnels sur une même machine qui aient la même IP). |