27
Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications •Développement d’une application automate permettant d’effectuer des requêtes SQL •Mise en place d’une maquette de réseau privé virtuel Maître de stage: J.L. VANALDERWELT Tuteur : Gisèle LEBLONG Jérôme TENEUR Europroductique Du 07/04/08 Au 13/06/08

Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

Embed Size (px)

Citation preview

Page 1: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

•Développement d’une application automate permettant d’effectuer des requêtes SQL •Mise en place d’une maquette de réseau privé virtuel

Maître de stage: J.L. VANALDERWELT

Tuteur : Gisèle LEBLONG

Jérôme TENEUR Europroductique

Du 07/04/08 Au 13/06/08

Page 2: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

2 Rapport de stage - EUROPRODUCTIQUE

REMERCIEMENTS

M. Jean Luc VANALDERWELT

(Maître de stage)

Mme Gisèle LEBLONG

(Tuteur de stage)

Toute l’équipe de travail d’EUROPRODUCTIQUE

Page 3: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

3 Rapport de stage - EUROPRODUCTIQUE

SOMMAIRE

INTRODUCTION .......................................................................................................................................................... 4

PRESENTATION DE L’ENTREPRISE ................................................................................................................................ 5

CARTE D’IDENTITE DE L’ENTREPRISE........................................................................................................................................... 5 DOMAINES D’ACTIVITÉS .......................................................................................................................................................... 5 GESTION DE PROJETS .............................................................................................................................................................. 6 EXEMPLES DE REALISATIONS .................................................................................................................................................... 7 CONDITIONS DE TRAVAIL ......................................................................................................................................................... 7

LES ATTENTES DE L’ENTREPRISE .................................................................................................................................. 8

REQUETES A UN SERVEUR SQL ................................................................................................................................................. 8 LIAISON VPN ....................................................................................................................................................................... 9

APPROCHE ET ORGANISATION DES SUJETS ............................................................................................................... 10

APPROCHE DU SUJET ORIENTE PROGRAMMATION ....................................................................................................................... 10 APPROCHE DU SUJET VPN ..................................................................................................................................................... 11

LE DEVELOPPEMENT D’UN PROGRAMME AUTOMATE .............................................................................................. 12

PRINCIPES DE FONCTIONNEMENT D’UNE COMMUNICATION CLIENT-SERVEUR ................................................................................... 12 PRESENTATION DU PROGRAMME ............................................................................................................................................ 12 DIFFICULTES RENCONTREES ................................................................................................................................................... 13

MISE EN PLACE D’UNE SOLUTION VPN ...................................................................................................................... 14

PROBLEMATIQUE ................................................................................................................................................................ 14 QUELLE SOLUTION ? ............................................................................................................................................................ 15 DIFFICULTES RENCONTREES ................................................................................................................................................... 16

EN DEHORS DES SUJETS DE STAGE ............................................................................................................................ 17

CONCLUSION ............................................................................................................................................................ 19

LEXIQUE ................................................................................................................................................................... 20

ANNEXE 1 – DIAGRAMME DE GANTT ........................................................................................................................ 21

ANNEXE 2 - FONCTIONNEMENT DU PROGRAMME .................................................................................................... 22

ANNEXE 3 - UTILISATION D’UNE PROCEDURE STOCKEE ............................................................................................. 24

ANNEXE 4 - FONCTIONNEMENT D’IPSEC ................................................................................................................... 25

ANNEXE 5 – SCHEMA D’APPLICATION D’IPSEC .......................................................................................................... 27

Page 4: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

4 Rapport de stage - EUROPRODUCTIQUE

INTRODUCTION

J’ai effectué mon stage de fin d’étude (10 semaines) dans la société d’ingénierie industrielle EUROPRODUCTIQUE. Cette entreprise a pour vocation de développer des applications pour l’industrie. Il s’agit le plus souvent de programmation d’automates, d’outils de production, ou de logiciels de supervision. Les applications industrielles s’appuient beaucoup sur les réseaux, notamment pour les applications de supervision, et le traitement de chaînes de production. L’entreprise exprime les besoins suivants (qui rentreront dans le cadre de mon stage) :

1. la programmation d’un outil pour automate permettant d’effectuer des requêtes à une base de données

2. la mise en place d’une maquette de réseau privé virtuel, permettant la télémaintenance de manière sécurisée.

