Firewalls
Download
1 / 29

Firewalls - PowerPoint PPT Presentation


  • 113 Views
  • Uploaded on

Firewalls. Plan du cours. Présentation générale Firewall avec IPChains Firewall avec IPTables (NetFilter). Partie 1. Présentation générale Firewall avec IPChains Firewall avec IPTables (NetFilter). Définition théorique. Firewall Logiciel de contrôle d’accès au niveau du réseau

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Firewalls' - stan


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Firewalls
Firewalls

Ciefa Poly-informatique


Plan du cours
Plan du cours

  • Présentation générale

  • Firewall avec IPChains

  • Firewall avec IPTables (NetFilter)

Ciefa Poly-informatique


Partie 1
Partie 1

  • Présentation générale

  • Firewall avec IPChains

  • Firewall avec IPTables (NetFilter)

Ciefa Poly-informatique


D finition th orique
Définition théorique

  • Firewall

    • Logiciel de contrôle d’accès au niveau du réseau

    • Divers niveaux de filtrage

      • Liaison (adresse MAC, …)

      • Réseau (en têtes IP, IPX, … et type/code ICMP)

      • Transport (ports TCP/UDP)

      • Filtrage adaptatif (« statefull inspection ») ou dynamique

      • Session (« circuit level gateway », SOCKS)

      • Application (relais applicatifs – « application proxys »)

      • Combinaison….

Ciefa Poly-informatique


D finition pratique
Définition pratique

  • Mais pratiquement :

    • Fonctionnalité principale : filtrage IP

    • Fonctionnalité supplémentaire svt présente : traduction d’adresses et de ports

  • Filtrage IP

    • Idée : contrôler les paquets IP autorisés à atteindre un hôte

    • Intérêt : sécuriser un hôte de façon globale (au niveau réseau)

  • Traduction d’adresses et de ports

    • Idée : réécrire les en-têtes des paquets

    • Intérêt : faire face à la pénurie d’adresses routables sur l’Internet.

Ciefa Poly-informatique


Avantages des firewalls
Avantages des firewalls

  • Gestion de la sécurité concentrée

  • Configuration peu sensible à l’échelle du périmètre de sécurité

  • Capacité d’audit du trafic réseau

  • Traces supplémentaires pour certains incidents

  • Concentrer la maintenance à quelques heures/jours sur une ou plusieurs machines plutôt qu’un parc

Ciefa Poly-informatique


Inconv nients des firewalls
Inconvénients des firewalls

  • Goulet d’étranglement réseau

  • Point névralgique de l’architecture de sécurité

  • Complexe :

    • Connaissance nécessaire des protocoles filtrés (TCP/IP, HTTP, … mais aussi FTP, SQL, …)

    • Compréhension du fonctionnement du pare-feu (interface entre les divers niveaux de filtrage, traduction d’adresse…)

Ciefa Poly-informatique


Firewalls libres
Firewalls libres

  • Netfilter

    • Filtre de paquets du noyau Linux 2.4

    • Successeur d’IPChains (Linux 2.2)

    • Développé par Paul Russell

  • IP Filter

    • Filtre de paquets fonctionnant sous Unix libres et propriétaires

    • Intégré dans FreeBSD et NetBSD

    • Conçu et développé par Darren Reed

  • Packet Filter

    • Filtre de paquets dans OpenBSD (à partir de la version 3.0)

    • Conçu par Daniel Hartmeier

Ciefa Poly-informatique


Filtrage ip standard
Filtrage IP standard

  • Critères

    • Interface réseau : entrée ou sortie

    • Adresses IP (source et destination) : hôte ou sous-réseau

    • Champs de l’en-tête IP :

      • Fragmentation

      • TOS et TTL

      • Options IP

    • Protocoles de niveau 4 : TCP, UDP et ICMP

      • Ports source et destination (TCP et UDP)

      • Drapeaux (TCP)

      • Types et codes (ICMP)

  • Actions

    • Laisser passer (ACCEPT)

    • Bloquer (DENY ou DROP)

    • Rejeter (REJECT) => message ICMP ou segment TCP avec drapeau RST

Ciefa Poly-informatique


