Partie I : ANNEXES

 

TABLE DES MATIERES DE LA PAGE :

Annexe 1: Quelques définitions essentielles. 1

Annexe 2: Script pour le Firewall (Script 1) 2

Annexe 3: Script pour le proxy SQUID (Script 2) 2

Annexe 4 : Rapide description des différents logiciels utilisés. 2

1. Le logiciel SAINT/LYNX.. 2

2. Détecteur d’intrusion (IDS) SNORT. 2

3. Proxy http/ftp SQUID. 8

4. SAMBA.. 13

5. Sniffer ETHEREAL.. 21

6. Webalyser (Supervision Proxy http SQUID). 27

7. Ntop (Supervision du trafic Ethernet). 32

8. Cheops (Gestion du réseau local) 35

9. La page d’accueil de la machine de supervision. 38

10. Le logiciel AntiSniff. 42

11. les deux Firewalls personnels sous NT.. 48

Annexe 5 : Les différentes configurations d’un Firewall.. 59

____________________________________________________

 

Annexe 1: Quelques définitions essentielles

§         ARP (Address Resolution Protocol) : Affiche un cache d'adresses IP résolues en adresses MAC (Media Access Control).

 

§         DNS (Domain Name Server): Le nom de domaine est un nom (ou une adresse) unique qui identifie un site Internet. Un nom de domaine est toujours composé en deux ou plusieurs parties, séparées chacune par un point (par exemple medianis.com). La première partie correspond en général au nom de l'organisation propriétaire du site (dans sa forme originale ou abrégée), la seconde partie, appelée également suffixe fonctionnel, précise l'activité de l'organisation. Les noms de domaine sont donnés dans l'ordre des demandes, les suffixes fonctionnels en fonction de l'activité de l'organisation qui en fait la demande.

 

§         HOSTNAME : Renvoie le nom d'hôte de l'ordinateur local.

 

§         IPCONFIG : Vérifie la configuration TCP/IP, les adresse des serveurs DHCP, WINS, DNS.

 

§         MAC (Message Authentification Code). Lors de la vérification de l’intégrité ou de l’authentification d’une message, une méthode consiste à utiliser un algorithme de chiffrement par blocs en mode chaîné. On peut par exemple chiffrer les données à l’aide d’un DES en mode CBC, puis considérer le dernier bloc comme étant le MAC. Le destinataire ne pourra vérifier l’intégrité des données que s’il possède la clé symétrique ayant servi à la génération du MAC. Contrairement à la signature digitale, seul un destinataire particulier sera en mesure de faire cette opération. L’utilisation de MAC (monde bancaire par exemple) n’assure pas vraiment la non-répudiation : les destinataires possède en effet la même clé symétrique que l’expéditeur. Ce dernier peut donc légitimement nier avoir signé telles données en générant un MAC, arguant du fait qu’il n’est pas le seul à pouvoir le faire. Il faut s’assurer d’un canal sûr pour transmettre la clé symétrique (voir HMAC aussi).Le MAC est fait de la façon suivante (effectué avant chiffrement, puis chiffré):

