Généalogie des protocoles

Lors de l’Australian IPv6 Summit 2011, Tony Hain mena une présentation sur la généalogie des protocoles de la couche réseau. Un regard sur l’évolution des protocoles depuis trente ans peut être bénéfique pour la transition d’IPv4 vers IPv6. En effet, il s’agit de profiter de l’apprentissage du passé.

TCP/IPv4 n’a pas toujours été la technologie dominante. Une génération d’informaticiens a connu plusieurs transitions protocolaires depuis 1983 :

Que nous apprend l’histoire pour la transition vers IPv6 ? L’auteur présente une stratégie de déploiement parallèle et finement géré. L’implémentation de la double pile (Dual Stack) est la méthode la plus souple :

  • L’ancienne application pourra être arrêtée en fonction des statistiques de surveillance du réseau.
  • La préférence d’IPv6 là où il fonctionnel évitera la stagnation et accélérera les correctifs.
  • Un bon usage de l’espace de nommage permettra de contrôler les protocoles activés.
  • La mise en tunnel là où c’est nécessaire permetra de gérer la bande passante de manière efficiente.

Enfin, il rappelle que le déni de changement est néfaste. Il propose d’éviter les bricolages ou les traductions qui retardent la transition inévitable. Il insiste fortement sur la nécessité d’applications compatibles et validées pour IPv6  sur la communication de bout-en-bout et au niveau logiciel.

Publié dans Brève Technologique, IPv6 | Marqué avec , , , , | Laisser un commentaire

IPv6Labs : CheckList pour un LAN d’entreprise

L’activation d’IPv6 devrait être transparente pour l’utilisateur final et laisser à l’équipe IT  le sentiment d’une expérience technologique bien vécue. Dans le réseau LAN d’une PME, quelles sont les éléments qui pourraient être vérifiés pour s’assurer d’un service TCP/IPv6 de qualité ?

On trouvera plus bas un liste des matériels, logiciels et services à contrôler au regard d’une conformité à IPv6 Ready. Le programme de conformité de l’IPv6 Forum reprend une liste de protocoles de tests et des produits approuvés. On s’inquiétera des produits seulement certifiés en phase-1. Celle-ci correspond à une compatibilité limitée et minimaleThe Phase-2 Logo verifies optimum compliance because of the complete series of tests including the « MUST » and the recommended « SHOULD » for the IETF specifications tested. Par exemple, Windows 2003 Server n’est pas certifié IPv6 Ready Phase-2.

Des outils comme Scapy, THC-IPv6, Wireshark, la documentation Microsoft, des commandes Cisco IOS et GNU/Linux peuvent être utile.

Cette liste n’est pas parfaite. Elle demande révision et l’épreuve des faits. Pour une démarche de veille je conseille de suivre http://www.google.be/search?q=ipv6+checklist&tbs=qdr:y et le document Transition Checklist de l’ISOC.

1. La pile TCP/IPv6 des système d’exploitation (OS) des périphériques terminaux

  • Stations de travail
  • Périphériques Mobiles
  • Imprimantes/copieurs
  • Scanners, lecteurs divers, boîtiers de contrôle d’accès, Caméras
  • Serveurs Stand-Alone
  • Serveurs de virtualisation
  • Matériel de Data Center : onduleur, IP/KVM, Tape, etc.

2. Périphériques réseau

  • Commutateurs : accès distant, filtrage de bas niveau (attaques DHCPv6, ICMPv6, DNS)
  • Eléments de routage : passerelles, routeurs, proxy, Commutateur L3
  • Eléments de filtrage (firewall) et de sécurité (Antispam, antivirus, etc.)
  • SAN

3. Logiciels utilisant TCP/IP côté serveurs (services courants)

  • Résolution de noms
  • Attribution de paramètres TCP/IP
  • Authentification des utilisateurs
  • Partages et Archivage de fichiers
  • Impressions
  • Courrier Electronique
  • Services Windows
  • Transfert de fichiers
  • Web
  • Supervision et Gestion (+ accès distant)
  • Téléphonie

