Les ingrédients du réseau local idéal

stepfinal2Comme je l’ai indiqué dans un précédent billet, je vais déménager dans une zone couverte par l’offre « fibre optique » de Numéricable. Il va être nécessaire de prévoir un réseau local afin de pouvoir utiliser au mieux cette connexion. Mon objectif ici est de proposer une configuration réseau pour un public plutôt geek passionné de logiciels libres. Cela dépassera donc largement le cadre d’un réseau local « standard ».

Le but

Dans mon cas et je pense ne pas être le seul, le but d’un réseau local est de pouvoir s’amuser. Il s’agit en quelque sorte d’un bac à sable avec lequel on peut faire tout et n’importe quoi. J’y ferais sans aucun doute des choses fortement inutiles mais tout autant indispensables et amusantes.

Revenons aux choses plus concrètes tout de même. Tout d’abord, le premier but d’un réseau local est de partager une connexion Internet haut débit (100/5 Mbit/s dans mon cas) vers plusieurs équipements. Le partage de connexion se fera via un support câblé et un support sans-fil (le Wifi). Ce réseau implémentera les deux. Si je suis de bonne humeur, je ferais même un réseau wifi supplémentaire fortement restreint pour n’importe qui passant dans le coin. Ensuite, il va falloir pouvoir mettre des serveurs de sorte à fournir différents services aux ordinateurs sur ce réseau local. Des exemples de services sont un intranet, un serveur FTP, un serveur OpenVPN, de la téléphonie sur IP. Il va falloir également prévoir un firewall pour pouvoir filtrer la connexion Internet au mieux et assurer une qualité de service pour tout le monde.

Le matériel

Une fois qu’on a décidé des fonctionnalités du réseau, il va falloir se doter de matériel. Le premier équipement que l’on pense à acheter lorsqu’on crée un réseau local c’est un switch (lire commutateur pour les anglophobes). Cet équipement va permettre d’interconnecter les équipements à haute vitesse au niveau liaison de données du modèle OSI. Dans le cas de mon réseau local j’ai choisi un Cisco Catalyst 2950 doté de 24 ports 10/100. Je l’ai acheté sur Ebay pour 50€ donc ca reste plutôt raisonnable. Il existe des versions avec des ports d’uplinks GBIC ou giga mais ces versions sont légèrement plus couteuses. L’avantage de se fournir un switch Cisco de ce type est qu’on peut être sûr de sa fiabilité et qu’il dispose d’une multitude de paramétrages avec lesquelles il sera possible de jouer.

Cisco2950

Ensuite, vu qu’on a décidé que notre réseau local ferait un partage de connexion sans-fil, il va falloir trouver une borne wifi. Les box des fournisseurs d’accès font systématiquement office de borne d’accès wifi cependant vu qu’il s’agit d’un réseau local de geek, nous nous en contenterons pas. J’ai choisi un borne Cisco Aironet 1100. Je l’ai achetée 30€ sur Ebay. Cette borne nous donne la possibilité de créer plusieurs réseaux wifi sur la même borne ce qui serait idéal pour notre réseau d’invité. De plus, elle est capable de choisir le canal le moins encombré. Tout comme le 2950, il s’agit d’un équipement Cisco qui permettra donc de jouer avec pleins d’options. Un autre choix aurait pu être une borne wifi Linksys capable de supporter OpenWRT ou DD-WRT afin de disposer également de nombreuses options de configuration.

Aironet1100

Il ne nous manque plus qu’un équipement pour pouvoir créer notre réseau local idéal, le firewall. En ce qui concerne la partie applicative, il s’agira de Pfsense dont j’ai déjà parlé dans un billet précédent. Cette distribution est tout simplement génial et va permettre d’ajouter de nombreuses fonctionnalités au réseau local. En ce qui concerne la partie matérielle, un ordinateur de récupération suffira amplement. Dans mon cas, une machine à base d’AthlonXP 1800+ fera l’affaire sans problème.

Sécuriser SSH, c’est pas bien compliqué

doc_openssh_logo_2Vous le savez peut être déjà, une faille semble avoir été trouvé dans SSH. Pour ceux qui n’ont jamais fait d’administration système, le protocole SSH est le protocole utilisé pour administrer les serveurs Linux/BSD ainsi que de très nombreux équipements réseau. Qui dit faille SSH dit accès total aux machines disposant de ce service. Pour vous rassurer, la faille semble ne toucher que les versions les plus vieilles d’OpenSSH. Vous qui disposez d’une Debian, vous êtes à l’aise car vous savez que Debian a un cycle de release assez rapide. Vous qui croyiez être à l’aise sur votre RHEL (Red Hat Entreprise Linux) ou CentOS et la stabilité qu’un cycle de release lent, vous devez être plus stressé et vous avez bien raison ! Cependant, elle semble peu crédible et basée sur de très nombreuses hallucinations suppositions.