Il y a donc deux sujets de stage distincts, l’un est orienté programmation et le second réseau. Après une présentation de l’entreprise je vais donc décrire les besoins qu’elle exprime et la manière dont je vais y répondre. Ces deux sujets seront ensuite détaillés séparément, avec à chaque fois un point reprenant les besoins et la problématique, puis la solution apportée, et enfin une explication du fonctionnement.

NB : Tous les acronymes utilisés tout au long du rapport sont détaillés dans le lexique p20

Page 5: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

5 Rapport de stage - EUROPRODUCTIQUE

PRESENTATION DE L’ENTREPRISE

CARTE D’IDENTITE DE L’ENTREPRISE

DOMAINES D’ACTIVITÉS

Direction : Mr Jean-Luc VANALDERWELT (gérant) Effectif : 5 salariés Date de création : 1995 Etablissement 1 Forme juridique : SARL Capital : 16 000 euros CA net (2007) : 824 000 € Activités : Ingénierie, réalisation, formation en Automatismes industriels. 10 Rue de la Distillerie 59650 VILLENEUVE D ASCQ +33 (0)3 20 34 08 20

EUROPRODUCTIQUE

Page 6: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

6 Rapport de stage - EUROPRODUCTIQUE

GESTION DE PROJETS

Europroductique est en mesure de gérer de bout-en-bout la réalisation de projets, depuis l’étude de faisabilité à l’installation sur site des maquettes, en passant par l’élaboration du cahier des charges et la formation des opérateurs. Cette gestion assure la qualité et le suivi de ses développements.

Page 7: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

7 Rapport de stage - EUROPRODUCTIQUE

EXEMPLES DE REALISATIONS

CONDITIONS DE TRAVAIL

Mon stage s’est déroulé en grande partie dans les locaux de l’entreprise, avec des horaires de bureau ajustés aux besoins des projets. J’ai également eu l’occasion d’effectuer des sorties sur site, par exemple pour des dépannages d’industries rencontrant des difficultés dans leur production, ou encore pour préciser concrètement avec le client des points relatifs au bon développement d’un projet. Le rythme de travail m’est apparu comme soutenu dans un premier temps, probablement à cause de la différence entre les besoins en entreprise et les horaires scolaires.

Le détail de mon emplois du temps se trouve en Annexe 1.

Page 8: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

8 Rapport de stage - EUROPRODUCTIQUE

LES ATTENTES DE L’ENTREPRISE

Europroductique est une entreprise ciblée autour du secteur industriel. Ce domaine s’appuie sur tous types de technologies réseaux, qui correspondent à ce que l’on rencontre dans un DUT Réseaux et Télécommunications. Deux attentes se sont dégagées :

REQUETES A UN SERVEUR SQL

Europroductique développe également de nombreuses applications pour automates qui régissent le bon fonctionnement d’une chaîne de production.

Dans la mise en place d'une chaîne industrielle, il est souvent nécessaire de faire appel à une base de données. On peut illustrer ce besoin avec le cas d'une chaîne de tri (ex: La Redoute) qui doit connaître la destination d'un colis en fonction d’un code à barres associé au produit.

Jusqu'à maintenant, lorsqu’on voulait connaître l'éjecteur de destination d'un colis, le code à barres était d’abord scanné puis envoyé à une passerelle. On retrouvait sur cette dernière un programme développé en Visual Basic qui était chargé d'aller interroger la base de données et de renvoyer la réponse à l'automate. Ce dernier était ensuite en mesure de diriger le colis vers sa destination.

Dans un souci d'efficacité, il est devenu nécessaire d'éliminer cette passerelle et donc de permettre à l'automate d'effectuer lui-même ses requêtes au serveur SQL. Or il n'existe pas de fonction dans ce type de matériel qui permette d'effectuer ces tâches. L'entreprise exprime donc maintenant le besoin de développer un programme qui, à partir des outils TCP/IP natif de l'automate, sera en mesure de communiquer avec un serveur. On peut résumer cette infrastructure par le schéma suivant :

Page 9: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

9 Rapport de stage - EUROPRODUCTIQUE

LIAISON VPN