4. Logiciels utilisant TCP/IP côté clients

  • Navigateurs Web
  • Logiciel groupware type « Outlook »
  • Clients VPN
  • Logiciels de sécurité (Firewall personnel, anti-X, etc.)
  • Applications métiers/Spécifiques

5. Services externalisés

  • Connectivité WAN publique
  • Connectivité WAN privé
  • CPE
  • Cloud : IaaS, PaaS, SaaS
Publié dans IPv6, Transition | Marqué avec , , , , | Laisser un commentaire

LinuxLabs6: Intégration à un réseau Windows

Les réseaux Windows utilisent un ensemble de protocoles pour le partage de fichiers et d’imprimantes. Samba est le logiciel Open Source qui implémente ces protocoles. Ce LinuxLabs vise à présenter les capacités de machines BSD ou GNU/Linux à s’intégrer dans une réseau Windows.

Samba met en oeuvre le protocole SMB (Server Message Block). Dans l’ancien Windows NT 4, il était appelé CIFS (Common Internet File System). Dans Vista et Seven, il est appelé SMB2. Samba vise l’interopérabilité des systèmes autour du protocole.

1. Arrière-plan

Samba 3.6.5 est la dernière version stable publiée le 30 avril 2012. Voici ce que Samba peut faire :

  • Offrir un service de partage des fichiers et d’imprimantes des clients GNU/Linux, UNIX/BSD, et Windows;
  • Assister à la découverte du réseau (avec ou sans NetBIOS)
  • Authentifier des utilisateur sur un domaine Windows.
  • Fournir un serveur de résolution de noms Windows Internet Name Service (WINS).
  • Agir en tant que  Windows NT-style Primary Domain Controller (PDC)
  • Agir en tant que  Backup Domain Controller (BDC) pour un PDC Samba
  • Agir en tant que membre d’un domaine Active Directory (AD)
  • Joindre un PDC Windows NT/2000/2003/2008

Ce que Samba ne peut pas faire :

  • Agir en tant que BDC pour un PDC  Windows (et inversément)
  • Agir en tant que contrôleur de domaine AD.

Il supporte les fonctionnalités SMB2 (Vista et Seven). Il peut-être complété par une solution Open Source de déploiement d’application : http://wpkg.org/WPKG_overview:fr.

Samba 4 propose des fonctionnalités alléchantes. La version future est toujours en développement, mais elle mériterait d’être testée.

2. Préceptes

On lira la documentation The Official Samba 3.5.x HOWTO and Reference Guide.

Samba intègre deux démons :

  • smbd  assure le partage des ressources et occupe le port TCP 139 (Session NetBIOS) et TCP 445 (Service d’annuaire Microsoft).
  • nmbd assure le service WINS et occupe les ports UDP 137  (Service de noms NetBIOS) et UDP 138 (données NetBIOS).

Il utilise aussi winbind pour les logons Windows.

D’autres logiciels ou scripts sont à utiliser selon les scénarios.

  • Pour chaque partage on créer un espace appartenant à un
  • un groupe d’utilisateurs système
  • qui a des droits spécifiques sur le système de fichier
  • un utilisateur système avec mot de passe
  • qui est dans le groupe précité
  • une synchronisation smbpasswd sera nécessaire

Les machines sont dans le même LAN.

Le server se configure dans le fichier /etc/samba/smb.conf constitué d’une section gloable et de sections concernant chaque partage. On s’attardera sur les modes de fonctionnement « security » : « user », « domain » et « ads ».

On se base sur le document http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/FastStart.html pour les exercices.

Exercice 1. Partage simple

1.1. préparation

apt-get update
apt-cache show samba-common
apt-get install samba
more /etc/samba/smb.conf
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

1.2. Partage simple

Voici un configuration typique qui permet de partager dans un Workgroup « LOCAL » un espace de fichiers en lecture seule pour les membres du Workgroup. Le nom NetBIOS du serveur est « SAMBASERVER ». Le nom du partage est « data ».

 nano /etc/samba/smb.conf.master

1.3. Modification de smb.conf.master, configuration du partage et du serveur de fichiers

[global]
 workgroup = LOCAL
 netbios name = SAMBASERVER
 security = SHARE