Constat

Tout le monde le sait, le SSH est probablement le protocole le plus sensible sur une machine ou un équipement voire sur Internet. Il semble cependant régner un climat de confiance excessive autour de ce protocole. Dans le même temps, d’autres protocoles sont ultra surveillés comme c’est le cas pour HTTP ou DNS alors qu’ils sont moins sensibles. Je pense que dire que SSH est le protocole le plus sensible n’est pas une exagération trop importante. Certes le protocole DNS est ultra critique, mais une faille sur le protocole SSH permettra la modification des zones DNS présentes sur la machine. Une faille SSH permettra de prendre la main sur les routeurs et de modifier les informations BGP et ainsi de suite.

Bloquer les accès

La plus simple des parades à toutes les failles éventuelles sur SSH est de bloquer l’accès à ce dernier. Bien sur, si vous bloquez l’accès complètement, vous ne pourrez plus administrer vos machines mais il y a tout de même des solutions. Il est indispensable de ne pas autoriser la terre entière à accéder à votre serveur SSH. On ne peut pas considérer le service SSH sécurisé si il est accessible par la terre entière. Vous pouvez mettre une règle de filtrage permettant de n’autoriser que l’IP de votre connexion Internet. Si vous avez une connexion avec IP dynamique, vous pouvez utiliser OpenVPN pour accéder à votre zone de serveurs et n’autorisez la connexion qu’à partir du serveur VPN. Si vous êtes une société avec un minimum de moyens, mettez en place un tunnel MPLS jusqu’à votre datacentre.

L’accès en root, c’est mal…

Il est également peu raisonnable d’autoriser les accès SSH directement en root. Si vous donnez le mot de passe root à tous les utilisateurs de la machine, il sera plus difficile de leur en interdire l’accès par la suite. Ceci est d’autant plus grave si votre serveur SSH est accessible par tout le monde. De plus, un accès avec un compte utilisateur permet d’éviter que tout le monde puisse faire rm -Rf / par erreur. Une exception existe à cette règle, si votre filtrage au niveau du réseau est suffisament efficace et que vous avez la possibilité de supprimer l’accès en supprimant l’accès au VPN, il est possible d’accéder directement en root aux serveurs.

Pfsense : FreeBSD mais en bien

Maintenant que nous avons signé pour l’appartement en zone de desserte de l’offre fibre optique de Numéricable, il va falloir concevoir un réseau local digne de ce nom et digne de ce débit. Je vais donc vous présenter sur les blogs les différents éléments qui constitueront mon futur réseau local. Le premier élément que je vais vous présenter est Pfsense.

pfsense-logo

Pfsense est une distribution basée sur FreeBSD. Son objectif est de proposer une distribution orientée réseau disposant de la puissance de FreeBSD mais de la simplicité d’une interface web. Autant vous dire que Pfsense atteint parfaitement cet objectif. La liste de fonctionnalités de Pfsense est tout simplement impressionante.

Dans le cas d’un réseau local simple, Pfsense peut être installé soit sur un PC standard soit sur un plateforme embarquée. Pour effectuer l’installation sur une plateforme embarquée, des images à copier sur des cartes mémoires sont disponibles sur le site. La différence entre la version standard et la version embarquée c’est que la version embarquée ne supporte pas l’ajout de « packages ». Les packages sont des applications que l’on peut rajouter pour ajouter ajouter des fonctionnalités. L’installation sur une plateforme standard se fait par le biais d’un CD.

dashboard

Tout d’abord, cette distribution assure les fonctionnalités standards d’un firewall qu’on trouve n’importe où dans la nature. Elle assure tous les types de NAT à l’exception du NAT-T (NAT Transversal). Elle assure le filtrage « stateful » selon un grand nombre de critères (adresse niveau 3 et 4, système d’exploitation,  …) ainsi que la création d’alias pour simplifier vos règles de filtrage. Elle assure les services réseau classiques (DHCP, DNS, NTP). Vous aurez également à votre disposition tous les graphs que vous pouviez imaginer.