HASH(clé partagée||pad_2||HASH(clé partagée||pad_1||numéro de ce massage||protocole pour ce message||longueur de ce message||les données (compressées))

La fonction de condensation (HASH()) est soit MD5 soit SHA-1:

pad_1 = 0x36 et pad_2 = 0x5C (répétés 40 fois pour SHA-1 et 48 fois pour MD5).

 

§         NETBeui (NetBIOS Extended User Interface) : protocole de la couche réseau. Conçu par IBM en 1985, ce protocole réseau est utilisé dans des petits réseaux locaux jusque 200 clients. Il gère 2 types de trafics:

- mode non connecté, non fiable, avec lequel l'expéditeur envoie des paquets au destinataire sans établir de connexion et sans garantie que les paquets arrivent bien. Utilisé pour la résolution de noms essentiellement.

- mode connecté, fiable, avec lequel l’expéditeur est le destinataire établissent une connexion fiable avant tout transfert de données.

Utilisé pour des commandes telles que "net use", "net view", "net start", ...

 

§         NETSTAT : Affiche les statistiques du protocole ainsi que l'état courant des connexions TCP/IP. Sur un serveur NT, Netstat affiche aussi la table de routage. De plus, si l'on désire afficher les statistiques Ethernet et TCP/IP, c'est Netstat qu'il faut utiliser.

 

§         PING (Packet Internet Groper) : Vérifie que TCP/IP est correctement configuré et qu'un hôte est disponible.

 

§         POP3 (Post Office Protocol version 3). Protocole permettant à un utilisateur connecté sur une ligne intermittente d'interroger son courrier situé dans la boîte aux lettres de son serveur ou fournisseur.

 

§         Proxy transparent (HTTP, FTP et SMTP) : passerelles applicatives entre les postes clients et les serveurs consultés. Un proxy apporte un niveau de sécurité supplémentaire par rapport au filtrage de paquets. Alors que ce dernier se base sur les adresses, protocoles et numéros de port, le proxy intervient au niveau applicatif, permettant ainsi de sécuriser des fonctions de plus haut niveau. Le mode transparent permet aux postes clients du réseau local d’envoyer les requêtes vers l'extérieur sans aucune modification de leur configuration logicielle. Les logiciels clients classiques (tels que Netscape Navigator ou Microsoft Internet Explorer) fonctionneront à travers le proxy sans pour autant avoir été spécifiquement configurés à cet effet.

 

§         ROUTE : Affiche ou modifie la table de routage locale.

 

§         Telnet : Assure l'émulation de terminal pour un hôte TCP/IP exécutant le logiciel serveur Telnet. Ne fonctionne pas sur un serveur NT. Telnet est utilisé par exemple, pour visualiser des données sur un ordinateur Unix à partir d'un ordinateur NT. Il faut cependant qu'il puisse utilisé un serveur DNS ou un fichier HOST TRACERT : Vérifie les routes empruntées entre l'hôte local et l'hôte distant.

 

§         Traduction d’adresse (ou NAT –Network Address Translation-) : La Traduction d'adresses est le dispositif qui rend les machines internes invisibles vis à vis de l'extérieur (l’Internet). Deux techniques sont mises en œuvre : Le masquage d'adresses (IP Masquerading) qui modifie l’en-tête de chaque paquet provenant du réseau interne et sortant vers l'Internet en y remplaçant l'adresse IP émettrice par celle du Firewall (ce processus permet également l’utilisation d’adresses IP ‘non routables’ sur le réseau privé interne). Le renvoi de port (Port Forwarding) permet de publier l'adresse IP du Firewall en tant que serveur DNS et Mail. Ce dernier renverra automatiquement les paquets SMTP et DNS vers le serveur interne approprié. En pratique, cela se traduit par une machine (celle qui supportera par conséquent la NAT) qui réalise des calculs (pas au sens mathématique !J) pour faire sortir des paquets venant d'une IP interne avec sa propre adresse IP (en transformant l'en-tête du datagramme, ce qui pose doncun problème si ceux-ci sont cryptés comme avec SSL…), et refaire la transformation inverse dès le retour du paquet afin de délivrer la réponse.

 

§   VPN (Virtual Private Network) :  Par cette technologie de codage des données, il est possible, à travers l’Internet, d’échanger des informations de manière confidentielle entre 2 LANs équipés de WatchGuard par exemple ou entre un WatchGuard et un client dial-up supportant PPTP (Windows NT par exemple).

 

 

Annexe 2: Script pour le Firewall (Script 1)

Pour des raisons évidentes de sécurité, j’ai tronqué et modifié certaines règles de ces scripts en plus d’avoir remplacé (comme je l’avais dit au tout début de mon rapport) les adresses IP interfaces des différentes machines. Ce script n’est donc pas celui qui est en production actuellement chez AQSACOM, mais un exemple de script pour donner une idée de ce que sont des règles de routage, d’ipchains et d’iptables.

Le script se trouve ici.

 

 

Annexe 3: Script pour le proxy SQUID (Script 2)

Le script a été installé sur le firewall et se trouve ici.

 

 

Annexe 4 : Rapide description des différents logiciels utilisés

1. Le logiciel SAINT/LYNX 

SAINT™ est l’abréviation de Security Administrator's Integrated Network Tool. Dans sa configuration la plus simple, il rassemble le plus d’informations possible sur le réseau en examinant les services réseau comme finger, NFS, NIS, ftp, rexd, statd, telnet, etc. … Ces informations permettent de récolter de nombreuses informations sur les services actifs du réseau, ainsi que sur les trous de sécurité éventuels. De plus, grâce à un browser HTML comme Lynx dans mon cas (ou Mosaic entre autres), nous pouvons afficher tous ces résultats sous la forme d’une page web assez claire. Dans le cas où les tests d’intrusion sont fait dans un but de sécurisation, nous pouvons avoir des détails sur la topologie du réseau, les services actifs, les différents types de hardware et softwares utilisés sur le réseau…

-         Saint a est un programme de traçage qui utilise fping. Il permet de déterminer si un PC ou un ensemble de PC sont actifs.

-         Dans le cas où le PC visé est derrière un Firewall, on utilise tcp_scan.