[data]
 comment = Data
 path = /home/partage
 force group = utilisateurs
 read only = No
 guest ok = Yes

1.4. Création de smb.conf vérifié

 testparm -s smb.conf.master > smb.conf

1.5. Ajout des comptes et des droits

groupadd utilisateurs
useradd -g utilisateurs -d /home/partage -m -s /bin/false utilisateur1
passwd utilisateur1
id utilisateur1
smbpasswd -a utilisateur1
net rpc user
mkdir /home/partage
ls -l /home/partage
chown root:utilisateurs /home/partage
chmod 1775 /home/partage
ls -l /home/partage

1.6. Test sur différents clients.

Exercice 2. Contrôleur de domaine

Scénario

Une entreprise type de 7 rôles dans 3 groupes dans le domaine « entreprise » :

  1. utilisateur, groupe, privilège
  2. directeur, direction, administrateur
  3. sdirecteur, direction, administrateur
  4. comptable, compta, super-utilisateur
  5. aide-comptable, compta, super-utilisateur
  6. commercial1, commercial, simple utilisateur
  7. commercial2, commercial, simple utilisateur
  8. secretaire, commercial, simple utilisateur

Chaque utilisateur accède à son lecteur réseau personnel et à un lecteur réseau commun appelé « partage » où tout le monde peut écrire.

Il y également un partage par groupe. Le groupe « direction » a accès à tous les partages.

On utilisera les profils itinérants. Ils sont stockés sur le serveur.

On donnera des privilèges Microsoft aux utilisateurs.

On utilisera les lettres réseau suivantes :

  • M: Lecteur personnel
  • X: « partage » commun
  • R: partage « direction »
  • S: partage « compta »
  • T: partage « commercial »

Opérations

  1. Définition du serveur et des partages (smb.conf)
  2. Création des groupes systèmes
  3. Création des utilisateurs systèmes
  4. Smbpasswd
  5. Vérification net rpc user
  6. smbpasswd -a  root
  7. Correspondance groupes GNU/Linux et Microsoft
  8. Ajout des utilisateurs aux groupes (privilèges)
  9. Création des répertoires partagés
  10. /netlogon
  11. /profils
  12. /commun
  13. /direction
  14. /comptabilité
  15. /commercial
  16. logon script

Autres applications.

Intégration DNS Bind9

Connection à un AD/LDAP

Authentification LDAP

Accès aux partages

Partage d’imprimantes et imprimante PDF

Corbeille

Anti-virus

activation SMB2

 

 

 

Publié dans Laboratoires, Linux | 3 commentaires

LinuxLabs5 : Filtrage du trafic

Dans un système d’information, les politiques de filtrage et de contrôle du trafic sont placées sur un matériel ou un logiciel  intermédiaire communément appelé pare-feu (firewall). Ce Linuxlabs propose de mettre en place ce type de solution.

Lectures préalables.

Sur l’état du marché à partir d’une étude « Gartner, Magic Quadrant for Enterprise Network Firewalls ».

Pour les généralités on ira lire avec prudence Wikipedia : Pare-feu_(informatique)Firewall_(computing)Zone_démilitarisée_(informatique), etc.

Pour la mise en oeuvre se documentera sur Iptables ou on implémentera une distribution comme M0n0wall ou PFsense ou encore Zentyal. Un bon début est de suivre (en anglais) ce guide : Quick_HOWTO_:_Ch14_:_Linux_Firewalls_Using_iptables.

Arrière-plan.

1. Introduction.

La maîtrise des concepts protocolaires IPv4/IPv6 et de TCP/UDP voire des applications comme HTTP ou DNS sont nécessaires pour la mise en oeuvre d’une solution de type pare-feu.

Bien souvent, les CPE et les stations de travail embarquent un pare-feu qui par défaut autorise tout trafic venant d’un réseau de confiance (et son trafic de retour légitime), typiquement un LAN, alors que tout accès extérieur non contrôlé est refusé, par exemple venant directement du WAN, une connexion extérieure vers l’Internet. Ces politiques de sécurité peuvent être mise en oeuvre finement sur les pare-feux. Dans une perspective sécuritaire, tout trafic TCP/IP non contrôlé est considéré comme une attaque.