Ensuite, elle assure des fonctionnalités plus avancées mais avec toujours autant de simplicité. A partir d’une carte wifi (Atheros de préférence bien sur), Pfsense vous crée un point d’accès wifi avec chiffrement et authentification. En activant une option supplémentaire, vous pouvez avoir un portail captif qui s’authentifie soit contre une base Radius soit contre une base locale. Vous avez également la possibilité de mettre en place tous genres de VPN que ce soit de l’OpenVPN ou de l’IPsec. Vous pouvez également rajouter de la redondance dans votre installation avec le protocole CARP qui est un équivalent du VRRP Cisco. Je pense que ca fera un peu beaucoup pour mon réseau ! Et j’allais oublier, cette distribution est capable d’assurer le routage avec des protocoles tels que OSPF, RIP et BGP.

Au final, cette distribution dispose d’une liste de fonctionnalités très fournie et accessibles très simplement. J’ai eu l’occasion de déployer un firewall Pfsense sur un réseau publique disposant d’une connexion directe vers Internet en 100Mbit/s symétrique. Nous dépassions systématiquement les 70.000 sessions TCP en cours et le firewall n’a jamais faiblit alors que le matériel sous-jacent n’était qu’un Celeron 3Ghz.

Fibre optique ? Oui mais …

Fibre OptiqueVu que je serais en stage à partir du 1er Juillet (vacances d’été de 5 jours, ca fait light), je vais retourner sur Paris pour 6 mois pour vivre avec ma fiancée. Nous habitons actuellement à St Denis dans le 93 (Neuf Trois wesh gros !) mais nous prévoyons de déménager à Courbevoie. Courbevoie ?! Ca sent… *sniff* *sniff* la fibre optique !

Les appartements que nous prévoyons de visiter sont inclus dans la zone de couverture « Fibre Optique » de Numericable. La desserte de cette ville en fibre optique est assez logique dans la mesure où il y a un des plus gros noeud Internet Français, j’ai nommé Redbus. Vous pouvez imaginer mon bonheur à savoir que je pourrais être desservi par une liaison ultra haut débit qui dépotte.

Direction le site de Numéricable pour s’adonner à des simulations en tout genre pour savoir quel type de fibre optique je pourrais avoir. Je saisis l’adresse des différents appartements que nous avions prévu de visiter. Le site me dit d’office que je peux disposer de 100Mbit/s, génial ! Cependant, ce qui m’intéressait plus c’était le débit d’upload afin de pouvoir héberger divers serveurs. Aucune information disponible sur le site de Numéricable à ce propos, autant dire que ca sent mauvais. Je me rends donc sur le site Grenouille.com qui est généralement au courant de ce genre d’informations. Et là, c’est le drame. 5Mbit/s en upload ! Mais ou sont passés le 95Mbit/s restants dont je rêvais ?

Et bien en fait après avoir recherché sur Internet, l’offre de Numericable n’est pas une « vraie » offre fibre optique. Par vraie offre de fibre optique j’entends offre par le biais de laquelle un microtube de silice capable de transporter de la lumière à travers le monde arrive dans mon mur. Ce n’est pas une fibre qui arrive dans votre mur mais un cable coaxial comme dans les offres d’Internet par le cable traditionnelles. En fait, Numéricable déploie la fibre optique jusqu’au dernier répéteur (FTTLA – Fiber To  The Last Amplifier) ce qui permet de limiter les pertes et donc d’augmenter les débits.

Concrètement, Numericable tire des fibres optiques à la place de ses câbles coaxiaux existants jusqu’au pied des batiments. Un tel déploiement est plus simple dans le mesure où les infrastructures existent déjà et leur appartiennent. Ensuite au pied des batiments, la fibre optique est convertie en coaxial pour desservir le/les batiments en question. Visiblement les débits en upload auraient été bridés et pourraient être augmentés dès que le réseau de Numéricable aurait été amélioré. Pour ceux qui veulent plus d’info, voici un premier site qui montre des photos d’un boitier de raccordement au réseau fibre optique et un second article qui explique le déploiement du réseau Fibre Optique Numéricable.

Je vais tout de même arrêter de me plaindre parcque si j’arrive à obtenir du 100/5 Mbit/s je serais content bien évidemment vu qu’actuellement je me contente de 7/0,8 Mbit/s. Je n’aurais plus qu’à adresser mes prières au Dieu Numéricable pour qu’ils débrident les débits en upload. Il ne reste plus qu’à prévoir le futur réseau pour aller derrière.

Edit : Après plus de recherches, le standard de communication permet d’obtenir 160/120Mbit/s avec l’exemple d’un déploiement en Corée ou ici. Egalement plus d’infos sur la page du standard sur Wikipedia.