Europroductique réalise de nombreuses télémaintenances, ce qui implique de s’appuyer sur l’infrastructure de l’internet. Jusqu’à maintenant, lors de ces dépannages à distance, la manière de procéder était de créer une liaison point-à-point au moyen d’une ligne RTC (ce qui garantie une sécurité de la communication). Mais les applications utilisées sont de plus en plus gourmandes en terme de bande passante et il est devenu nécessaire de pouvoir réaliser ce type de travaux au travers de connexions à haut débit.

L’un des points importants est que cette liaison doit pouvoir être effectuée à tout moment et en tout point du globe. La solution envisageable est donc, évidemment, la mise en place de réseaux privés virtuels (VPN). Cette solution devra être applicable sans matériel spécifique côté client (le terme client désigne ici le technicien qui cherchera à établir la connexion distante en vue du dépannage) et depuis un quelconque point de connexion à internet (hôtel, hot-spot, réseau privé,…). On peut imager ce type de liaison de la manière suivante :

Page 10: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

10 Rapport de stage - EUROPRODUCTIQUE

APPROCHE ET ORGANISATION DES SUJETS

Les besoins de l'entreprise mettent en évidence deux sujets de stage à part entière, sans aucun rapport direct. L'un étant le développement d'un programme et le second la mise en place de réseaux VPN. L'approche de ces deux sujets s'est faite de manière différente.

Cependant, avant de pouvoir m'intéresser aux sujets de stage en eux-mêmes, j'ai passé quelques jours à manipuler les nouveaux outils mis à ma disposition (matériel, automates, applications, etc...) afin de me familiariser avec ce nouvel environnement.

APPROCHE DU SUJET ORIENTE PROGRAMMATION

La programmation de l'outil automate est précédée d'une importante période de recherches et d'analyses. Vouloir développer un outil en mesure d'effectuer des requêtes à un serveur SQL nécessite de bien comprendre en amont le fonctionnement d'un dialogue client-serveur. Il m’a fallu ici procéder avec méthodologie et rigueur.

Page 11: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

11 Rapport de stage - EUROPRODUCTIQUE

APPROCHE DU SUJET VPN

Le deuxième sujet a débuté par une discussion avec mon maître de stage afin de définir les conditions, l’environnement et les contraintes de la mise en place d’une liaison par Réseau Privé Virtuel. Le choix s’est arrêté sur un VPN par L2TP/IPsec et PPTP. J’y suis parvenu en suivant la démarche suivante :

Page 12: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

12 Rapport de stage - EUROPRODUCTIQUE

LE DEVELOPPEMENT D’UN PROGRAMME AUTOMATE

PRINCIPES DE FONCTIONNEMENT D’UNE COMMUNICATION CLIENT-SERVEUR

Les étapes d’un dialogue entre une base de données et un client se décomposent en plusieurs points. Dans un premier temps, il est nécessaire de créer une connexion TCP afin de mettre en relation le client et le serveur.

Puis, le client doit s’identifier auprès du serveur grâce au protocole TDS (Tabular Data Stream) de la société Sybase. TDS est implanté dans de nombreuses bases de données grâce à son implémentation Open Source. L’identification requière également des paramètres d’identification définis. Le client est ensuite en mesure d’effectuer une demande au serveur et celui-ci de lui répondre (toujours grâce à TDS). Enfin, le client doit se déconnecter du serveur (TCP) lorsqu’il n’a plus de requêtes à émettre.

PRESENTATION DU PROGRAMME

Ce programme (DFB) est conçu autour des fonctions TCPopen (il s’agit de bibliothèques

préprogrammées), lui permettant de communiquer au travers d’un réseau TCP/IP.

Il se décompose en plusieurs blocs qui mettent en avant les différentes étapes d’une

communication grâce au protocole TCP. Toutes les fonctions utilisées permettent

l’encapsulation du second protocole : TDS.

Pour des raisons de rapidité et de possibilités d’évolutions, les requêtes au serveur SQL

se feront grâce à une procédure stockée. Cette dernière permet d’enregistrer la « question »

directement sur le serveur avec un nom bien précis. Pour effectuer la requête, le client n’a plus

qu’à envoyer le nom associé et les éventuels paramètres supplémentaires.

Détails de fonctionnement du programme en Annexe 2

Détails de la procédure stockée en Annexe 3

Page 13: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

13 Rapport de stage - EUROPRODUCTIQUE

DIFFICULTES RENCONTREES