2. Taxonomie

On distinguera les fonctionnalités : pare-feu sans état, pare-feu avec état, et pare-feu applicatif. Dans une autre typologie fondée sur l’emplacement des fonctionnalités, on distinguera les pare-feux locaux des pare-feux dédiés.

3. Fonctionnalités et technologies complémentaires.

Compte tenu de son emplacement critique, il hébergera ou utilisera des fonctions de mandataire pour le trafic local ou distant afin d’effectuer un contrôle plus fin et/ou plus efficace

  • en inspectant le contenu
  • ou en contrôlant l’identité des utilisateurs.

Dans le même ordre d’idée, on pourra y trouver des fonctions

  • de concentrateur VPN,
  • de répartiteur de charge du trafic,
  • le support des encapsulations VLAN,
  • des protections contre les virus, logiciels et messages TCP/IP malveillants,
  • de la détection et/ou de la prévention de d’intrusion (IDS/IPS),
  • etc.

En soi, le pare-feu ne protège le réseau que de manière incomplète. On complétera l’infrastructure sécurisée par des solutions de surveillance du réseau. L’Open Source propose entre autres des distributions spécialisées qui n’ont rien à envier aux solutions commerciales telles que OpenVAS. Une infrastructure de gestion des anti-virus et pare-feu locaux ainsi que des mises à jours des systèmes d’exploitation et des logiciels installées est aussi conseillée. Cette perspective de la sécurité des systèmes d’informations envisage celle-ci de manière globale et unifiée dans une collaboration transparente entre les éléments du réseau et les systèmes qui fonctionnent sur les périphériques. Dans cette perspective concrètement difficile à mettre en oeuvre, les systèmes Open Source sont compétitifs.

4. Topologies

Selon les besoins, on placera les politiques de filtrage à différents endroits du réseau, au minimum sur chaque hôte contrôlé et en bordure du réseau administré. Ces emplacements peuvent être distribué dans la topologie selon sa complexité.

Pour éviter qu’il ne devienne un point unique de rupture, on s’efforcera d’assurer la redondance des pare-feux.

La virtualisation des fonctionnalités de filtrage et de contrôle global du trafic est un besoin du marché actuel pour les centre de données autant que pour le déploiement du architecture de type cloud.

5. Fonctionnement et configuration

La configuration d’un pare-feu consiste la plupart du temps en un ensemble de règles qui déterminent une action de rejet ou d’autorisation du trafic en fonction de certains critères telles que :

  • l’origine et la destination du trafic,
  • des informations d’un protocole de couche 3 (IPv4, IPv6, ARP, ICMP, etc.),
  • des informations d’un protocole de couche 4 (TCP, UDP, etc.)
  • et/ou des informations d’un protocole applicatif (HTTP, SMTP, DNS, etc.).

Les règles sont appliquées en fonction de la direction du trafic entrant ou sortant sur une interface, avant ou après le processus de routage des paquets. Cette dernière réalité diffère selon le logiciel ou le matériel choisi pour remplir ces tâches.

Chaque règle est examinée selon son ordonnancement.

  1. Si le trafic ne correspond pas à la première règle, la seconde règle est évaluée et ainsi de suite.
  2. Lorsqu’il y a correspondance entre les critères de la règle et le trafic, l’action définie  est prise et les règles suivantes ne sont pas examinées. La terminologie des actions usuelles peuvent être accept, permit, deny, block, reject ou autres.
  3. En général, un ensemble de règles se termine par le refus de tout trafic, soit en dernier recours le refus du trafic. Ce comportement habituellement défini par défaut ou implicitement refuse tout trafic pour lequel il n’y avait pas de correspondance dans les règles précédentes.

6. Fonctionnalité NAT

Puisque chaque paquet qui traverse le pare-feu est examiné, les éléments de filtrage se proposent aussi de réécrire les en-têtes IP et TCP/UDP pour assurer des tables de traduction. Je parle déjà de ces fonctionnalités sur le site http://cisco.goffinet.org/search?SearchableText=nat. En rien le NAT ne constitue une mesure de sécurité. Penser autrement est une méprise. Toutes les configurations pratiques contredisent cette légende.

