Filtrage Dynamique - Formation Permanente

Transcription

Filtrage Dynamique - Formation Permanente
Filtrage dynamique Linux noyau >= 2.4 netfilter : Iptables Cisco propose les CBAC (IOS Firewall)
*BSD avec IPFilter Packet­filter
Beaucoup de Pare­Feu utilise du filtrage dynamique
Principe
Fonctionnement
Configuration
Exemple de configuration
IOS Firewall
27/11/2006
Formation Permanente Paris6
49
Différence entre filtrage statique et dynamique
■
Le filtrage statique analyse les paquets indépendamment les uns des autres
– Pour tcp seul les flags sont regardés pour « established »
■
Le filtrage dynamique introduit la notion de session (Aussi bien en TCP qu’en UDP)
– un flux de retour sera autorisé uniquement si on a déjà « vu passer un paquet similaire » dans l’autre sens
27/11/2006
Formation Permanente Paris6
50
Principe
■
■
■
On ne laisse rien rentrer (sauf vers nos serveurs)
On contrôle le trafic sortant pour en déduire ce qu’il faut laisser entrer
On garde dans une table toutes les nouvelles connexions sortantes jusqu’à une fin de session ou bien un timeout
– Pour TCP un paquet sortant avec un syn
– Pour UDP s'il est le premier paquet sortant contenant une adresse et un port non récent
■
■
■
On autorise un paquet à rentrer que si la connexion est déjà dans la table.
L’entrée est retirée de la table à la fin de session pour tcp ou bien sur timeout pour les autres protocoles support des protocoles appliquant des créations de canaux multiples résultants d'une négociation dans un canal de contrôle
(A condition que le système dispose d’un module de suivi pour ce type de connexion) (ftp , h323, r­commandes … )
27/11/2006
Formation Permanente Paris6
51
Exemples
pop
Réseau interne
Réseau externe
client port 1024  serveur port 110
client port 1024  serveur port 11O
pop
client port 1024  serveur port 110
 icmp port­unreachable