1. Apprentissage de la syntaxe

La programmation d’un automate peut se faire dans plusieurs langages différents, chacun ayant ses spécificités, avantages et inconvénients. Pour ma part, je me suis intéressé au langage en « structuré de texte » (très proche du Visual Basic). Il m’a donc fallu apprendre la syntaxe à utiliser, ainsi que les notions spécifiques à la programmation d’un automate.

2. Algorithme de chiffrement du mot de passe

Lors de mon travail d’étude des échanges entre un client et un serveur SQL, je me suis vite aperçu que les mots de passe envoyés pendant l’identification étaient chiffrés. Il a donc été nécessaire de retrouver l’algorithme utilisé, afin que mon programme puisse effectuer la même opération. Malheureusement aucune documentation internet ne m’a permis de trouver cet algorithme, il a donc fallu que je le trouve moi-même. Après quelques analyses, je suis parvenu à comprendre qu’il s’agissait d’une somme de décalages et inversions binaires. Exemple : Un caractère est codé sur 8 bits : A = 0 1 0 0 0 0 0 1 Si on remplace ces bits par un numéro de position, le chiffrement se déroule de la manière suivante :

Le caractère A devient donc : A = 1 0 1 1 0 0 0 1

3. Compilation de la trame

La compilation d’une trame dans l’automate qui viendra s’identifier auprès du serveur, ou encore exécuter une procédure stockée, doit nécessairement être encodée en Unicode. Il s’agit en faite d’une extension de la table ASCII, base de l’informatique. Les informations doivent ainsi être encodées sur 16 bits au lieu de 8 bits. La création du code permettant d’effectuer cette tâche s’est révélée parfois laborieuse et complexe.

Page 14: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

14 Rapport de stage - EUROPRODUCTIQUE

MISE EN PLACE D’UNE SOLUTION VPN

PROBLEMATIQUE

« Prendre la main » sur un automate s’effectue typiquement à partir d’un poste client situé sur le réseau de l’entreprise. Or, dans le cas d’un dépannage à distance, il devient nécessaire d’utiliser le réseau public internet pour entrer en communication avec le matériel. La technique couramment employée consiste à créer une connexion point-à-point entre le poste de contrôle et le réseau cible, grâce à un modem RTC qui nous place de manière « logique » en connexion directe avec un automate. Ce type de technologie étant malheureusement limitée en termes de débit (le plus souvent à 56ko/s), il devient nécessaire de pouvoir utiliser une connexion DSL.

Dans une connexion client-serveur par DSL, lorsque le réseau du serveur est dit NAT-té, c'est-à-dire qu’il ne dispose que d’une adresse internet pour tout un parc informatique, les différentes demandes de service sont redirigées grâce à un numéro de port spécifique. Ainsi les adresses IP du réseau local distant sont transparentes pour l’utilisateur. On est donc confronté à un problème lorsqu’on souhaite joindre une IP bien précise du réseau local distant.

La technique consiste donc à simuler l’appartenance du poste de contrôle de l’opérateur au réseau local distant. De cette manière, il suffit ensuite de se connecter à l’automate en utilisant la même plage d’IP réseau que ce dernier. Cette technique se nomme VPN (Virtual Privat Network) et rend toute la partie internet transparente à l’utilisateur. Elle crée un tunnel de communication entre les deux points comme si un câble réseau reliait directement les deux entités. De plus, le réseau internet étant multipoints, il est impossible de prévoir le parcours que vont suivre les trames, et donc le niveau de sécurité de chacun des nœuds empruntés. Or la technologie de VPN garantit l’authentification des interlocuteurs, ainsi que l’unicité et l’intégrité des informations reçues. Le principe de cette architecture peut donc, dans notre cas, être résumé par le schéma suivant:

Page 15: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

15 Rapport de stage - EUROPRODUCTIQUE

QUELLE SOLUTION ?

Afin de mettre en place une technologie de VPN, il est important de comprendre que plusieurs techniques sont disponibles et qu’elles ont toutes leurs avantages et leurs inconvénients. Le choix de la technologie va se faire en fonction de nos besoins, à savoir (par ordre d’importance):