Exercice.

Fondamentalement, l’application la plus courante est celle d’un pare-feu à état en bordure du réseau qui pourra héberger des fonctionnalités de filtrage et d’authentification plus élevées.

Topologie typique de pare-feu à état

Topologie typique de pare-feu à état

1. Mise en place de la topologie.

Pour simuler une telle topologie sur une station de travail, on profitera pleinement de la virtualisation en utilisant les réseaux VMNET, soit des commutateurs/routeurs virtuels de VMWare. En tant que commutateur, il se ponte à une interface physique; en tant que routeur, il remplit des fonctions de routeur NAT avec service DHCP; la segmentation LAN peut être totalement isolée des interfaces physiques. On les configure grâce au binaire « vmnetcfg.exe ». Les adaptateurs virtuels peuvent y être connectés de plusieurs manières. On ira lire le chapitre « Configuring Network Connections » de VMWare Workstation.

Une topologie consiste à créer trois réseaux VMNET distincts, un premier ponté (bridged) au réseau local qui représentera le LAN, un second NATé (NAT) pour assurer la connexion WAN et enfin, un réseau indépendant qui hébergera par exemple un service Web. Une station d’audit de sécurité pourra se placer dans le réseau local ou sur la connexion WAN.

[Image]

Une autre topologie de laboratoire plus simple consiste à utiliser le réseau ponté pour la connexion WAN et des réseaux virtuels indépendants pour les connexions LAN et DMZ. Aussi, on se contenter de simuler le WAN en y plaçant une machine d’audit et en utilisant un réseau VMNET ponté pour le LAN.

2. Applications de règles de filtrage.

Une politique de filtrage typique consistera en les règles suivantes basées sur les protocoles IP/TCP/UDP.

Politique de sécurité typique sur un pare-feu à état.

Politique de sécurité typique sur un pare-feu à état.

Une autre manière de symboliser les choses :

LAN > WAN
WAN
X LAN
LAN
> DMZ
DMZ
X LAN
WAN
X DMZ (sauf TCP80 par exemple)
DMZ
> WAN

3. Configuration LAN/WAN

4. Mise en place du NAT si nécessaire.

5. Mise en place de la DMZ (en complément)

6. Auditer sa topologie et analyser le trafic.

Exercices complémentaires.

1. Mise en place d’un mandataire (proxy) local.

2. Mise en place de l’authentification NTLM.

3. Connexion à un service Active Directory.

 

Publié dans Laboratoires, Linux, Sécurité | Marqué avec , , , , , | Laisser un commentaire

LinuxLabs4 : Plateforme LAMP

Beaucoup d’applications libres sont utilisables en tant que SaaS privé ou public. Une plateforme LAMP robuste et sécurisée peut s’avérer utile.

Liste des logiciels à déployer.

CMS, CRM, Gestionnaires de projets, Suivi de bogues, ERP, Webmail, Groupware, n’importe quel application Web.

Exercices.

1. Installation et configuration d’Apache2, de PHP5, de MySQL avec PHPMyAdmin  : http://doc.ubuntu-fr.org/lamp.

2. Configuration de virtualhosts Apache : http://doc.ubuntu-fr.org/tutoriel/virtualhosts_avec_apache2.

3. Création d’une page Web de test sur un domaine fictif.

4. Installation d’une application Web au choix sur un autre domaine fictif.

5. Sécurisation d’un site avec HTTPS : http://doc.ubuntu-fr.org/tutoriel/securiser_apache2_avec_ssl.

Exemples à réaliser.

1. Configuration .htaccess

2.Exemple des fonctions Proxy dans le cadre de réécriture d’URL pour de serveur web à serveur web (locaux, distants, virtuels) :

  • Apache est en frontal sur le port TCP 80 et sert un autre serveur dynamique. On trouvera une application sur http://wiki.zope.org/zope2/ZopeAndApache.
  • Les requêtes d’un site sont redirigée vers une autre URL dans le cadre de la migration d’un nom de domaine à un autre afin limiter son impact sur la référencement ou la désorientation des visiteurs.