Les tests faits dépendent du niveau de sécurité recherché, ainsi que de la distance entre nous et la (les) machine(s) visée(s).

 

2. Détecteur d’intrusion (IDS) SNORT.

C’est un logiciel qui permet de détecter d’éventuelles intrusions sur le réseau. Il comporte l'enregistrement basé par règles et peut chercher des comptabilités entre des mots ou des bouts de phrases en plus de l'utilisation pour détecter une variété d'autres attaques. Il avertit en cas de débordement de mémoire tampon, de balayages de port de stealth, et beaucoup plus. Snort est alors capable d’alerter en temps réel via des alertes envoyées au syslog (fichier d’alerte à part) ou à un ordinateur sous Windows par l'intermédiaire de SAMBA.

Il peut être configuré en trois modes :

1.      straight packet sniffer” comme tcpdump, mais qui fait alors double emploi avec Ethereal.

2.      packet logger”, utile pour le debbugage de réseau,

3.      full blown network intrusion detection system”, cas qui nous intéresse ici.

Il peut être installé aussi bien sous Linux que sous Windows NT, ce qui est  très intéressant.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Pour être mis à jour, SnortSnarf doit être relancé manuellement. Aussi, ai-je mis en place une mise à jour automatique toutes les heures et une remise à zéro tous les mois grâce aux fichiers cron de la machine Linux de supervision.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


3. Proxy http/ftp SQUID.

Squid est un logiciel qui part du principe, que dans un même lieu les gens vont souvent voir les mêmes choses sur Internet. Il est donc judicieux d'éviter de rechercher à l'autre bout de la planète une page 5 fois de suite. C'est pourquoi on utilise un mandataire (un intermédiaire), qui va faire la recherche au nom d’un premier client. Si un second client demande la même page, le mandataire va reprendre la page, qu'il a déjà cherchée, dans un stock qu'il s'est constitué dans sa mémoire cache, et cela dans un temps bien plus court que celui nécessaire normalement.

Couplé à d'autres logiciels comme SQUIDGUARD, on peut établir des règles de filtrage sur les accès à certaines catégories d'URLs. Un logiciel comme PROSTAT permet d'effectuer des statistiques. Enfin un outil tel que MRTG permet de surveiller l'activité du cache via le protocole SNMP (Simple Network Management Protocol).

 

 

4. SAMBA

Samba est une suite de programmes qui donnent à un poste Linux la faculté de partager par exemple des fichiers ou des imprimantes entre des ordinateurs sous OS/2, Windows NT, Windows 95/98 et Windows for Workgroups. Grâce à Samba, ce poste peut se présenter comme  un serveur NT. Les utilisateurs de machines Windows peuvent "se loguer" au serveur Linux et, selon les droits qui leur sont alloués, copier, écrire ou accéder aux fichiers de ce poste.

Utiliser SAMBA présente les avantages suivants :

·                     La fiabilité et la stabilité du système Linux, ainsi que ses outils puissants et souvent gratuits (Apache, langages de programmation,...) pour simplifier l'administration du serveur.

·                     La simplicité de mise en œuvre, tout en gardant une certaine sécurité.

·                     Le prix : Linux et Samba sont gratuits, donc pas d'investissement en logiciel côté serveur. Côté station Windows, on utilise le client pour les réseaux Microsoft, vendu avec Windows, donc pas d'investissement supplémentaire à prévoir.

 

 

5. Sniffer ETHEREAL

ETHEREAL est un analyseur de protocole de réseau gratuit pour Unix et Windows. Il permet d'examiner les données à partir d'un réseau, en direct ou à partir d'une capture de fichier sur disque. Vous pouvez naviguer de façon interactive sur les données capturées, visionner le résumé et l'information détaillée pour chaque ensemble. ETHEREAL possède quelques fonctions performantes, comme un affichage de langage filtré et la possibilité de visionner le flux reconstitué de la session TCP.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


6. Webalyser (Supervision Proxy http SQUID).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



Webalizer est un outil qui permet de présenter de manière synthétique les logs d'Apache sous forme de pages html avec graphique.

 


7. Ntop (Supervision du trafic Ethernet).

Ntop délivre une quantité impressionnante d'informations sur le trafic du réseau. Nous pouvons ainsi observer pratiquement toutes les caractéristiques du trafic (entrant et sortant). Pour cela, une interface web est proposée (ntop peut se lancer également en mode ligne). La version courante est la 1.3.1.

 

8. Cheops (Gestion du réseau local)

 

9. La page d’accueil de la machine de supervision

