Projet

Général

Profil

SphynxGenerateurDeConf » Historique » Version 10

Emmanuel GARETTE, 12/02/2010 09:52

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
_credential_
12 8 Emmanuel GARETTE
13 8 Emmanuel GARETTE
Définition : certificat permettant d'établir une connexion ipsec.
14 8 Emmanuel GARETTE
15 9 Emmanuel GARETTE
_extremity_
16 8 Emmanuel GARETTE
17 8 Emmanuel GARETTE
Définition : adresse IP publique et éventuellement privée du node.
18 8 Emmanuel GARETTE
19 8 Emmanuel GARETTE
_vertex_
20 8 Emmanuel GARETTE
21 8 Emmanuel GARETTE
Définition : sous-réseau ou machine
22 8 Emmanuel GARETTE
23 8 Emmanuel GARETTE
Exemple : Scribe de l'établissement 1, pédago de l'établissement 2
24 8 Emmanuel GARETTE
25 8 Emmanuel GARETTE
Lié à : un node et un template
26 8 Emmanuel GARETTE
27 8 Emmanuel GARETTE
_template_
28 8 Emmanuel GARETTE
29 8 Emmanuel GARETTE
Définition : nom d'un sous-réseau ou machine générique existant dans 1-n node(s).
30 8 Emmanuel GARETTE
31 8 Emmanuel GARETTE
Exemple : admin, pédago, Scribe
32 8 Emmanuel GARETTE
33 8 Emmanuel GARETTE
_edge_
34 1 Gwenael Remond
35 1 Gwenael Remond
Définition : tunnel VPN entre 2 IP nodes et 2 credentials
36 1 Gwenael Remond
37 1 Gwenael Remond
_connect_
38 1 Gwenael Remond
39 1 Gwenael Remond
Définition : lien sécurisé entre 2 nodes
40 10 Emmanuel GARETTE
41 10 Emmanuel GARETTE
Lié à :
42 10 Emmanuel GARETTE
1-n credential(s)
43 10 Emmanuel GARETTE
1-n extremity
44 8 Emmanuel GARETTE
45 1 Gwenael Remond
h2. Modélisation 
46 1 Gwenael Remond
47 1 Gwenael Remond
_tunnel_ 
48 1 Gwenael Remond
49 1 Gwenael Remond
  mise en relation de deux _extrémités_ (sphynx-amon, amon-amon, amon-autre...)
50 1 Gwenael Remond
  de type 1-1
51 1 Gwenael Remond
52 1 Gwenael Remond
_réseau sécurisé_
53 1 Gwenael Remond
54 1 Gwenael Remond
55 1 Gwenael Remond
  un _réseau sécurisé_ est composé de _n_ tunnels
56 1 Gwenael Remond
57 6 Gwenael Remond
_maître_
58 1 Gwenael Remond
59 6 Gwenael Remond
  extrémité responsable du tunnel
60 6 Gwenael Remond
61 6 Gwenael Remond
_esclave_
62 6 Gwenael Remond
63 6 Gwenael Remond
  extrémité qui n'est pas responsable du tunnel
64 6 Gwenael Remond
65 1 Gwenael Remond
Entre les deux extrémités d'un tunnel, il y a forcément un _maître_ et un _esclave_
66 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).
67 1 Gwenael Remond
68 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_). 
69 6 Gwenael Remond
Un tunnel est de la responsabilité d'un seul maître (d'une seule extrémité). 
70 6 Gwenael Remond
Le maître connaît les esclaves mais les esclaves ne savent pas d'où vient le maître. 
71 1 Gwenael Remond
72 6 Gwenael Remond
*Donc le tunnel est indexé sur l'extrémité* maître, et L'ensemble des tunnels est une _diversité disjointe_.
73 6 Gwenael Remond
74 5 Gwenael Remond
h2. La génération des _configurations_
75 5 Gwenael Remond
76 1 Gwenael Remond
_configuration_
77 3 Gwenael Remond
78 7 Gwenael Remond
  base de données, fichier, etc, templatisée ou pas, 
79 7 Gwenael Remond
  à mettre sur une machine EOLE ou non 
80 7 Gwenael Remond
 (fichier cible identique à une base de données strongswan)
81 1 Gwenael Remond
82 1 Gwenael Remond
Les configurations doivent pouvoir être **aggrégées** (puisque sur un Amon par exemple il peut y avoir plusieurs tunnels)
83 1 Gwenael Remond
Une configuration finale sur une machine cible est constituée d'une aggrégation qui provient de diverses extrémités. 
84 3 Gwenael Remond
85 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)
86 1 Gwenael Remond
 
87 1 Gwenael Remond
h3. outils de génération des configurations
88 5 Gwenael Remond
89 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. 
90 3 Gwenael Remond
L'éditeur doit pouvoir manipuler des séries de paramètres-valeurs dynamiquement (comme dans ltsconfeditor par exemple)
91 3 Gwenael Remond
92 3 Gwenael Remond
h3. cohérence des configurations
93 3 Gwenael Remond
94 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
95 6 Gwenael Remond
et surtout aucune de type de cohérence d'intégrité fonctionnelle, ce qui est infaisable. 
96 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).