SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
c0r3war at gmail dot com - 2013
Rappels réseau
UDP, TCP, ICMP, ARP
Upper Datagram Protocol
Transmission Control Protocol
Internet Message Control Protocol
Address Resolution Protocol (layer 2)
C quoi un firewall?
Definition
...software or hardware-based network security
system that controls the incoming and outgoing
network traffic by analyzing the data packets and
determining whether they should be allowed
through or not, based on a rule set.
C quoi un firewall?
Positionnement
C quoi un firewall?
Fonctionnalités
(Routage)
Filtrage
Nat
Gateway VPN
Proxy
Fonctionnalités de protection avancées
C quoi un firewall?
Concepts de base
Stateful vs Stateless
Drop vs Reject
DNAT, SNAT, PAT, RFC 1918
Policy / Rulebase
Ordonancement
Tout ce qui n'est pas autorisé est interdit!
1 Stealth Rule
2 Autoriser TCP port 80 vers Webserver
3 Autoriser TCP port 25 vers Serveur SMTP
4 Autoriser TCP ports 80, 443 vers Any sauf réseau interne
...
N Cleanup Rule
Policy / Rulebase
Règle
@ IP
Source
Protocole
& port
@ IP
Destination
Action
Policy / Rulebase
Règles de base
● Drop plutôt que Reject
● Toujours masquer le Firewall
● Contrôler strictement les flux ICMP
● Contrôler strictement les protocoles non captifs (RDP,
SSH...)
● Activer les fonction de protection contre les attaques
connues (antispoofing, Syn defender, conformité des
paquets...)
● Documenter et revoir régulièrement les règles du
firewall
Netfilter
Firewalling sous Linux
{ip, ip6}tables + netfilter = Stateful firewall Linux
Kernel > 2.4
Cerifié par l'ANSSI (CSPN, avis 2009/04)
Netfilter
Fonctionnalités
Filtrage stateful & stateless (TCP, UDP, ICMP)
Filtrage couche 7 pour FTP, IPSec
NAT (DNAT, SNAT, PAT, Masquerading)
Protection DoS
Netfilter
Tables et chaînes
TABLE
CHAINE
input
CHAINE
output
CHAINE
forward
Règle
Règle
Règle
Règle
Règle
Règle
Netfilter
Tables et chaînes
Table Chaîne Fonction
FILTER input filtre les paquets à destination de la machine
ouput filtre les paquets qui quittent la machine
forward filtre les paquets qui traversent la machine
NAT prerouting NAT avant routage (DNAT, PAT)
postrouting NAT après routage (SNAT)
output NAT des paquets émis par la machine
MANGLE prerouting modification des paquets avant routage
postrouting modification des paquets après routage
output modification des paquets émis par la machine
input modification des paquets à destination de la machine
forward modification des paquets qui traversent la machine
Netfilter
Traitement des paquets
mangle
prerouting
nat
prerouting
ROUTAGEmangle
input
dest=
FW?
mangle
forward
filter
forward
mangle
postrouting
nat
postrouting
filter
input
TRAITEMENTROUTAGE
mangle
output
nat
output
filter
output
Yes No
Network
Netfilter
iptables/ip6tables
iptables [-t table]commande [correspondance]
[cible/saut]
-t table Indique dans quelle table on travaille (par défaut, FILTER)
commande Action à effectuer sur la table (ajout, suppression, insertion
de règle dans une chaine, nettoyage de la chaine...)
correspondance Critères de selection d'un paquet ou d'un flux (adresse
source ou destination, protocole, état...)
-cible/saut Action à effectuer si il y a correspondance, peut être une
cible prédéfinie ou une liste utilisateur, peut prendre
plusieurs arguments
Netfilter
Commandes les plus courantes
-A chaine, -I
chaine [pos]
Ajoute un règle à la fin de la chaine (-A) ou insère (-I) une règle à
la position indiquée par pos dans la chaine (si pos absent,
insère au début)
-D chaine
[num|match]
Supprime une règle dans la chaine chaine (soit la règle numéro
num, soit celle dont la definition correspond à match, match étant
la correspondance +la cible)
-F [chaine] Supprime toutes les règles de la chaine chaine, ou toutes les
chaines de la table
-L [chaine] Liste toutes les règles de la chaine chaine, ou toutes les chaines
de la table, ou toutes les chaines de toutes les tables
-P chaine
cible
Permet de definir la politique par défaut (paramètre cible) pour
la chaine chaine.
-N chaine, -X
chaine
Permet de créer ou de supprimer une chaine utilisateur
Netfilter
Correspondances les plus courantes
--protocol Permet de définir le protocole sur lequel
porte la règle (TCP, UDP, ICMP, ALL)
-s, --src, --source, --
src-range (-m iprange)
Permet de selectionner le paquet sur adresse
source
-d, --dst, --destination,
--dst-range (-m iprange)
Permet de selectionner le paquet sur
l'adresse destination
--sport, --source-port Permet de selectionner le paquet sur port
source
--dport, --destination-
port
Permet de selectionner le paquet sur port
destination
--state Permet de selectionner le paquet en fonction
de son état (stateful: NEW, RELATED,
ESTABLISHED, INVALID)
Netfilter
Cibles prédéfinies les plus courantes
ACCEPT Le paquet est accépté, son traitement continue (routage,
nat...)
REJECT Le paquet est rejeté, la machine source est notifié (ICMP)
DROP Le paquet est détruit (silencieux)
DNAT Translation d'adresse pour l'adresse destination (peut
s'appliquer aussi sur le port pour faire du PAT)
SNAT Translation d'adresse pour l'adresse source
MASQUERADE Translation d'adresse de type SNAT, spécifique aux
interfaces ayant une adresse IP dynaique
LOG Logue des informations sur le paquet/traitement
Netfilter
Exemple
Netfilter
Mise en place du DNAT serveur web
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
DNAT --to 192.168.1.2:80
Netfilter
Accepter les flux http vers le serveur web
iptables -t filter -A FORWARD -p tcp --dst 192.168.10.2 --
dport 80 -j ACCEPT
Netfilter
Accepter les flux http(s) vers l'exterieur
iptables -t filter -A FORWARD -p tcp -i eth2 --src
192.168.0.0/24 -m multiport --dport 80,443 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -i eth2 --src
192.168.0.0/24 --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -i eth2 --src
192.168.0.0/24 --dport 443-j ACCEPT
Netfilter
Accepter les reponses pour les flux
autorisés
iptables -t filter -I FORWARD -m state --state
ESTABLISHED,RELATED -j ACCEPT
Netfilter
Comment Netfilter suit les sessions?
/proc/net/ip_conntrack
Netfilter
Mini script final
# Accepte les connections établies
iptables -t filter -A FORWARD -m state --state
ESTABLISHED,RELATED -j ACCEPT
# DNAT + Accept flux vers le serveur Web
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j
DNAT --to 192.168.1.2:80
iptables -t filter -A FORWARD -p tcp --dst 192.168.10.2 --
dport 80 -j ACCEPT
# Autoriser les flux http(s) sortant
iptables -t filter -A FORWARD -p tcp -i eth2 --src
192.168.0.0/24 --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -i eth2 --src
192.168.0.0/24 --dport 443 -j ACCEPT
# Cleanup (deny all)
iptables -t filter -A FORWARD -j DROP
ATTENTION!
pas de stealth rule!
Netfilter
Mini script final (mieux!)
# Accepte les connections établies
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED
-j ACCEPT
# DNAT + Accept flux vers le serveur Web
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --
to 192.168.1.2:80
iptables -t filter -A FORWARD -p tcp --dst 192.168.10.2 --dport 80
-j ACCEPT
# Autoriser les flux http(s) sortant
iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24
--dport 80 -j ACCEPT
iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24
--dport 443 -j ACCEPT
# Policy par defaut
iptables -t filter -P FORWARD DROP
iptables -t filter -P INPUT DROP
iptables -t filter -P OUTPUT DROP
Netfilter
Logs
Loguer se fait en utilisant la cible LOG (-j LOG)
Par défaut, les logs sont dans /var/log/messages
--log-level Indique à syslog le niveau de log à utiliser
--log-prefix Permet de définir un préfixe pour chaque entréé de log
(ex: "netfilter:")
--log-tcp-
sequence
Logue les numéros de séquence TCP
--log-tcp-
options
Logue les option TCP (en-têtes TCP)
--log-ip-options Logue les options IP (en-tête IP)
Netfilter
Log & Drop
iptables -N logdrop
iptables -A logdrop -m limit --limit 5/m --
limit-burst 10 -j LOG --log-prefix "Nefilter
dropped: "
iptables -A logdrop -j DROP
Ajouter une cible pour logger ET dropped des paquets:
Utilisation dans une règle:
iptables -A FORWARD -p tcp -j logdrop
Netfilter
Protection DoS
La protection contre les DoS se fait grâce à la correspondance
limit (-m limit).
--limit Nombre de correspondance par unité de temps EN
MOYENNE (/second, /minute, /hour, /day)
Exemple: -m limit --limit 3/minute
--limit-burst Nombre maximum de fois ou il doit y avoir correspondance
avant de déclencher la règle
Netfilter
Routage
Par défaut, la plupart des distributions Linux ne permettent pas
le routage de paquets IP entre deux interfaces! Pour activer le
routage au niveau du kernel:
sysctl -w net.ipv4.ip_forward=1
Pour rendre la modification permanente, il faut modifier le
fichier /etc/sysctl.conf:
net.ipv4.ip_forward = 0
sysctl -p /etc/sysctl.conf
Netfilter
Sauvegarde /restauration
La sauvegarde et la restauration de stables peut se faire avec les
commandes iptables-save et iptables-restore:
iptables-save [-c] [-t table]
iptables-restore [-c] [-n]
Exemples:
iptables-save > ruleset-save
iptables-restore < ruleset-save
Netfilter
Référence
Tutorial en français:
http://www.inetdoc.net/guides/iptables-tutorial/
Topologies
Single layer
Topologies
Dual layer
Topologies
Web browsing
Topologies
Security zones
Evolution
UTM
Evolution
Nextgen Firewall

Contenu connexe

Tendances

Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...Stephen Salama
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 
Admin reseaux sous linux cours 2
Admin reseaux sous linux   cours 2Admin reseaux sous linux   cours 2
Admin reseaux sous linux cours 2Stephen Salama
 
Admin reseaux sous linux cours 3
Admin reseaux sous linux   cours 3Admin reseaux sous linux   cours 3
Admin reseaux sous linux cours 3Stephen Salama
 
VPN - Virtual Private Network
VPN - Virtual Private NetworkVPN - Virtual Private Network
VPN - Virtual Private Networkjulienlfr
 
Composants et fonctionnement d'un Routeur Cisco
Composants et fonctionnement d'un Routeur CiscoComposants et fonctionnement d'un Routeur Cisco
Composants et fonctionnement d'un Routeur CiscoDJENNA AMIR
 
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurationsMise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurationsStephen Salama
 
Comment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemComment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemCONNECT Tunisia
 

Tendances (20)

Acl cisco
Acl ciscoAcl cisco
Acl cisco
 
Ccna4
Ccna4Ccna4
Ccna4
 
Les Firewalls
Les FirewallsLes Firewalls
Les Firewalls
 
Tuto vpn
Tuto vpnTuto vpn
Tuto vpn
 
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
Securisation de la VoIP sous Asterisk: solution avec Asterisk, OpenVPN et Ope...
 
vpn
vpnvpn
vpn
 
Protocoles SSL/TLS
Protocoles SSL/TLSProtocoles SSL/TLS
Protocoles SSL/TLS
 
Les Vpn
Les VpnLes Vpn
Les Vpn
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système Linux
 
Admin reseaux sous linux cours 2
Admin reseaux sous linux   cours 2Admin reseaux sous linux   cours 2
Admin reseaux sous linux cours 2
 
Admin reseaux sous linux cours 3
Admin reseaux sous linux   cours 3Admin reseaux sous linux   cours 3
Admin reseaux sous linux cours 3
 
VPN - Virtual Private Network
VPN - Virtual Private NetworkVPN - Virtual Private Network
VPN - Virtual Private Network
 
Composants et fonctionnement d'un Routeur Cisco
Composants et fonctionnement d'un Routeur CiscoComposants et fonctionnement d'un Routeur Cisco
Composants et fonctionnement d'un Routeur Cisco
 
Services IP
Services IPServices IP
Services IP
 
13
1313
13
 
Cours syslog
Cours syslogCours syslog
Cours syslog
 
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurationsMise en oeuvre de la VoIP sous Trixbox - Installation et configurations
Mise en oeuvre de la VoIP sous Trixbox - Installation et configurations
 
Pfsense
PfsensePfsense
Pfsense
 
Comment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modemComment paramétrer une connexion adsl sur un modem
Comment paramétrer une connexion adsl sur un modem
 
Cours SNMP
Cours SNMPCours SNMP
Cours SNMP
 

En vedette

05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpipNoël
 
Mise en place d’un serveur radius
Mise en place d’un serveur radiusMise en place d’un serveur radius
Mise en place d’un serveur radiusJeff Hermann Ela Aba
 
Firewall hébergé : protégez votre réseau d'entreprise !
Firewall hébergé : protégez votre réseau d'entreprise !Firewall hébergé : protégez votre réseau d'entreprise !
Firewall hébergé : protégez votre réseau d'entreprise !SIPLEO
 
Mise en place du Firewall IPCop
Mise en place du Firewall IPCopMise en place du Firewall IPCop
Mise en place du Firewall IPCopMohammed Zaoui
 
08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec sslNoël
 
Linux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine MoreauLinux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine MoreauJean-Antoine Moreau
 
L’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueL’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueAmadou Dia
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatiqueYves Van Gheem
 
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité   3ème editionWifi professionnel la norme 802.11, le déploiement, la sécurité   3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème editionelpunk
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatiqueMohammed Zaoui
 
Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Sarah
 
DDoS Attacks in 2017: Beyond Packet Filtering
DDoS Attacks in 2017: Beyond Packet FilteringDDoS Attacks in 2017: Beyond Packet Filtering
DDoS Attacks in 2017: Beyond Packet FilteringQrator Labs
 
Audit Denial of Service (ddos)
Audit Denial of Service (ddos)Audit Denial of Service (ddos)
Audit Denial of Service (ddos)Phonesec
 

En vedette (20)

Firewall
FirewallFirewall
Firewall
 
Wi fi-radius
Wi fi-radiusWi fi-radius
Wi fi-radius
 
05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip05 02 surveillance et analyse de traffic tcpip
05 02 surveillance et analyse de traffic tcpip
 
Mise en place d’un serveur radius
Mise en place d’un serveur radiusMise en place d’un serveur radius
Mise en place d’un serveur radius
 
Firewall hébergé : protégez votre réseau d'entreprise !
Firewall hébergé : protégez votre réseau d'entreprise !Firewall hébergé : protégez votre réseau d'entreprise !
Firewall hébergé : protégez votre réseau d'entreprise !
 
Mise en place du Firewall IPCop
Mise en place du Firewall IPCopMise en place du Firewall IPCop
Mise en place du Firewall IPCop
 
Fire wall
Fire wallFire wall
Fire wall
 
08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl08 03 sécurisation d'un serveur web avec ssl
08 03 sécurisation d'un serveur web avec ssl
 
Linux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine MoreauLinux sécurité informatique cours Jean-Antoine Moreau
Linux sécurité informatique cours Jean-Antoine Moreau
 
L’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en PratiqueL’ Administration des Réseaux en Pratique
L’ Administration des Réseaux en Pratique
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatique
 
Weos création d'une dmz
Weos création d'une dmzWeos création d'une dmz
Weos création d'une dmz
 
Baudoin karle-ids-ips
Baudoin karle-ids-ipsBaudoin karle-ids-ips
Baudoin karle-ids-ips
 
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité   3ème editionWifi professionnel la norme 802.11, le déploiement, la sécurité   3ème edition
Wifi professionnel la norme 802.11, le déploiement, la sécurité 3ème edition
 
Cisco ASA
Cisco ASACisco ASA
Cisco ASA
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatique
 
Configuration des services web sous centOS 5
Configuration des services web sous centOS 5Configuration des services web sous centOS 5
Configuration des services web sous centOS 5
 
DDoS Attacks in 2017: Beyond Packet Filtering
DDoS Attacks in 2017: Beyond Packet FilteringDDoS Attacks in 2017: Beyond Packet Filtering
DDoS Attacks in 2017: Beyond Packet Filtering
 
Audit Denial of Service (ddos)
Audit Denial of Service (ddos)Audit Denial of Service (ddos)
Audit Denial of Service (ddos)
 
DDoS attacks
DDoS attacksDDoS attacks
DDoS attacks
 

Similaire à Firewalls

firewall firewall firewall firewall .pptx
firewall firewall firewall firewall .pptxfirewall firewall firewall firewall .pptx
firewall firewall firewall firewall .pptxAbdellahELMAMOUN
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptprofsn
 
Composants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationComposants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationZakariaBouzzitMadrid
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerMed Ali Bhs
 
Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2Youssef Rvd
 
Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013vberetti
 
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delàCassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delàIppon
 
C3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiC3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiPRONETIS
 
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : Commutation
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : CommutationAlphorm.com Formation CCNP ENCOR 350-401 (1of8) : Commutation
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : CommutationAlphorm
 
commande 2.pdf
commande 2.pdfcommande 2.pdf
commande 2.pdfalirayss
 
IPv6 training
IPv6 trainingIPv6 training
IPv6 trainingFred Bovy
 
partie1-Configuration des services de base et du routage.pdf
partie1-Configuration des services de base et du routage.pdfpartie1-Configuration des services de base et du routage.pdf
partie1-Configuration des services de base et du routage.pdfRamisRamis1
 
Cours Firewalls.pdf
Cours Firewalls.pdfCours Firewalls.pdf
Cours Firewalls.pdfAnisSalhi3
 

Similaire à Firewalls (20)

firewall firewall firewall firewall .pptx
firewall firewall firewall firewall .pptxfirewall firewall firewall firewall .pptx
firewall firewall firewall firewall .pptx
 
laboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .pptlaboratoire formation ccna cisco materiel .ppt
laboratoire formation ccna cisco materiel .ppt
 
Composants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de ConfigurationComposants routeur cisco et différent mode de Configuration
Composants routeur cisco et différent mode de Configuration
 
Cisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracerCisco et-le-simulateur-packet-tracer
Cisco et-le-simulateur-packet-tracer
 
Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2Corrige tp3 m3102_dut2
Corrige tp3 m3102_dut2
 
Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013Cassandra Ippevent 20 Juin 2013
Cassandra Ippevent 20 Juin 2013
 
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delàCassandra Java Driver : vers Cassandra 1.2 et au-delà
Cassandra Java Driver : vers Cassandra 1.2 et au-delà
 
C3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifiC3 Réseaux : sous-couche reseau - ethernet wifi
C3 Réseaux : sous-couche reseau - ethernet wifi
 
Astuces cisco
Astuces ciscoAstuces cisco
Astuces cisco
 
Configuration de-base-d
Configuration de-base-dConfiguration de-base-d
Configuration de-base-d
 
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : Commutation
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : CommutationAlphorm.com Formation CCNP ENCOR 350-401 (1of8) : Commutation
Alphorm.com Formation CCNP ENCOR 350-401 (1of8) : Commutation
 
1485606887426.pdf
1485606887426.pdf1485606887426.pdf
1485606887426.pdf
 
commande 2.pdf
commande 2.pdfcommande 2.pdf
commande 2.pdf
 
IPv6 training
IPv6 trainingIPv6 training
IPv6 training
 
1485606887355.pdf
1485606887355.pdf1485606887355.pdf
1485606887355.pdf
 
partie1-Configuration des services de base et du routage.pdf
partie1-Configuration des services de base et du routage.pdfpartie1-Configuration des services de base et du routage.pdf
partie1-Configuration des services de base et du routage.pdf
 
Rip-ng vs ospf-v3
Rip-ng vs ospf-v3Rip-ng vs ospf-v3
Rip-ng vs ospf-v3
 
Cours Firewalls.pdf
Cours Firewalls.pdfCours Firewalls.pdf
Cours Firewalls.pdf
 
3200612.ppt
3200612.ppt3200612.ppt
3200612.ppt
 
Le Réseau et Java
Le Réseau et JavaLe Réseau et Java
Le Réseau et Java
 

Firewalls

  • 1. c0r3war at gmail dot com - 2013
  • 2.
  • 3. Rappels réseau UDP, TCP, ICMP, ARP Upper Datagram Protocol Transmission Control Protocol Internet Message Control Protocol Address Resolution Protocol (layer 2)
  • 4. C quoi un firewall? Definition ...software or hardware-based network security system that controls the incoming and outgoing network traffic by analyzing the data packets and determining whether they should be allowed through or not, based on a rule set.
  • 5. C quoi un firewall? Positionnement
  • 6. C quoi un firewall? Fonctionnalités (Routage) Filtrage Nat Gateway VPN Proxy Fonctionnalités de protection avancées
  • 7. C quoi un firewall? Concepts de base Stateful vs Stateless Drop vs Reject DNAT, SNAT, PAT, RFC 1918
  • 8. Policy / Rulebase Ordonancement Tout ce qui n'est pas autorisé est interdit! 1 Stealth Rule 2 Autoriser TCP port 80 vers Webserver 3 Autoriser TCP port 25 vers Serveur SMTP 4 Autoriser TCP ports 80, 443 vers Any sauf réseau interne ... N Cleanup Rule
  • 9. Policy / Rulebase Règle @ IP Source Protocole & port @ IP Destination Action
  • 10. Policy / Rulebase Règles de base ● Drop plutôt que Reject ● Toujours masquer le Firewall ● Contrôler strictement les flux ICMP ● Contrôler strictement les protocoles non captifs (RDP, SSH...) ● Activer les fonction de protection contre les attaques connues (antispoofing, Syn defender, conformité des paquets...) ● Documenter et revoir régulièrement les règles du firewall
  • 11.
  • 12. Netfilter Firewalling sous Linux {ip, ip6}tables + netfilter = Stateful firewall Linux Kernel > 2.4 Cerifié par l'ANSSI (CSPN, avis 2009/04)
  • 13. Netfilter Fonctionnalités Filtrage stateful & stateless (TCP, UDP, ICMP) Filtrage couche 7 pour FTP, IPSec NAT (DNAT, SNAT, PAT, Masquerading) Protection DoS
  • 15. Netfilter Tables et chaînes Table Chaîne Fonction FILTER input filtre les paquets à destination de la machine ouput filtre les paquets qui quittent la machine forward filtre les paquets qui traversent la machine NAT prerouting NAT avant routage (DNAT, PAT) postrouting NAT après routage (SNAT) output NAT des paquets émis par la machine MANGLE prerouting modification des paquets avant routage postrouting modification des paquets après routage output modification des paquets émis par la machine input modification des paquets à destination de la machine forward modification des paquets qui traversent la machine
  • 17. Netfilter iptables/ip6tables iptables [-t table]commande [correspondance] [cible/saut] -t table Indique dans quelle table on travaille (par défaut, FILTER) commande Action à effectuer sur la table (ajout, suppression, insertion de règle dans une chaine, nettoyage de la chaine...) correspondance Critères de selection d'un paquet ou d'un flux (adresse source ou destination, protocole, état...) -cible/saut Action à effectuer si il y a correspondance, peut être une cible prédéfinie ou une liste utilisateur, peut prendre plusieurs arguments
  • 18. Netfilter Commandes les plus courantes -A chaine, -I chaine [pos] Ajoute un règle à la fin de la chaine (-A) ou insère (-I) une règle à la position indiquée par pos dans la chaine (si pos absent, insère au début) -D chaine [num|match] Supprime une règle dans la chaine chaine (soit la règle numéro num, soit celle dont la definition correspond à match, match étant la correspondance +la cible) -F [chaine] Supprime toutes les règles de la chaine chaine, ou toutes les chaines de la table -L [chaine] Liste toutes les règles de la chaine chaine, ou toutes les chaines de la table, ou toutes les chaines de toutes les tables -P chaine cible Permet de definir la politique par défaut (paramètre cible) pour la chaine chaine. -N chaine, -X chaine Permet de créer ou de supprimer une chaine utilisateur
  • 19. Netfilter Correspondances les plus courantes --protocol Permet de définir le protocole sur lequel porte la règle (TCP, UDP, ICMP, ALL) -s, --src, --source, -- src-range (-m iprange) Permet de selectionner le paquet sur adresse source -d, --dst, --destination, --dst-range (-m iprange) Permet de selectionner le paquet sur l'adresse destination --sport, --source-port Permet de selectionner le paquet sur port source --dport, --destination- port Permet de selectionner le paquet sur port destination --state Permet de selectionner le paquet en fonction de son état (stateful: NEW, RELATED, ESTABLISHED, INVALID)
  • 20. Netfilter Cibles prédéfinies les plus courantes ACCEPT Le paquet est accépté, son traitement continue (routage, nat...) REJECT Le paquet est rejeté, la machine source est notifié (ICMP) DROP Le paquet est détruit (silencieux) DNAT Translation d'adresse pour l'adresse destination (peut s'appliquer aussi sur le port pour faire du PAT) SNAT Translation d'adresse pour l'adresse source MASQUERADE Translation d'adresse de type SNAT, spécifique aux interfaces ayant une adresse IP dynaique LOG Logue des informations sur le paquet/traitement
  • 22. Netfilter Mise en place du DNAT serveur web iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80
  • 23. Netfilter Accepter les flux http vers le serveur web iptables -t filter -A FORWARD -p tcp --dst 192.168.10.2 -- dport 80 -j ACCEPT
  • 24. Netfilter Accepter les flux http(s) vers l'exterieur iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24 -m multiport --dport 80,443 -j ACCEPT iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24 --dport 80 -j ACCEPT iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24 --dport 443-j ACCEPT
  • 25. Netfilter Accepter les reponses pour les flux autorisés iptables -t filter -I FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
  • 26. Netfilter Comment Netfilter suit les sessions? /proc/net/ip_conntrack
  • 27. Netfilter Mini script final # Accepte les connections établies iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # DNAT + Accept flux vers le serveur Web iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80 iptables -t filter -A FORWARD -p tcp --dst 192.168.10.2 -- dport 80 -j ACCEPT # Autoriser les flux http(s) sortant iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24 --dport 80 -j ACCEPT iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24 --dport 443 -j ACCEPT # Cleanup (deny all) iptables -t filter -A FORWARD -j DROP ATTENTION! pas de stealth rule!
  • 28. Netfilter Mini script final (mieux!) # Accepte les connections établies iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # DNAT + Accept flux vers le serveur Web iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT -- to 192.168.1.2:80 iptables -t filter -A FORWARD -p tcp --dst 192.168.10.2 --dport 80 -j ACCEPT # Autoriser les flux http(s) sortant iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24 --dport 80 -j ACCEPT iptables -t filter -A FORWARD -p tcp -i eth2 --src 192.168.0.0/24 --dport 443 -j ACCEPT # Policy par defaut iptables -t filter -P FORWARD DROP iptables -t filter -P INPUT DROP iptables -t filter -P OUTPUT DROP
  • 29. Netfilter Logs Loguer se fait en utilisant la cible LOG (-j LOG) Par défaut, les logs sont dans /var/log/messages --log-level Indique à syslog le niveau de log à utiliser --log-prefix Permet de définir un préfixe pour chaque entréé de log (ex: "netfilter:") --log-tcp- sequence Logue les numéros de séquence TCP --log-tcp- options Logue les option TCP (en-têtes TCP) --log-ip-options Logue les options IP (en-tête IP)
  • 30. Netfilter Log & Drop iptables -N logdrop iptables -A logdrop -m limit --limit 5/m -- limit-burst 10 -j LOG --log-prefix "Nefilter dropped: " iptables -A logdrop -j DROP Ajouter une cible pour logger ET dropped des paquets: Utilisation dans une règle: iptables -A FORWARD -p tcp -j logdrop
  • 31. Netfilter Protection DoS La protection contre les DoS se fait grâce à la correspondance limit (-m limit). --limit Nombre de correspondance par unité de temps EN MOYENNE (/second, /minute, /hour, /day) Exemple: -m limit --limit 3/minute --limit-burst Nombre maximum de fois ou il doit y avoir correspondance avant de déclencher la règle
  • 32. Netfilter Routage Par défaut, la plupart des distributions Linux ne permettent pas le routage de paquets IP entre deux interfaces! Pour activer le routage au niveau du kernel: sysctl -w net.ipv4.ip_forward=1 Pour rendre la modification permanente, il faut modifier le fichier /etc/sysctl.conf: net.ipv4.ip_forward = 0 sysctl -p /etc/sysctl.conf
  • 33. Netfilter Sauvegarde /restauration La sauvegarde et la restauration de stables peut se faire avec les commandes iptables-save et iptables-restore: iptables-save [-c] [-t table] iptables-restore [-c] [-n] Exemples: iptables-save > ruleset-save iptables-restore < ruleset-save
  • 35.
  • 40.