Pour satisfaire ces critères, la norme de VPN la plus adaptée est IPsec (Internet Protocol Security). IPsec est un ensemble de protocoles utilisant des algorithmes permettant le transport de données sécurisées sur un réseau IP. Les services de sécurité fournis sont la confidentialité, l’authentification et l’intégrité des données. Ces services sont basés sur des mécanismes cryptographiques qui leur donnent un niveau de sécurité élevé lorsqu’ils sont utilisés avec des algorithmes forts.

Détail de fonctionnement en Annexe 4

La sécurisation se faisant au niveau d’IP, IPsec peut être mis en œuvre sur tous les équipements du réseau.

Détails sur l’application d’IPsec en Annexe 5.

La maturité grandissante de la norme conduit désormais de nombreux fournisseurs à intégrer IPsec dans leurs produits, à l’image du routeur Westermo DR-250 que nous tâcherons d’implémenter dans une topologie agrémentant cette technologie.

Page 16: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

16 Rapport de stage - EUROPRODUCTIQUE

DIFFICULTES RENCONTREES

1. Configuration de Windows

La norme IPsec étant relativement récente, les outils natifs de Windows XP ne permettent pas de créer facilement un tunnel VPN. De plus, cette norme se décline en un grand nombre de combinaisons d’algorithmes et de protocoles, ce qui aura été difficile à clarifier.

2. Configuration du routeur

Mon maître de stage m’a très vite orienté sur un routeur de la marque Westermo Dr-250. Je n’avais jamais eu l’occasion, jusqu’à présent, de travailler sur ce type de matériel. La configuration de ce dernier s’est parfois révélée difficile, d’autant que le matériel a été livré sans réelle documentation technique. J’ai donc eu recours à l’assistance technique pour qu’il me fasse parvenir les documentations adéquates.

3. Stabilité de la configuration

Le système mis en place est très efficace sur une ligne ADSL. Mais le fait de mettre en place de tels mécanismes de chiffrement sur une ligne bas débit peut poser quelques problèmes de stabilité de la connexion. On observe alors plus fréquemment des déconnections du VPN sans raison apparente. La solution, dans ce cas, est de mettre en place un VPN non sécurisé, ce qui n’est pas toujours très recommandable.

Page 17: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

17 Rapport de stage - EUROPRODUCTIQUE

EN DEHORS DES SUJETS DE STAGE

J'ai eu l'occasion, durant mon stage, de participer à différents travaux ou projets en cours dans l'entreprise. Ceci s’est produit à plusieurs occasions tout au long des 10 semaines et m'a permis de cerner de manière très concrète les difficultés, les enjeux et l'étendue du travail qui étaient attendus dans le milieu professionnel.

1. Découverte du matériel

L'un des points importants de ce stage aura été l'ouverture à un nouveau domaine d'activité. Le monde de l'industrie, très lié à l'informatique et au développement des technologies, n'en est pas moins différent de ce que l'on a pu apprendre lors de nos cours. J'ai eu l'occasion de manipuler beaucoup de matériel nouveau pour moi, à commencer par les machines automates. Mais également du matériel réseau complètement différent de celui que je connaissais jusqu'alors. Cela s'explique par le simple fait que ce milieu doit respecter des normes de sécurité très importantes, mais également une résistance aux pannes et aux erreurs beaucoup plus forte que dans une architecture réseau dite ‘classique’.

2. Mise en place de projets

J’ai pu suivre au long de ces 10 semaines l'évolution de différents projets dans l'entreprise tels que le développement d'outils de supervision. Ces outils sont spécialement créés et adaptés à chaque client ; ils permettent de contrôler, à tout instant, l'état du matériel installé. J'ai pu observer les difficultés que l'on pouvait rencontrer tout au long des longues phases de négociations, visant à définir un cahier des charges précis des attentes du client.

3. Déplacements sur site

Il m’a été proposé, à plusieurs reprises, d’accompagner l’un des employés lors d’un déplacement sur sites. Il s’agit, généralement, d’assistance et de dépannage, ou encore de discutions avec le client pour cerner un projet de manière concrète. J’ai notamment eu l’occasion de me rendre à :

Page 18: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

18 Rapport de stage - EUROPRODUCTIQUE

