Projet

Général

Profil

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).