Filtrage tats statefull
Filtrage à états (statefull)

  • Principe :

    • Filtrage dynamique, en conservant des états pour les connexions en cours

    • Seuls des paquets correspondants à un état pré-existant sont acceptés

  • Intérêt :

    • Simplifie l’écriture des règles de filtrage

    • Améliore la sécurité, en n’autorisant que le trafic effectivement licite

  • Protocoles :

    • TCP

      • Segments appartenant à une connexion TCP en cours

    • UDP

      • Datagrammes en réponse à un datagramme UDP émis

      • Messages ICMP d’erreur

    • ICMP

      • Messages ICMP en réponse à un message ICMP émis

Ciefa Poly-informatique


Filtrage tats mise en oeuvre
Filtrage à états : mise en oeuvre

  • Mise en œuvre :

    • Création d’un état lors de la traversée du premier paquet

    • Mémorisation de paramètres identifiant de façon unique une connexion

    • Validation des paquets par comparaison des états courants

    • Expiration des états après un temps paramétrable

  • Paramètres conservés :

    • Adresses source et destination

    • Ports source et destination

    • Type, code, identifiant et numéro de séquence (ICMP)

  • TCP :

    • S’assurer que des segments TCP font partie d’une connexion en cours est complexe

    • Real Stateful TCP Packet Filtering in IPFilter

      => http://home.iae.nl/users/guido/papers/tcp_filtering.ps.gz

Ciefa Poly-informatique


Traduction d adresses et de ports nat
Traduction d’adresses et de ports (NAT)

  • Traduction d’adresses

    • Uni-directionnelle

      • Traduction en sortie d’adresses (typiquement) privées en adresse(s) publique(s)

      • Possibilité de changer le port source

    • Bi-directionnelle

      • Traduction d’une adresse (typiquement) publique en une phrase (typiquement) privée et réciproquement

  • Redirection de ports

    • Redirection d’un port en entrée vers un autre, en modifiant l’adresse de destination ou non

  • Mise en oeuvre :

    • Fonctionnalités présentes dans Netfilter, IPFilter, Packet Filter

    • Ne sont pas détaillées ici

Ciefa Poly-informatique


Zone d militaris e dmz
Zone démilitarisée (DMZ)

Internet

ppp0 – 213.11.32.10

Firewall

DMZ

eth0 – 213.11.32.50

eth1 – 192.168.1.1

Apache

DNS

Lotus

213.11.32.20

213.11.32.30

213.11.32.40

LAN – 192.168.0.0/16

Ciefa Poly-informatique


Zone d militaris e dmz r gles
Zone démilitarisée (DMZ) : règles

  • On ne peut pas initier de connexion depuis Internet vers le LAN directement.

  • Le contraire est possible, souvent en camouflant les adresses du réseau interne (masquerade sous Linux, ou NAT, …)

  • LAN : stratégie de sécurisation par réseau (sécurisation du point d’accès). Le firewall est alors un élément de cloisonnement.

  • DMZ : stratégie de sécurisation par hôte : chaque serveur est configuré et sécurisé en fonction des services qu’il supporte.

Ciefa Poly-informatique


Partie 2
Partie 2

  • Présentation générale

  • Firewall avec IPChains

  • Firewall avec IPTables (NetFilter)

Ciefa Poly-informatique


F irewall avec ip chains
FireWall avec IP-Chains

  • Possibilités

  • Principe de base

  • Options

  • Mise en service

Ciefa Poly-informatique


Ipchains possibilit s 1 2
IPChains : possibilités (1/2)

  • ipchains est l'un des systèmes de filtrage utilisable sur les noyaux 2.2

  • Il est dérivé de ipfw un système présent sur d'autres Unix

  • Il est très puissant :

    • Comptage de traffic

    • Blocage de traffic non souhaité

    • Masquage d'adresses (n : 1)

    • Détournement vers un service local

Ciefa Poly-informatique


Ipchains possibilit s 2 2
IPChains : possibilités (2/2)

  • Chaque règle sélectionne les paquets sur les critères :

    • Adresse IP source du paquet

    • Adresse IP destination du paquet

    • Type de protocole (TCP, UDP, ICMP)

    • Port de protocle adressé (source, destination)

    • Interface IP traversée

    • Type de paquet (connexion, transfert)

  • Chaque règle permet les actions suivantes :

    • Autorisation du paquet

    • Destruction du paquet

    • Rejet du paquet avec message d'erreur

    • Détournement du paquet sur un serveur local