J’ai mis en place une page d’accueil sur la machine de supervision qui regroupe l’accès aux logiciels décrits si-dessus (SQUID, SNORT, NTOP, …). Cette page est accessible de tout ordinateur connecté au réseau via un URL donné et un login /passwd. Voici un aperçu de cette "home page" : 

Apache est un logiciel permettant de monter un serveur http (web) sur une machine Linux/Unix. Je pense qu’il n’est pas besoin d’en parler beaucoup plus vu sa notoriété ! Il a été utilisé pour monter cette page ci-dessus.

 

10. Le logiciel AntiSniff

 

 

 

11. les deux Firewalls personnels sous NT

·        Le firewall Zone Alarm

 

 

 

·        Le firewall Tiny Alarm 

 

 

 

Annexe 5 : Les différentes configurations d’un Firewall

 


 

 

Il existe 2 types principaux de Firewall :

1.      Firewall à filtrage de paquets

Ils travaillent sur les paquets réseaux eux-même. Pour les personnes qui ont des connaissances réseaux, ce type de Firewall travaille sur la couche réseau du modèle OSI. Ils analysent les paquets entrants/sortants suivant leur type, leurs adresses source et destination et les ports. Comme ils travaillent directement sur la couche IP, ils sont très peu gourmands en mémoire. Avec Linux ce style de filtrage au niveau de la couche IP est intégré directement dans le noyau, il suffit donc d'avoir un 486 avec 8 Mo de mémoire et d'une distribution Linux avec juste un kernel de base et la couche IP pour faire un tel Firewall.

De plus ils sont totalement transparents pour les utilisateurs, pas d'authentification pour aller vers l'extérieur et pas de paramétrages spécifiques sur les machines des utilisateurs. Un désavantage, c'est qu'il n'y a pas d'authentification possible par utilisateur mais par adresse IP. C'est à dire que si l'on veut en interne interdire à certaine personnes d'aller vers l'extérieur ce n'est possible que si l'on connaît l'adresse de la machine de cet utilisateur, on ne peut pas empêcher que la personne aille sur une autre machine et il faut de plus que les machines aient toujours la même adresse, ce qui peut poser problème lorsqu'on on utilise du DHCP.

2.         Firewall Proxy

Les Proxies serveur sont utilisés pour contrôler et analyser tout trafic avec l'extérieur. Certains proxies utilisent en plus un cache, c'est à dire qu'ils stockent des données en local, ce qui permet de réduire le trafic réseau, en effet si une même donnée est demandée plusieurs fois, au lieu d'aller la chercher à nouveau à l'extérieur c'est le proxy lui même qui la fournit. Leur fonctionnement dépend de leur type :

 

Attention : Malgré que la mise en place d’un Firewall soit une protection quasi forcée de nos jours pour une entreprise, il existe des failles, dont la plus simple à comprendre est par exemple le cas d’un pare-feu mandataire. En effet, imaginons que nous disposions d'un réseau et d'un serveur très sécurisés. Disposant aussi d’une zone démilitarisée, personne ne peut entrer dans notre réseau et nous pouvons tracer chaque connexion réalisée vers le monde extérieur de même que celles qui rentrent (ou veulent rentrer !) dans notre réseau. Nous obligeons tous nos utilisateurs à passer par un mandataire et le seul service autorisé directement vers l'extérieur est le DNS (port 53). Mais un port, c'est tout ce qu'il faut pour rendre un pare-feu inutile ! Voici comment cela se passe : commençons par configurer une machine Linux quelque part en dehors de notre réseau. Un bon choix pourrait être une machine personnelle connectée à Internet par un modem-câble. Demandons trois adresses IP à notre FAI. De nombreuses entreprises en fournissent jusqu'à trois. Sur cette machine, vous devez installer la partie client d'un réseau privé virtuel (VPN) (cf. http://sunsite.auc.dk/vpnd/ par exemple). Maintenant, configurons le côté serveur du VPN sur une autre machine Linux et connectons ce serveur à son client par le port 53. Activons le routage et la transmission IP et placons une adresse IP inutilisée (obtenue de votre FAI) sur son port réseau local. Finalement, sur un poste du réseau privé, changeons la passerelle par défaut afin qu'elle pointe sur le serveur du VPN et ajoutons la troisième adresse IP sur son port réseau local. Maintenant, depuis ce poste, nous pouvons aller n'importe où. La seule chose que l'administrateur réseau verra sera une recherche DNS particulièrement longue, mais il n’aura probablement aucune raison d’y regarder de plus près…

 

Présentation de AQSACOM

RAPPORT :

La mise en place du pare feu sous LINUX

La mise en place du VPN

Le sniffage discret d’un réseau

La sécurisation de machines sous NT et LINUX

RETOUR A LA PAGE PRINCIPALE