Ping
icmp echo­request   icmp echo­reply
27/11/2006
Formation Permanente Paris6
52
Exemple : ftp non passif
■
FTP est dans le sens interne­externe
– le client FTP se trouve à l'intérieur
– le serveur dans le réseau externe
■
Avec du filtrage statique , ouvrir les ports supérieurs à 1023 en tcp pour le port client à partir du port 20 du serveur ■
Avec du filtrage dynamique, on n'a plus d'ouverture – Un Suivi de session sur ftp est associé à l'entrée interne du dispositif de filtrage
27/11/2006
Formation Permanente Paris6
53
Netmeeting
■
Les protocoles utilisés par Netmeeting
– TCP,UDP, T120, H.323 (RTP, RTCP) sur des ports dynamiques
– port TCP 1503 (pour T.120) – port TCP 1720 (H.323 call setup) – port TCP 389 (Internet Locator Server) – port TCP 522 (User Location Server) – port TCP 1731 (Audio Call control) 27/11/2006
Formation Permanente Paris6
54
IP Filter – filtrage IP BSD
Linux Iptables noyau 2.4.x
Disponible sur *BSD et Solaris
■ Filtrage dynamique (à états)
■ Permet le NAT/PAT
■ Permet de créer des traces
■
27/11/2006
Formation Permanente Paris6
55
Cisco IOS Firewall
■
Filtrage Dynamique
Authentification et habilitation dynamiques des utilisateurs
détection d'attaques de deny de service ( syn flooding, port scanning, packet injection) détection des intrusions (59 signatures) avec réaction possible
dropper des paquets envoyés par l'attaqueur inspection des numéros de séquence des connections TCP détection d'attaque smtp (détecte les commandes smtp invalides) blocage des applets JAVA ■
compatibilité avec l'encryption CISCO (VPN) et IPSEC
■
■
■
■
■
■
■
27/11/2006
Formation Permanente Paris6
56
IPTABLES (1)
■
Les chaînes prédéfinies
– INPUT
– OUTPUT
– FORWARD
■
Les cibles possibles
–
–
–
–
■
: interface vers machine locale
: machine locale vers interface
: d’une interface à une autre
ACCEPT
REJECT avec choix de retour ICMP, TCP Reset
DROP
LOG avec choix de messages ( PB pour detescan )
Filtrage d’état – NEW ESTABLISHED RELATED INVALID
IPTABLES (2)
■
Chaînes utilisateurs
– Permet d’améliorer les performances en diminuant le nombre d’access­list pour un paquet
■
Modules spécifiques ( Par défaut sur une mandriva 2007)
–
–
–
–
–
–
–
–
■
ip_conntrack_amanda.ko.gz
ip_conntrack_ftp.ko.gz
ip_conntrack_h323.ko.gz (Multimedia)
ip_conntrack_irc.ko.gz
ip_conntrack_pptp.ko.gz (VPN PPTP)
ip_conntrack_proto_gre.ko.gz (VPN PPTP)
ip_conntrack_tftp.ko.gz
ip_conntrack_sip.ko.gz ( Téléphonie IP)
Filtrage sur addresses MAC
IPTABLES (3)
■
Construction d’une règle
– Une chaîne d’application
» ­A INPUT
– Etat
» ­m state ­­state NEW
– Motifs d’identification
» Udp/Tcp/icmp, Ports­AdressesIP source/destination
– Décision
» ­j ACCEPT
IPTABLES (Syntaxe)
iptables -A [INPUT,OUTPUT,FORWARD,chaîne]
[ -p protocol ] [ -s source] [ -d destination]
[ -i interface] [ -o interface]
[--sport port] [--dport port]
[--tcpflags SYN,RST,ACK] [ --icmp-type number]
[-m state --state NEW,INVALID, ESTABLISHED,
RELATED ]
[ -m limit --limit n/s ]
-j (ACCEPT,REJECT,DROP,LOG,chaîne)
27/11/2006
Formation Permanente Paris6
60
IPTABLES (Exemple)
■
Exemples
iptables ­A INPUT \
­p tcp \
­m state ­­state NEW \
­­sport 1024:65535 \
­d 192.168.1.1 \
­­dport 993 \
­j ACCEPT
filtrage iptables d’un poste client
environnement nis­nfs­dhcp
­A INPUT ­i lo ­j ACCEPT ­A INPUT ­i eth0 ­p udp ­m udp ­­sport 67:68 ­­dport 67:68 ­j ACCEPT
­A INPUT ­p tcp ­m tcp ­­dport 22 ­m state ­­state NEW ­j ACCEPT
­A INPUT ­p icmp ­m limit ­­limit 1/s ­­icmp­type echo­request ­j ACCEPT
­A INPUT ­m state ­­state ESTABLISHED ­j ACCEPT
­A INPUT ­m state ­­state RELATED ­j ACCEPT
­A INPUT ­p tcp ­m tcp ­­dport 113 ­m state ­­state NEW ­j REJECT ­­reject­
with tcp­reset
­A INPUT ­m state ­­state INVALID,NEW ­j LOG
­A INPUT ­m state ­­state INVALID,NEW ­j DROP
Pour que ftp fonctionne dans les 2 modes ne pas oublier de charger le module
modprobe ip_conntrack_ftp
27/11/2006
Formation Permanente Paris6
62
CBAC: Les protocoles supportés
TCP/UDP Application
telnet, http, tftp, snmp
ftp
Passif et actif
multimedia
H323 ,CuSeeMee , RealAudio, StreamWorks, VDOLive Mail (SMTP protocol Inspection)
Détecte certaines commandes invalides pour les relais externes
Remote procedure call (rpc)
Inspecte les requêtes Portmap pour ouvrir les ports nécessaires
BSD R­commandes
Permet l’ouverture de tous les ports secondaires
ORACLE
Idem pour Oracle
27/11/2006
Formation Permanente Paris6
63
Configurations
27/11/2006
Formation Permanente Paris6
64
Configuration CBAC
■
Définir les règles d'inspection – spécifient quel trafic IP sera inspecté (niveau application) par les CBAC
– nécessaire de configurer l'inspection au niveau de la couche application
– et éventuellement au niveau de TCP ou d'UDP (surtout pour H.323) ip inspect name nom_cbac protocol 27/11/2006
Formation Permanente Paris6
65
Exemple CBAC: ftp
! CBAC positionné
ip inspect name monsite ftp ! interface FastEthernet0/0 !réseau interne
ip address 192.168.230.2 255.255.255.0 ip inspect monsite in no ip directed­broadcast ! interface FastEthernet2/0 !réseau externe
ip address 152.81.34.1 255.255.255.0 ip access­group 102 in ! no access­list 102 access­list 102 deny ip any any log
27/11/2006
Formation Permanente Paris6
66
Conclusion CBAC
– L’IOS Firewall: Routeur Cisco 800, UBR900, 1600, 1720, 2500, 2600, 3600, 7100, 7200, RSM et 7500
– permet de renforcer considérablement la sécurité d'un site
» les connexions tcp ou udp initialisées depuis l'intérieur du site peuvent être inspectées, et les ouvertures seront donc dynamiques
» une solution, sur du matériel existant bien souvent, “ tout en un ” combinant sécurité, détection des intrusions, authentification des utilisateurs, fonction VPN et routage multiprotocole
27/11/2006
Formation Permanente Paris6
67
Conclusion Filtrage Dynamique
Aujourd’hui, le filtrage statique n’est plus suffisant en entrée de site, il faut aller vers des solutions de filtrage dynamique
■ Ne pas hésiter aussi à l’employer sur les postes clients (Surtout les portables qui peuvent être connecté à n’importe quels réseaux) et sur les serveurs accessible de l’extérieur ( Web,ftp,dns,…)
■
27/11/2006
Formation Permanente Paris6
68

Documents pareils

Filtrage

Filtrage iptables -A INPUT -m state --state INVALID,NEW -j LOG iptables -A INPUT -m state --state INVALID,NEW -j DROP Pour que ftp fonctionne dans les 2 modes ne pas oublier de charger le module modprobe ip...

Plus en détail