Projet

Général

Profil

SphynxGenerateurDeConf » Historique » Version 11

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