Lors de mon deuxième déplacement à Sodimatex, nous avons été confrontés à un problème de supervision d’une chaîne de production (Tapis de sol automobile). Des capteurs thermiques envoient des relevés effectués dans des fours. Ces valeurs sont traitées par un serveur qui les envoie ensuite sur des moniteurs de contrôle. Un problème sur le serveur empêchait l’affichage sur les moniteurs. A cette occasion, je me suis essayé moi-même au dépannage de cette supervision. Le problème provenait de fichiers de configuration du serveur qui avaient été corrompus après une coupure secteur.

4. Field test

Le « debbugging » fait partie intégrante du développement d'un programme et il est parfois nécessaire que celui-ci soit réalisé par quelqu'un d'autre que le programmeur lui-même. En effet, ce dernier connaît les réactions de son programme et peut ne pas voir toutes les sources de problèmes. C'est la raison pour laquelle j'ai été amené à tester différentes applications, telles qu'un programme développé par l'un des techniciens de l'entreprise, permettant à un opérateur d'effectuer de manière automatique différents contrôles qualité de pièces mécaniques. Un autre type de test m'a également été proposé, ce dernier à l'initiative de l’entreprise « Schneider Electric » qui demande à ses partenaires commerciaux d'évaluer ses produits avant leur sortie. Il s'agissait, ici, d'un ordinateur industriel, tactile, devant respecter différentes normes de sécurité. Ce test était surtout destiné à nous permettre de donner nos idées, sur les différentes améliorations que l'on voudrait voir apparaître dans les prochaines versions.

Page 19: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

19 Rapport de stage - EUROPRODUCTIQUE

CONCLUSION

Ce stage aura été pour moi, une expérience très enrichissante et constructive. Les recherches et applications que j’ai pu entreprendre tout au long de ces 10 semaines m’ont permis d’acquérir de nombreuses connaissances et beaucoup d’autonomie. Mais elles m’ont également permis de mieux cerner la vie en entreprise, les difficultés que l’on y rencontre et les attentes des clients. En outre, j’ai pu élargir mes compétences en matière de maîtrise de nouveau matériel ou encore de méthodologie.

J’ai donc pu répondre aux besoins de l’entreprise, grâce au développement d’un programme automate capable d’aller interroger une base de données SQL, et à la mise un place d’une maquette d’un système de réseau privé virtuel.

Ce stage aura également été une très bonne “passerelle” pour la poursuite de mes études en licence professionnelle. Il m’a permis de mieux cerner les notions de sécurité que l’on peut appliquer à des réseaux informatiques. De plus, il m’a permis de mieux analyser les domaines de compétences où je me sens le plus à l’aise.

“Les projets en entreprise sont comme des TP en cours, sauf qu’il faut obligatoirement avoir entre 18 et 20/20 ! “

J.L. VANALDERWELT (Maître de stage)

Page 20: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

20 Rapport de stage - EUROPRODUCTIQUE

LEXIQUE

ASCII : norme de codage de caractères en informatique la plus connue et la plus largement compatible. Il s’agit d’une table de correspondance entre d'une part les caractères de l'alphabet, les chiffres et autres signes et d'autre part un code numérique compréhensible par l'ordinateur.

Encapsulation : L'encapsulation en général est la notion de mettre une chose dans une autre. En informatique, il s’agit de mettre un paquet de données dans une nouvelle enveloppe de paquet de données.

L2TP/IPsec : Protocole standard fournissant une methode d’encapsulation des données, et permettant de créer des VPN.

Open Source : La désignation Open Source (source ouverte en français) s'applique aux logiciels dont la licence respecte des critères précisément établis par l'Open Source Initiative, c'est-à-dire la possibilité de libre redistribution et d'accès au code source d’une application.

PPTP : Même principe que L2TP/IPsec mais les données ne sont pas chiffrées (donc non sécurisées).

Serveur SQL : Système de base de données édité par Microsoft.

Socket : Peut être comparé à un port, ou prise de connexion. C’est un tunnel de communication réservé sur le processeur.

TCP/IP : (Transmission Control Protocol over Internet Protocol) Ensemble de protocoles Internet, conçue pour la transmission de données sur un réseau. Né dans le milieu de la recherche militaire aux Etats-Unis, il permet l'interconnexion de réseaux hétérogènes (c'est à dire d'architectures différentes).

TDS : nom d'un protocole utilisé entre clients et serveurs de base de données.

Trame IP : bloc d'information véhiculé au travers d'un support physique (cuivre, fibre optique, etc.), et utilisant le protocole de communication IP (Internet Protocol).

