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 Packetfilter Beaucoup de PareFeu 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, rcommandes … ) 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 portunreachable Ping icmp echorequest icmp echoreply 27/11/2006 Formation Permanente Paris6 52 Exemple : ftp non passif ■ FTP est dans le sens interneexterne – 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’accesslist 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, PortsAdressesIP 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 nisnfsdhcp 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 icmptype echorequest 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 tcpreset 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 Rcommandes 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 directedbroadcast ! interface FastEthernet2/0 !réseau externe ip address 152.81.34.1 255.255.255.0 ip accessgroup 102 in ! no accesslist 102 accesslist 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
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...