Ciefa Poly-informatique


Ipchains principe de base
IPChains : principe de base

  • ipchains s'organise par chaînes

  • Une chaîne est un ensemble de règles, qui déterminent ce qui devrait arriver à un certain type de paquet réseau.

  • Il existe 3 chaînes fixes :

    • Input : pour les paquets arrivant

    • Forward : pour les paquets redirigés vers un autre hôte

    • Output : pour les paquets transmis par la filtre

  • Les règles de chaque chaîne dépendent de leur ordre. Quand un paquet arrive, il est comparé aux règles de la chaîne pertinente, depuis la première jusqu’à la dernière.

  • Ipchains CMD [chain] [rule-spec|num] [options]

    =>Ex : ipchains –A input –i eth0 -s 192.168.0.1 –p TCP –j DENY

Ciefa Poly-informatique


Ipchains options
IPChains : options

  • Cibles (option –j => paquet envoyé sur cible) :

    • ACCEPT

    • DENY

    • REJECT (=> icmp)

    • MASQ(option CONFIG_IP_MASQUERADE nécessaire)

  • Commandes :

    • -A (= ajouter)

    • -D (= supprimer)

    • -R (= remplacer)

    • -C (= vérifier)

  • Options :

    • -p [!] protocol =>icmp, tcp, udp, all

    • -s [!] addr ([!] port) => adresse source (-d pour destination)

    • -i [!] interface

    • -j target => s’il y a correspondance, paquet envoyé vers cette cible

Ciefa Poly-informatique


Ipchains mise en service
IPChains : mise en service

  • Un support noyau est obligatoire (présent de base maintenant)

  • Il faut insérer des options :

    • "Network firewalls" ( CONFIG_FIREWALL=y )

    • "IP: firewalling" ( CONFIG_IP_FIREWALL=y )

  • En standard sur noyaux 2.1.x et 2.2.x

  • Les règles peuvent être éditées dynamiquement

  • Il faut sauvegarder une version de filtrage

  • Il faut installer la version sauvegardée au boot

  • Ne pas oublier :

    • De mettre les filtres avant d'activer les interfaces réseau

    • De mettre les filtres avant d'activer le routage de paquets IP

Ciefa Poly-informatique


Partie 3
Partie 3

  • Présentation générale

  • Firewall avec IPChains

  • Firewall avec IPTables (NetFilter)

Ciefa Poly-informatique


F irewall avec ip tables
FireWall avec IP-Tables

  • IPChains vs IPTables

  • Principe de base

  • Options

  • Nouveauté

  • Exemple

Ciefa Poly-informatique


Iptables vs ipchains
IPTables vs IPChains

  • iptables est l'un des systèmes de filtrage utilisable sur les noyaux 2.4 (et les dernières versions du noyau 2.3)

  • Il est une évolution de la commande ipchains afin de clarifier certains points (comme le forwarding entre interfaces).

  • Il incorpore les fonctionnalités de différentes commandes issues de ipchains et ipfwadm => regroupe toutes les fonctionnalités Linux relatives au filtrage de paquets.

Ciefa Poly-informatique


Iptables principe de base
IPTables : principe de base

  • iptables s'organise par tables

  • Chaque table contient une série de chaînes de règles.

  • Il existe 3 tables principales :

    • Filtre : contient les chaînes INPUT, FORWARD et OUTPUT (table par défaut)

    • NAT : s’occupe de la conversion d’adresse de réseau. Contient les chaînes PREROUTING, OUTPUT et POSTROUTING.

    • Mangle : permet une modification des paquets à la volée. Contient les chaînes PREROUTING et OUTPUT.

  • Les règles de chaque chaîne dépendent de leur ordre. Quand un paquet arrive, il est comparé aux règles de la chaîne pertinente appartenant à la table pertinente, depuis la première jusqu’à la dernière.

  • iptables [-t table] CMD [chain] [rule-spec|num] [options]

    =>Ex : iptables –t filter –A input –i eth0 -s 192.168.0.1 –p TCP –j DENY

Ciefa Poly-informatique