On utilisera le logiciel Squid pour mandater du trafic entre clients et serveurs HTTP.

3. Configuration WebDaV : http://www.google.be/search?q=debian+webdav+server

4. Exemple de fonction Reverse Proxy en DMZ pour rendre du trafic HTTP venant d’une zone de confiance (Un LAN, un intranet).

5. Exemple de fonction de filtrage de niveau applicatif (couche 7) : http://doc.ubuntu-fr.org/modsecurity et suivants.

6. Bonnes pratiques de sécurisation d’Apache 2 : http://doc.ubuntu-fr.org/tutoriel/securiser_apache2

7. Configuration des pare-feux.

Références

Opérations MySQL ou autre base donnée.

Il ne sera pas rare d’être invité à accomplir les actions suivantes :

  • Créer des bases de données et des utilisateurs, configurer des droits.
  • Importer/exporter des bases de données.
  • Restaurer un dump, déplacer, compacter une base de donnée.
  • Connecter apache à d’autres bases de données SQL
  • Utiliser les utilitaires propriétaires sur une connexion sécurisée : http://dev.mysql.com/downloads/gui-tools/5.0.html.
Publié dans Laboratoires, Linux | Marqué avec , , , , , , , , , , , , , , , , , , , | Laisser un commentaire

LinuxLabs3 : diagnostic réseau

Un petit moment de détente. Couteau suisse minimal pour le diagnostic réseau.

Outils Linux

  • ifconfig
  • ifup/ipdown
  • ping / ping6
  • traceroute / traceroute6
  • cat /etc/resolv.conf
  • cat/etc/network/interface
  • netstat
  • dig
  • iptraf
  • tcpdump
  • nmap
  • aircrack-ng
  • lynx
  • wireshark
  • ntop
  • scapy

Logiciels Windows

  • Wireshark
  • Cain&Abel
  • Zenmap
  • putty
Publié dans Laboratoires, Linux | Laisser un commentaire

LinuxLabs2 : Configuration du réseau

Ce LinuxLabs est orienté sur la configuration des interfaces et de quelques services réseaux de base. Accessoirement, il est proposé de transformer sa machine virtuelle en simple passerelle. Continuer la lecture

Publié dans Laboratoires, Linux | Marqué avec , , | 4 commentaires

LinuxLabs1 : Tâches de base

Pour manipuler un système GNU/Linux, on doit apprendre une série de tâches de bases. Six exercices sont proposés dans ce LinuxLabs. Les tutoriels libres ne manquent pas. Continuer la lecture

Publié dans Laboratoires, Linux | Marqué avec , , | Laisser un commentaire

LinuxLabs0 : Premiers pas dans le shell

Voici un premier LinuxLabs qui suscitera pas mal de questions pour une prise en main. Continuer la lecture

Publié dans Laboratoires, Linux | Marqué avec , , , | Laisser un commentaire

LinuxLabs : présentation

Pour bien commencer les LinuxLabs. Continuer la lecture

Publié dans Laboratoires, Linux | Marqué avec , , , , , , , , , , , , , , , | Laisser un commentaire

AsteriskLABs-5 : Trunking VoIP intersite

Trunking VoIP intersite. La liaison entre plusieurs sites en VoIP, soit entre plusieurs PBX à travers TCP/IP est une fonctionnalité qui démontre l’avantage de la technologie. Nous envisageons ici le « Trunking » en SIP et en IAX, en se souciant de la sécurité. Continuer la lecture

Publié dans Laboratoires, VoIP | Marqué avec , , , , , , | Laisser un commentaire

AsteriskLabs-4 : Les boîtes vocales

La fonctionnalité de boîte fait désormais partie des avantages des solutions VoIP. Cet AsteriskLabs se propose de la mettre en oeuvre. Il s’agira également de configurer Asterisk en version localisée dans la langue des utilisateurs. Continuer la lecture

Publié dans Laboratoires, VoIP | Marqué avec , , , , , , | Laisser un commentaire