Visual Basic : Langage de programmation orienté objet. Visual Basic a été développé par Microsoft pour la création de programme sous Windows.

VPN : Acronyme de Virtual Private Network, en français Réseau Privé Virtuel. Permet de connecter à distance (au travers d’internet) et en toute sécurité plusieurs réseaux informatiques.

Page 21: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

21 Rapport de stage - EUROPRODUCTIQUE

ANNEXE 1 – DIAGRAMME DE GANTT

Page 22: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

22 Rapport de stage - EUROPRODUCTIQUE

ANNEXE 2 - FONCTIONNEMENT DU PROGRAMME

CONNEXION AU SERVEUR SQL

La connexion au serveur SQL se décompose en plusieurs étapes. Chacune de ces étapes

s’appuie sur les fonctions TCPopen (à droite dans le schéma ci-dessous)

Page 23: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

23 Rapport de stage - EUROPRODUCTIQUE

ENVOI D’UNE DEMANDE ET RECEPTION DE LA REPONSE SERVEUR

Lorsque la connexion au serveur SQL est effectuée, le programme se met en attente

d’une demande. Il peut s’agir d’une requête au serveur ou d’une demande de déconnexion.

Dans le cas d’une requête, il y a :

DECONNEXION

Il est possible de stopper le programme à tout moment et de se déconnecter proprement

du serveur SQL en plaçant une variable prédéfinie dans l’automate sur front descendant.

Page 24: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

24 Rapport de stage - EUROPRODUCTIQUE

ANNEXE 3 - UTILISATION D’UNE PROCEDURE STOCKEE

Une procédure stockée est un ensemble d'instructions pré compilées, stockées sur le serveur, directement dans la base de données. Elle peut être exécutée sur demande. Pour qu'elle soit exécutée, le client doit simplement envoyer une requête comportant le nom de la procédure stockée et, éventuellement, des paramètres supplémentaires (dans notre cas, la référence à comparer dans la base de données et un numéro d’injecteur).

LA PROCEDURE STOCKEE DANS LA BASE SQL

On souhaite, dans un premier temps, comparer une référence avec celles présentes dans la base de données pour en connaître la destination.

On peut ensuite enregistrer toutes les demandes effectuées, dans le but d’avoir un historique de toutes les références reçus, le numéro d’injecteur associé et la date de ces événements.

Dans notre cas la procédure ressemble donc à ceci :

CREATE PROCEDURE prostock

@ref bigint, @inj int

AS

SELECT table_test.voie FROM table_test WHERE

((table_test.ID)=@ref);

INSERT INTO table_test_2 (date_time, code_barre, injecteur) VALUES

(default, @ref, @inj);

GO

L’APPEL DE LA PROCEDURE STOCKEE PAR L’AUTOMATE

L’appel de la procédure stockée dans l’automate est pré enregistré dans des variables (mémoire de l’automate), il ne reste au programme qu’à créer la trame avec les paramètres qui conviennent (référence et numéro d’injecteur).

La requête par procédure stockée qui sera envoyée au serveur sera de la forme suivante :

declare @ref bigint

declare @inj int

set @ref='*****'

set @inj='##'

execute prostock @ref, @inj;

Avec ‘*****’ la valeur de la référence et ‘##’ la valeur de l’injecteur.

Toutes ces données en « texte brut » doivent ensuite être compilées en Unicode afin que le serveur puisse les comprendre.

Page 25: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

25 Rapport de stage - EUROPRODUCTIQUE

ANNEXE 4 - FONCTIONNEMENT D’IPSEC

LES PRINCIPAUX COMPOSANTS D'IPSEC

La norme IPsec est une combinaison de plusieurs mécanismes de sécurité IP, qui s’insèrent dans la pile de protocoles TCP/IP au niveau d’IP et permet donc le traitement de tous les paquets émis ou reçus ainsi que la protection de toutes les applications de niveau supérieur. Ces services sont, en partie, fournis grâce à AH (Authentication Header) et/ou ESP (Encapsulating Security Payload) :

- AH est conçu pour assurer l’authenticité et l’unicité des datagrammes IP. Le principe d’AH est d’adjoindre au datagramme IP classique un champ supplémentaire permettant à la réception de vérifier l’authenticité des données du datagramme. Un numéro de séquence permet de détecter les tentatives de rejeu, c'est-à-dire les tentatives d’attaques consistant à envoyer de nouveau un paquet valide intercepté précédemment sur le réseau et préalablement modifié.

