La Sécurité des Réseaux
La sécurité des réseaux englobe l'ensemble des mesures prises pour protéger
l'intégrité, la confidentialité et la disponibilité des données transmises sur les réseaux
informatiques. Les menaces courantes incluent les attaques par déni de service (DoS),
les malwares, le phishing, et les intrusions non autorisées. Pour contrer ces menaces,
des techniques comme le chiffrement, les pare-feux, les systèmes de détection
d'intrusion (IDS) et la gestion des accès sont utilisées.
La DMZ (Demilitarized Zone)
Une DMZ est une sous-réseau physique ou logique qui sépare un réseau interne
sécurisé d'un réseau externe non sécurisé, généralement l'Internet. La DMZ sert de
zone tampon, contenant des ressources accessibles de manière publique mais isolées
du réseau interne pour empêcher l'accès direct aux données sensibles.
Avantages de la DMZ
- Sécurité Renforcée : La DMZ limite l'exposition des systèmes internes aux attaques
externes.
- Isolation des Services : Les services accessibles au public (comme les serveurs web)
sont isolés du réseau interne, réduisant les risques de compromission.
- Contrôle Granulaire des Accès : Les pare-feux et autres dispositifs de sécurité
peuvent appliquer des politiques d'accès strictes.
Inconvénients de la DMZ
- Complexité de Gestion : La mise en place et la gestion d'une DMZ nécessitent des
compétences techniques avancées.
- Coûts Additionnels : L'implémentation d'une DMZ peut nécessiter du matériel et des
logiciels supplémentaires.
Architecture Réseau avec DMZ
Conception de la DMZ
La conception d'une DMZ implique plusieurs éléments clés, y compris les pare-feux, les
serveurs, et la configuration réseau. Deux types de DMZ couramment utilisés sont :
- DMZ Simple : Utilise un seul pare-feu pour séparer la DMZ du réseau interne.
- DMZ Double : Utilise deux pare-feux, un pour protéger la DMZ du réseau externe et
un autre pour protéger le réseau interne de la DMZ.
Schéma d'Architecture
Voici un schéma d'architecture typique pour une DMZ double :
```
Internet
|
[Pare-feu Externe]
|
|------ DMZ ------|
| |
[Serveur Web] [Serveur FTP]
|
[Pare-feu Interne]
|
Réseau Interne
```
Placement des Services
Les services placés dans la DMZ sont généralement ceux qui doivent être accessibles
publiquement tout en étant isolés du réseau interne. Ceux-ci incluent :
- Serveurs Web : Pour héberger des sites web accessibles au public.
- Serveurs FTP : Pour des transferts de fichiers publics.
- Serveurs DNS : Pour la résolution de noms de domaine.
Le placement de ces services dans la DMZ permet de réduire les risques associés aux
attaques, car même si un serveur de la DMZ est compromis, le réseau interne reste
protégé par le pare-feu interne.
Implémentation de la DMZ
Configuration des Pare-feux
La configuration des pare-feux est cruciale pour la sécurisation de la DMZ. Les règles
de filtrage doivent être strictes et précises pour contrôler le trafic entrant et sortant.
Exemple de Configuration pour un Pare-feu (iptables)
Les commandes `iptables` que vous avez mentionnées sont utilisées pour définir les
politiques par défaut des différentes chaînes de filtrage de paquets. Voici une
explication détaillée de chaque commande :
Configuration de Base d'iptables
1. iptables -P INPUT DROP`
Explication :
- `-P` : Ce paramètre spécifie la politique par défaut pour une chaîne donnée. Dans ce
cas, nous définissons la politique par défaut.
- `INPUT` : Cette chaîne traite tous les paquets entrants destinés au système local. Cela
inclut les paquets qui sont adressés aux interfaces réseau locales.
- `DROP` : Indique que tous les paquets qui atteignent cette chaîne et qui ne
correspondent à aucune règle explicite seront rejetés (abandonnés).
2. `iptables -P FORWARD DROP`
Explication :
- `-P` : Définit la politique par défaut pour une chaîne.
- `FORWARD` : Cette chaîne traite les paquets qui sont acheminés par le système,
c'est-à-dire ceux qui ne sont ni destinés à, ni en provenance du système local, mais qui
passent par le système pour atteindre une autre destination.
- `DROP` : Tous les paquets qui atteignent cette chaîne et qui ne correspondent à
aucune règle explicite seront rejetés.
3. `iptables -P OUTPUT ACCEPT`
Explication :
- `-P` : Définit la politique par défaut pour une chaîne.
- `OUTPUT` : Cette chaîne traite tous les paquets sortants générés par le système local.
- `ACCEPT` : Indique que tous les paquets qui atteignent cette chaîne et qui ne
correspondent à aucune règle explicite seront acceptés (autorisés).
Pourquoi utiliser ces politiques par défaut ?
- INPUT DROP : En fixant cette politique, vous vous assurez que votre système rejette
automatiquement tous les paquets entrants non sollicités. Cela empêche les connexions
non autorisées d'atteindre les services de votre système, réduisant ainsi le risque
d'attaques provenant de l'extérieur.
- FORWARD DROP : En bloquant par défaut les paquets en transit, vous empêchez
votre système de servir de passerelle pour des connexions non autorisées entre
différents réseaux. Cela est particulièrement utile pour des configurations de pare-feu et
de routage strictes.
- OUTPUT ACCEPT : Autoriser tous les paquets sortants par défaut simplifie la
configuration initiale, car cela permet à votre système de communiquer librement vers
l'extérieur. Vous pouvez ensuite ajouter des règles spécifiques pour restreindre les
connexions sortantes si nécessaire.
Exemple de Scénario
Imaginez que vous gérez un serveur web. Vous souhaitez :
- Bloquer toutes les connexions entrantes sauf celles destinées à votre serveur web
(port 80 et 443).
- Empêcher le système de relayer des paquets entre d'autres réseaux (comme un
routeur).
- Permettre à votre serveur de faire des mises à jour et de communiquer vers l'extérieur
sans restrictions.
Avec les politiques par défaut définies comme ci-dessus, vous devrez ajouter des règles
explicites pour autoriser le trafic web entrant. Par exemple :
Autoriser le trafic HTTP et HTTPS entrants
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Autoriser le trafic établi et les connexions relatives
iptables -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
Ces règles permettent uniquement le trafic HTTP et HTTPS, tout en maintenant une
politique de rejet pour tout autre type de trafic entrant.
Autoriser le trafic HTTP et HTTPS vers le serveur web dans la DMZ
iptables -A FORWARD -p tcp --dport 80 -d <DMZ_WEB_SERVER_IP> -j ACCEPT
iptables -A FORWARD -p tcp --dport 443 -d <DMZ_WEB_SERVER_IP> -j ACCEPT
Autoriser le trafic FTP vers le serveur FTP dans la DMZ
iptables -A FORWARD -p tcp --dport 21 -d <DMZ_FTP_SERVER_IP> -j ACCEPT
iptables -A FORWARD -p tcp --dport 20 -d <DMZ_FTP_SERVER_IP> -j ACCEPT
Bloquer tout autre trafic
iptables -A FORWARD -j DROP
Segmentation du Réseau
Pour renforcer la sécurité, il est important de segmenter le réseau en utilisant des
VLANs. Cela permet d'isoler différents types de trafic et de limiter la propagation des
attaques.
Exemple de Configuration VLAN
Création de VLANs
vconfig add eth0 10
vconfig add eth0 20
Configuration des interfaces
ifconfig eth0.10 [Link] netmask [Link]
ifconfig eth0.20 [Link] netmask [Link]
Accès et Contrôles
La gestion des accès est essentielle pour sécuriser la DMZ. Les contrôles d'accès
basés sur les rôles (RBAC) et l'authentification multifactorielle (MFA) doivent être mis en
place.