12,90 € TTC
p. 08 Présentation de TCP/IP
p. 20 À la découverte des VPNs
p. 30 Comment choisir son VPN ?
p. 36 Créez une configuration OpenVPN simple
p. 56 Utilisez les options avancées d'OpenVPN
p. 84 Configurez les postes clients y compris sur des systèmes non libres
p. 90 Mettez en place un serveur IPSec
p. 104 Configurez les postes IPSec clients
p. 112 Intégrez un firewall à OpenVPN
p. 118 Développez vos plugins OpenVPN
Au cours des trois dernières décennies, la progression de l’informatique et surtout la nécessité grandissante de devoir garantir une interconnexion des machines ont donné lieu à de nombreuses évolutions logicielles comme matérielles. Les premiers réseaux locaux étaient relativement lents ; avec 1 Mbps pour du 3+Open, 4Mbps pour du Token-Ring voire 10Mbps pour de l’Ethernet, nous sommes bien loin des 10Gbps qui commencent à être disponibles aux particuliers. De plus ces réseaux transportaient simultanément plusieurs protocoles, NetBIOS, IPX/SPX ou TCP/IP pour ne nommer que les plus répandus. À cette époque, le rôle des administrateurs systèmes était surtout de faire en sorte que tout cela fonctionne bien en local et le moins mal possible quand il fallait interconnecter des bâtiments ; la sécurité des données ne venait qu’en dernière position, et encore... Depuis, tout ceci a progressé et les priorités ont bien changé. Les professionnels ont depuis longtemps mis en place des tunnels chiffrés pour interconnecter les plateformes et pour relier les postes itinérants aux services centraux.
Ce qui, dans un monde parfait, aurait dû rester dans le domaine professionnel s’est vu inviter chez de plus en plus de particuliers suite aux révélations d’Edward Snowden ou à la mise en place d’Hadopi ;-) Maintenant, tout un chacun qui ne souhaite pas prendre le risque de voir sa vie privée dévoilée au grand jour ou servir de monnaie d’échange pour les géants d’Internet se voit contraint de chiffrer ses données tant sur ses disques durs que sur ses câbles réseau et je ne parle même pas des transmissions sans fil. Cependant, si le chiffrement des disques se fait assez facilement, monter un tunnel chiffré fiable entre son domicile et ses serveurs en l’air ou ses appareils mobiles reste difficile à appréhender pour le commun des mortels, même versé dans les arcanes de l’informatique.
Le but de ce guide est de vous proposer deux moyens fiables et éprouvés de parvenir à vos fins : IPSec et OpenVPN. Le premier pourrait être décrit comme la solution officielle, reposant sur des protocoles bien documentés dans des RFCs, mais tellement omnipotent qu’il en devient presque anxiogène, du moins à première vue. Le second ressemble plus à la solution du geek, c’est-à-dire facile à mettre en place dans une version basique, mais fonctionnelle et possédant d’énormes capacités d’amélioration, ayant cependant le défaut d’utiliser un protocole assez peu documenté dès que l’on désire creuser profond. C’est pour ces raisons qu’OpenVPN sera notre principal « client » que nous décortiquerons autant que faire se peut. IPSec sera aussi présenté et documenté bien entendu ne serait-ce que pour montrer que sa mise en œuvre n’est pas si compliquée que cela. De plus, c’est le seul à permettre une intégration simple avec le monde des routeurs propriétaires.
Donc retroussez vos manches, faites chauffer les VMs, il va y avoir du monde dans les tuyaux...
Cédric PELLERIN
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...

Depuis que le développement logiciel existe, les développeurs se sont confrontés aux problèmes de performance des applications. L’avènement des langages avancés comme Smalltalk, Java ou C# a permis de réduire considérablement les temps de développement des applications (en plus de les structurer) pour permettre aux développeurs de se consacrer à la logique applicative. Bien que les compilateurs génèrent du code efficace, l’optimisation manuelle est encore largement nécessaire. Il est dit qu’une application qui n’a jamais été analysée et optimisée peut doubler sa vitesse d’exécution en reconsidérant les algorithmes et en optimisant les points-clés consommateurs de temps de calcul. Développer du code efficace en temps nécessite un certain investissement mais est à la portée de tous. Cependant, il est nécessaire de se focaliser sur les méthodes les plus coûteuses dans le programme afin d’éviter de perdre du temps de développement et de complexifier inutilement le logiciel. Car optimiser implique souvent d’introduire de la complexité au travers de caches et autres pratiques. Nous allons montrer les outils disponibles en Pharo, un nouveau Smalltalk open source disponible sur http://www.pharo-project.org.