Iptables options
IPTables : options

  • Cibles (option –j => paquet envoyé sur cible) :

    • Cibles de ipchains…

    • SNAT (=> adresse source convertie => dans chaîne POSTROUTING de table NAT)

    • DNAT (=> adresse dest. Convertie => dans chaîne PREROUTING de table NAT)

    • LOG(nécessité d’avoir chargé le module concerné dans le noyau)

  • Commandes :

    • Commandes de ipchains…

    • -N (--new-chain), -X (--delete-chain)

    • -F (--flush) => supprime toutes les règles de la chaîne et de la table concernée

  • Options :

    • Options de ipchains…

    • -i [!] interface =>spécifie l’interface de réception => chaînes INPUT, FORWARD et PREROUTING

    • -o [!] interface =>spécifie l’interface d’expédition => chaînes OUTPUT, FORWARD et POSTROUTING

    • [!] –syn =>spécifie que cette règle ne devrait satisfaire que des paquets TCP que s’ils initient la connexion

Ciefa Poly-informatique


Iptables nouveaut
IPTables : nouveauté

  • Capacité de créer des règles de comparaison fondées sur les états des paquets => due au module state

  • Syntaxe : iptables –m state –state [!] [state, state,…]

  • Etats possibles :

    • NEW : compare les paquets n’appartenant à aucune connexion en cours

    • ESTABLISHED : compare les paquets appartenant à une connexion déjà ouverte

    • RELATED : compare les paquets qui appartiennent à une autre connexion, par exemple les messages ICMP d’erreur, ou le trafic lié au fonctionnement d’un protocole applicatif (ftp data => modes passif ou actif)…

    • INVALID : compare les paquets qui n’ont aucun sens dans le contexte de la connexion existante, ou ceux qui n’ont pu être reçus pour une raison quelconque.

Ciefa Poly-informatique


Iptables exemple
IPTables : exemple

  • Le firewall et le réseau interne peuvent tout faire, pas Internet.

  • Les adresses du réseau interne sont masquées pour sortir vers Internet. IFACE=eth0

  • # Masque en sortie l’interface eth0

    iptables -t nat -A POSTROUTING -o $IFACE -j MASQUERADE

  • # Crée une chaîne qui bloque tout tentative de connexion de l’extérieur

    iptables -N block

    iptables -A block -m state --state INVALID -j DROP

    iptables -A block -m state --state ESTABLISHED,RELATED -j ACCEPT

    iptables -A block -m state --state NEW -i ! $IFACE -p icmp --icmp-type echo-request -j ACCEPT

    iptables -A block -m state --state NEW -i ! $IFACE -p udp -j ACCEPT

    iptables -A block -m state --state NEW -i ! $IFACE -p tcp --syn -j ACCEPT

    iptables -A block -i $IFACE -m limit --limit 3/s -j LOG --log-prefix "Bad packet from $IFACE:"

    iptables -A block -i ! $IFACE -m limit --limit 3/s -j LOG --log-prefix "Bad packet not from $IFACE: "

    iptables -A block -j DROP

  • # Fais correspondre les chaînes INPUT et FORWARD avec cette chaîne

    iptables -A INPUT -j block

    iptables -A FORWARD -j block

  • # Active le forwarding IP :echo 1 > /proc/sys/net/ipv4/ip_forward

Ciefa Poly-informatique


Ipchains iptables vs fw 1
IPChains, IPTables vs FW-1

Argument pour comparer et critiquer les firewall propriétaires (ex Fw-1 de Cisco) et les firewall libres : le caractère « statefull »

Entre un firewall type kernel 2.2 (ipchain) et un firewall type kernel 2.4 (iptable), il n'y a pas de comparaison. Ce que l'on appelle communément désormais "statefull", qui consiste a traiter les flux en fonction de leur état (state), connecté, en relation ... FAIT TOUTE LA DIFFERENCE.

On ne peut pas comparer FW-1 et linux-2.2 pour cette raison. Un firewall qui ne se souvient pas des états des connexions est obligé de laisser entrer tous les ports hauts (1025-65535) pour laisser passer les réponses aux requêtes émises par les clients du réseau interne, ce qui représente beaucoup de tracas en terme de sécurité.

=> linux-2.2 est comparable aux routeurs avec acl de cisco. cisco ne les vends pas en temps que "firewall".

=> linux-2.4 est concurrent de FW-1 (checkpoint) et des pix (cisco). Il est sans doute même meilleur car plus configurable.

=> donc attention, "statefull" n'est pas juste un argument marketing

Ciefa Poly-informatique


ad