- ESP a pour rôle d’assurer la confidentialité. Le principe d’ESP est de générer, à partir d’un datagramme IP classique, un nouveau datagramme dans lequel les données et éventuellement l’en-tête originale, sont chiffrées. De plus ce protocole peut permettre de mettre en place une authentification

Chacun de ces deux protocoles sont utilisables avec de nombreux algorithmes de chiffrement qui permettent différents niveaux de sécurité.

Page 26: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

26 Rapport de stage - EUROPRODUCTIQUE

LA GESTION DES CLEFS DE CHIFFREMENT

L’ensemble des mécanismes de sécurité utilisée par les deux entités communicantes sont regroupés dans une association de sécurité (SA) qui est une structure de données qui regroupe l’ensemble des paramètres associés à un mécanisme de sécurité. Pour stocker l’ensemble des associations de sécurité actives, on utilise une “base de données des associations de sécurité” (SAD). Les éléments stockés dans cette base de données sont consultés par la couche IPsec pour connaitre les paramètres à appliquer dans les services de sécurité employés pour chaque paquet reçu ou à émettre. Attention, un SA est unidirectionnel, on doit donc, pour une communication entre deux interlocuteur, établir deux SA.

Tous les SA peuvent être gérés dynamiquement au moyen du protocole IKE qui se charge de la gestion (négociation, mise à jour, suppression) de tous les paramètres relatifs à la sécurisation des échanges. IKE est en réalité un cadre générique reliant plusieurs protocoles, et principalement ISAKMP. Dans le cadre de la standardisation IPsec, ISAKMP est associé à une partie des protocoles SKEME et Oakley pour donner un protocole final du nom de IKE.

POLITIQUE DE SECURITE

Le traitement individuel de chaque paquet est redu possible grâce au SPD qui est une “base de données des politiques de sécurité”. La SPD contient donc l’ensemble des règles à appliquer au trafic traversant un équipement donné. C’est donc par elle que l’administrateur du réseau configure le paramétrage IPsec.

MODES DE FONCTIONNEMENT D‘IPSEC

IPsec se décline en deux modes de fonctionnement :

- Le mode transport protège uniquement le contenu du paquet IP sans toucher à l’en-tête. Ce mode n’est utilisable que dans le cas d’une liaison par VPN entre deux équipements terminaux (postes clients, serveurs).

- Le mode tunnel permet la création de tunnels par “encapsulation” de chaque paquet IP dans un nouveau paquet. Ainsi, la protection porte sur tous les champs des paquets IP arrivant à l’entrée d’un tunnel, ce qui permet, entre autre, de simuler l’appartenance du poste distant, au réseau local.

Remarque : L’interopérabilité de certaines associations de protocoles présente des disfonctionnements. Notamment dans la combinaison d’IPsec en mode tunnel avec un réseau opérant des translations d’adresses par NAT car ce dernier voit les ports TCP/UDP pour le multiplexage/démultiplexage cachés par les protocoles de sécurité employés. Il est nécessaire, dans ce cas, de n’utiliser que le protocole ESP combiné à une nouvelle norme en développement : NAT-Traversal.

Page 27: Rapport de stage - jerome.teneur.free.frjerome.teneur.free.fr/ressources/[Jerome_TENEUR]_Rapport_stage... · Rapport de stage Stage de fin d’études IUT Réseaux et Télécommunications

27 Rapport de stage - EUROPRODUCTIQUE

ANNEXE 5 – SCHEMA D’APPLICATION D’IPSEC

#0 L’administrateur configure les paramètres nécessaires à IPsec

#1 Une trame provenant d’une quelconque application (ex : Internet Explorer) va traverser les différentes couches du model OSI.

#2 Arrivé au niveau IPsec, Windows consulte une SPD, il s’agit d’une “base de données des politiques de sécurité”

#3 Il va ensuite chercher à appliquer une SA (Association de Sécurité) qui décrit les algorithmes à utiliser. Pour cela, il consulte une “base de données des associations de sécurité” (SAD)

#4 La trame arrive dans la couche liaison entièrement chiffrée et pourvue d’une nouvelle en-tête IP.