S´ecurit´e/Firewall avec Netfilter et GNU/Linux
Transcription
S´ecurit´e/Firewall avec Netfilter et GNU/Linux
1/53 Sécurité/Firewall avec Netfilter et GNU/Linux JJ II J I Retour Fermer 2/53 c 2002 Vincent Deffontaines, Hervé Eychenne, Copyright Jean-Pierre Messager, Alcôve. Ce document peut être reproduit, distribué et/ou modifié selon les termes de la Licence GNU de Documentation Libre GNU Free Documentation Licence) dans sa version 1.1 ou ultérieure telle que publiée, en anglais, par la Free Software Foundation ; sans partie invariante, avec comme première de couverture (front cover texts) les deux premières pages, et sans partie considérée comme quatrième de couverture Une copie de la licence peut être consultée à l’URL : http://www.gnu.org/copyleft/fdl.html Centre Paris Pleyel Tél. : + 33 1 49 22 68 00 153 bd Anatole France Fax : + 33 1 49 22 68 01 93200 Saint-Denis, France E-mail : [email protected], Toile : www.fr.alcove.com JJ II J I Retour Fermer 3/53 Table des matières 1 2 Rappels réseau TCP/IP 1.1 Notion de paquet . . . . 1.2 Adresses IP et réseau . . 1.3 Adresses IP spéciales . . 1.4 Routage . . . . . . . . . 1.5 Protocoles . . . . . . . . 1.6 Ports . . . . . . . . . . . 1.7 Exemple d’applications . 1.8 Points à retenir . . . . . Bases de Netfilter 2.1 Qu’est-ce que Netfilter ? 2.2 Principe de Netfilter . . 2.3 Le trajet d’un paquet . . 2.4 Chaı̂nes prédéfinies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 8 9 9 10 10 10 11 . . . . 12 12 13 14 15 JJ II J I Retour Fermer 2.5 2.6 2.7 2.8 2.9 2.10 2.11 3 Exemples élémentaires . . . . . . . . . Un exemple plus complexe . . . . . . . Détails sur les états et les cibles . . . . Principaux critères de correspondance Syntaxe des règles de correspondance . Créer d’autres chaı̂nes . . . . . . . . . Quelques autres options utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Un exemple pratique 3.1 L’architecture illustrée . . . . . . . . . . . . . . . . . 3.2 Les protections spécifiques du noyau . . . . . . . . . 3.3 Ignorer les redirections ICMP . . . . . . . . . . . . . 3.4 Ignorer les diffusions ICMP . . . . . . . . . . . . . . 3.5 Protection anti spoofing et traçage des martiens (paquets dont la source n’est pas routable) . . . . . . . . . . . 3.6 Ignorer le routage par la source . . . . . . . . . . . . 3.7 Résistance au SYN flood . . . . . . . . . . . . . . . . . 3.8 Configuration générale du firewall . . . . . . . . . . 3.9 Variables de réseaux, d’interfaces et de machines . . . . . . . . . 16 17 18 19 20 21 22 . . . . 23 24 25 26 26 . . . . . 27 28 28 29 30 4/53 JJ II J I Retour Fermer 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 Les chaı̂nes créées . . . . . . . . . . . . . . . . . . Règles d’autorisation des connexions déjà établies Les règles de saut . . . . . . . . . . . . . . . . . . La chaı̂ne des paquets ICMP . . . . . . . . . . . . Du réseau privé à la DMZ . . . . . . . . . . . . . De l’extérieur vers la DMZ . . . . . . . . . . . . . Comment dire non ? . . . . . . . . . . . . . . . . Du réseau privé vers l’Internet . . . . . . . . . . . Principe du NAT . . . . . . . . . . . . . . . . . . De la DMZ vers le réseau privé . . . . . . . . . . De l’Internet vers le réseau privé . . . . . . . . . Protection du firewall lui-même . . . . . . . . . . L’interface vers l’extérieur . . . . . . . . . . . . . L’interface vers la DMZ . . . . . . . . . . . . . . L’interface vers le réseau privé . . . . . . . . . . . Règles pour les paquets émis du firewall . . . . . Références et liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 32 33 35 36 37 39 40 41 43 44 45 46 47 48 49 50 5/53 JJ II J I Retour Fermer 4 La détection d’intrusion 51 4.1 Snort . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.2 Tripwire . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6/53 JJ II J I Retour Fermer 7/53 Rappels réseau TCP/IP Notion de paquet Les datagrammes IP sont transmis sous forme de paquets – Une adresse IP source – Une adresse IP destination Plusieurs protocoles sont supportés, principalement : – ICMP – UDP – TCP JJ II J I Retour Fermer 8/53 Adresses IP et réseau Une adresse IP (v4) est de la forme A.B.C.D – Quadruplet d’entiers sur 8 bits (0–255) – Identifie une machine unique Décrit le réseau et distingue une machine dans un réseau – Partie réseau/partie machine – Le plus souvent réseau au début, machine ensuite – Notion de masque, ex : 10.16.123.21/255.255.0.0 signifie – Interface d’IP 10.16.123.21 – Appartient au réseau 10.16.*.* (classe B) – Notation abrégée : 10.16.0.0/16 JJ II J I Retour Fermer 9/53 Adresses IP spéciales – Partie machine à 0 (ex : 10.16.0.0) : adresse de réseau – Partie machine à 1 (ex : 10.16.255.255) : adresse de diffusion Routage Adresses de réseau et masque permettent le routage sur le réseau local Les autres adresses sont aiguillées sur des passerelles – Route explicite pour un réseau (ex : pour 10.15.0.0/16 passer par 10.16.123.1) – Route par défaut Un firewall IP est avant toute chose une passerelle JJ II J I Retour Fermer Protocoles 10/53 ICMP : informations de connectivité (ex : ping) UDP : Transmission de données non fiable TCP : Transmission de données fiable (mode connecté) Ports Les paquets UDP et TCP impliquent la notion de port Entier entre 1 et 65535 (16 bits) Chaque paquet a un port source et un port destination Permettent de différencier les connexions Exemple d’applications Quelques protocoles applicatifs avec les ports de destination : UDP : tftp (port 69), DNS (en partie, port 53) TCP : ftp (ports 20 et 21), http (port 80) JJ II J I Retour Fermer 11/53 Points à retenir Un paquet IP se caractérise par : Un protocole (ICPM, TCP, UDP, ...) Un type dans le protocole (ICMP) ou pour UDP et TCP : – Un numéro de port source – Un numéro de port destination Une adresse IP source Une adresse IP destination On peut connaı̂tre de plus : – L’interface source – L’interface de destination (après décision de routage) JJ II J I Retour Fermer 12/53 Bases de Netfilter Qu’est-ce que Netfilter ? Composant du noyau Linux (2.4.x) – Intervient au plus tôt – Performant – Sûr Peut nécessiter une reconfiguration/recompilation Paramètrable par l’outil iptables JJ II J I Retour Fermer 13/53 Principe de Netfilter Notion de règles et de cibles – Règle : quels paquets ? – Cible : que faire ? Les règles sont dans des chaı̂nes – Chaı̂nes prédéfinies (point d’entrée dans la pile IP) – Chaı̂nes définies par l’utilisateur (structuration) Pour le filtrage la première règle applicable est terminale Si aucune règle ne s’applique : politique par défaut JJ II J I Retour Fermer 14/53 Le trajet d’un paquet Paquet entrant PREROUTING (D-NAT) Décision de routage FORWARD INPUT POSTROUTING (S-NAT) Paquet sortant OUTPUT Processus local JJ II J I Retour Fermer 15/53 Chaı̂nes prédéfinies PREROUTING (avant la décision de routage) – Permet de modifier l’adresse destination POSTROUTING (en fin de parcours) – Permet de modifier l’adresse source (ex : masquerading) INPUT : destination locale OUTPUT : source locale FORWARD : vient d’ailleurs, va ailleurs – La machine est configurée comme passerelle – Chaı̂ne la plus importante pour un firewall JJ II J I Retour Fermer 16/53 Exemples élémentaires iptables -L : montrer les chaı̂nes de filtrage Politique par défaut : iptables -P <CHAÎNE> <CIBLE> ex : iptables -P INPUT DROP (interdit toute entrée) (essayez ping localhost !) Ajouter une règle : iptables -A <CHAÎNE> <MATCH> <CIBLE> ex : iptables -A INPUT -p icmp -j ACCEPT (autorise uniquement icmp) (réessayez ping localhost) Revenez à la normale : iptables -P INPUT ACCEPT ; iptables -F JJ II J I Retour Fermer 17/53 Un exemple plus complexe Interdire les entrées par défaut : iptables -P INPUT DROP Autoriser les réponses à des requêtes : iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Autoriser tout ce qui vient de l’intérieur : iptables -A INPUT -s 127.0.0.0/8 -j ACCEPT Garder une trace du reste : iptables -A INPUT -j LOG --log-prefix="DROP OUTPOUT :" Essayez de “pinguer” localhost, l’IP d’une interface, l’extérieur, à partir de l’extérieur... Le DNS fonctionne-t-il ? Pourquoi ? Quel est l’intérêt d’une configuration de ce type ? JJ II J I Retour Fermer 18/53 Détails sur les états et les cibles Les cibles : – ACCEPT : autorise le passage du paquet – DROP : supprime le paquet comme s’il n’avait jamais été reçu – REJECT : supprime le paquet et génère une réponse ICMP vers la source pour lui dire que la destination n’est pas accessible – LOG : insère une ligne dans le journal noyau (règle non terminale) Filtrage par état : – NEW : nouveau paquet pour une connexion – ESTABLISHED : partie d’une connexion déjà existante – RELATED : nouveau mais lié à une connexion existante (exemple : ftp-data, erreur ICMP) JJ II J I Retour Fermer 19/53 Principaux critères de correspondance Les critères de sélection des paquets comprennent : – Les entêtes IP IP source (machine ou réseau) : -s IP destination (machine ou réseau) : -d Type de protocole (ICMP, TCP, UDP) : -p Type dans le protocole, pour ICMP : --icmp-type Numéro(s) de port, pour TCP et UDP (source ou destination) : --dport et --sport – La provenance physique L’interface : d’entrée ou de sortie : -i et -o Z -i n’a pas de sens dans OUTPUT et POSTROUTING Z -o n’a pas de sens dans INPUT et PREROUTING JJ II J I Retour Fermer 20/53 Syntaxe des règles de correspondance Valeur exacte d’un critère : -{i|o} <if> -{d|s} <ip>[/masque] --{dport|sport} <port> --icmp-type <type> Toute valeur sauf une : ! <val> Intervalle : port1:port2 JJ II J I Retour Fermer 21/53 Créer d’autres chaı̂nes En plus des chaı̂nes prédéfinies (points d’entrée dans la pile IP), on peut créer ses propres chaı̂nes. Une règle peut donner comme cible le nom d’une chaı̂ne Équivalent d’un goto ou jump en programmation Permet de structurer les règles Commandes de création/suppression de chaı̂nes : Créer une chaı̂ne : iptables -N <CHAÎNE> Supprimer une chaı̂ne : iptables -X <CHAÎNE> (doit être vide) JJ II J I Retour Fermer 22/53 Quelques autres options utiles iptables -L -v -n Montre les chaı̂nes et les règles, avec statistiques (-v) et sans résolution de nom (-n) iptables -Z Remet les statistiques à zéro iptables -D <CHAÎNE> <DESCRIPTION> ou iptables -D <CHAÎNE> N Efface la règle décrite, ou la Ne règle iptable -F <CHAÎNE> Supprime toutes les règles d’une chaı̂ne JJ II J I Retour Fermer 23/53 Un exemple pratique Un routeur/firewall connecte trois réseaux : – Un réseau privé – Une “zone démilitarisée” (DMZ) incluant les serveurs publics – La connection vers un routeur Internet (RNIS, PPP, ADSL, Cable, ...) Nous allons configurer ce firewall ”à trois pattes” JJ II J I Retour Fermer 24/53 L’architecture illustrée JJ II J I Retour Fermer 25/53 Les protections spécifiques du noyau Des paramètres réseau peuvent être fixé par /proc On peut passer par sysctl (cf. /etc/sysctl.conf) Certains sont indispensables : echo 1 > /proc/sys/net/ipv4/ip forward Z l’acheminement IP (routeur !) echo 1 > /proc/sys/net/ipv4/ip dynaddr Z IP dynamique (PPP, DHCP) D’autres améliorent la sécurité JJ II J I Retour Fermer 26/53 Ignorer les redirections ICMP echo 0 > /proc/sys/net/ipv4/conf/all/ accept redirects echo 0 > /proc/sys/net/ipv6/conf/all/ accept redirects echo 0 > /proc/sys/net/ipv4/conf/all/ send redirects echo 0 > /proc/sys/net/ipv6/conf/all/ send redirects Ignorer les diffusions ICMP echo 1 > /proc/sys/net/ipv4/ icmp echo ignore broadcasts JJ II J I Retour Fermer 27/53 Protection anti spoofing et traçage des martiens (paquets dont la source n’est pas routable) echo 1 > /proc/sys/net/ipv4/conf/all/ rp filter echo 1 > /proc/sys/net/ipv4/conf/all/ log martians JJ II J I Retour Fermer 28/53 Ignorer le routage par la source echo 0 > /proc/sys/net/ipv4/conf/all/ accept source route echo 0 > /proc/sys/net/ipv4/conf/all/ forwarding echo 0 > /proc/sys/net/ipv4/conf/all/ mc forwarding Résistance au SYN flood echo 1280 > /proc/sys/net/ipv4/ tcp max syn backlog echo 1 > /proc/sys/net/ipv4/tcp syn cookies JJ II J I Retour Fermer 29/53 Configuration générale du firewall Installer le moins de choses possibles sur le firewall Pas de services réseau (web, ftp, etc.) Sauf éventuellement ssh (Secure Shell) accessible de l’intérieur JJ II J I Retour Variables de réseaux, d’interfaces et de machines Script lancé au démarrage (/etc/init.d/) Conventions de nommage : DMZ, GOOD, BAD pour DMZ, 30/53 privé, Internet Utilisation de variables pour la lisibilité DMZ NET=192.84.219.0/24 GOOD NET=172.16.0.0/16 IF BAD=192.84.218.1 IF DMZ=192.84.219.250 IF GOOD=172.16.0.250 BAD INT=eth0 DMZ INT=eth2 GOOD INT=eth1 DMZ SMTP=192.84.219.2 DMZ DNS=192.84.219.3 DMZ WWW=192.84.219.4 JJ II J I Retour Fermer 31/53 Les chaı̂nes créées Nommée sur le modèle source-destination : iptables -N good-dmz iptables -N bad-dmz iptables -N good-bad iptables -N dmz-good iptables -N dmz-bad iptables -N bad-good Chaı̂ne spéciale pour les paquets d’erreur ICMP : iptables -N icmp-acc JJ II J I Retour Fermer 32/53 Règles d’autorisation des connexions déjà établies Pour TCP en général : iptables -A INPUT -p TCP -m state --state ESTABLISHED -j ACCEPT iptables -A FORWARD -p TCP -m state --state ESTABLISHED -j ACCEPT Pour les protocoles spéciaux et le masquage : iptables -A FORWARD -p TCP -m state --state RELATED -j ACCEPT Z Pour ftp penser à insérer le module ip nat ftp JJ II J I Retour Les règles de saut On insère ensuite les règles qui dirigent les paquet vers les chaı̂nes 33/53 que nous avons créées : # iptables -A FORWARD -s $GOOD NET -d $DMZ NET -i $GOOD INT -o $DMZ INT -j good-dmz # iptables -A FORWARD -s $GOOD NET -i $GOOD INT -o $BAD INT -j good-bad # iptables -A FORWARD -s $DMZ NET -i $DMZ INT -o $BAD INT -j dmz-bad # iptables -A FORWARD -s $DMZ NET -d $GOOD NET -i $DMZ INT -o $GOOD INT -j dmz-good # iptables -A FORWARD -d $DMZ NET -i $BAD INT -o $DMZ INT -j bad-dmz # iptables -A FORWARD -d $GOOD NET -i $BAD INT -o $GOOD INT -j bad-good JJ II J I Retour Fermer 34/53 On garde une trace et on rejette le reste : (équivalent à une politique par défaut de refus) iptables -A FORWARD -j LOG iptables -A FORWARD -j DROP JJ II J I Retour Fermer 35/53 La chaı̂ne des paquets ICMP On insère les règles d’acceptation de certaines erreurs ICMP # iptables -A icmp-acc -p icmp --icmp-type destination-unreachable -j ACCEPT # iptables -A icmp-acc -p icmp --icmp-type source-quench -j ACCEPT # iptables -A icmp-acc -p icmp --icmp-type time-exceeded -j ACCEPT # iptables -A icmp-acc -p icmp --icmp-type parameter-problem -j ACCEPT Cette chaı̂ne sera appelée à partir des chaı̂nes source-destination JJ II J I Retour Fermer 36/53 Du réseau privé à la DMZ Connexions issues de notre réseau privé vers les serveurs (WWW, DNS, ...) de notre DMZ On peut nommer les port par nom de service (cf. /etc/services) exemple, autoriser SMTP : # iptables -A good-dmz -p tcp -d $DMZ SMTP -m state --state NEW --dport smtp -j ACCEPT De même pour WWW, FTP, etc... Attention aux services plus complexes, comme le DNS : # iptables -A good-dmz -p udp -d $DMZ DNS --dport domain -j ACCEPT # iptables -A good-dmz -p tcp -d $DMZ DNS -m state --state NEW --dport domain -j ACCEPT Z Utilise UDP et TCP ! JJ II J I Retour Fermer 37/53 De l’extérieur vers la DMZ Nous avons déjà une règle qui permet au trafic de réponse vers l’extérieur de passer Pour le courrier électronique : – Accepter SMTP venant de l’extérieur – Éventuellement accepter POP3 ou IMAP de l’extérieur Pour le serveur de nom : – Accepter les requètes DNS venant de l’extérieur Pour le serveur WWW : – Accepter les requètes venant de l’extérieur JJ II J I Retour Fermer Ce qui se traduit par les règles suivantes (à compléter) : SMTP : 38/53 # iptables -A bad-dmz -p tcp -d $DMZ SMTP -m state --state NEW --dport smtp -j ACCEPT DNS (Attention : UDP et TCP !) ... WWW ... Règles finales : # iptables -A bad-dmz -p icmp -j icmp-acc # iptables -A bad-dmz -j LOG # iptables -A bad-dmz -j DROP JJ II J I Retour Fermer 39/53 Comment dire non ? DROP détruit le paquet sans autre forme de procès REJECT envoie une notification (ICMP) à la source REJECT est de rigueur si la source est de confiance (réseau privé) DROP découragera un assaillant (mais pourra indiquer la présence d’un filtre) DROP ne découragera pas un programme tentant des requètes par erreur ! JJ II J I Retour Fermer 40/53 Du réseau privé vers l’Internet Nous souhaitons autoriser le Web, FTP et PING vers l’extérieur Nous pourrions mettre en place un mandataire (proxy) tel SQUID (une seule machine à autoriser) pour FTP et le Web Il faut réécrire les adresses IP source au passage (les IPs de la zone privée ne sont pas routables sur l’Internet) JJ II J I Retour Fermer 41/53 Principe du NAT La traduction d’adresses réseau permet à un routeur de modifier les IPs à la volée On peut modifier la source (SNAT) ou la destination (DNAT) – Le masquerading est une forme de SNAT – Le port forwarding est une forme de DNAT – Le SNAT a lieu dans POSTROUTING – Le DNAT dans PREROUTING Il faut garder la mémoire des connexions en cours pour traduire correctement les paquets dans l’autre sens Z visible dans /proc/net/ip conntrack JJ II J I Retour Fermer La règle de réécriture : 42/53 # iptables -t nat -A POSTROUTING -o $BAD INT -s $GOOD NET -j SNAT --to $IF BAD Z Dans le cas d’une IP dynamique utilisez MASQUERADE au lieu de SNAT et ne précisez pas l’IP Les règles de filtrages : # iptables -A good-bad --state NEW -j ACCEPT # iptables -A good-bad --state NEW -j ACCEPT # iptables -A good-bad # iptables -A good-bad # iptables -A good-bad -p tcp --dport www -m state -p tcp --dport ftp -m state -p icmp --icmp-type ping -j ACCEPT -j LOG -j REJECT Les règles pour le reste : # iptables -A good-bad -j LOG # iptables -A good-bad -j REJECT JJ II J I Retour Fermer 43/53 De la DMZ vers le réseau privé La plupart des protocoles TCP sont utilisés avec le client dans le réseau privé et le serveur dans la DMZ (mail, Web, ...) Z L’autorisation des connexions établies dans la chaı̂ne FORWARD les prend déjà en compte Reste la partie UDP du DNS et ICMP : # iptables -A dmz-good -p udp -s $DMZ DNS --sport domain -j ACCEPT # iptables -A dmz-good -p icmp -j icmp-acc Et les règles finales : # iptables -A dmz-good -j LOG # iptables -A dmz-good -j REJECT JJ II J I Retour Fermer 44/53 De l’Internet vers le réseau privé À part les retours de connexions déjà établies (déjà autorisés) ne rien laisser passer : # iptables -A bad-good -j LOG # iptables -A bad-good -j DROP Nous avons paramètré l’ensemble des connexions inter-réseaux JJ II J I Retour Fermer 45/53 Protection du firewall lui-même La chaı̂ne INPUT nous permet de protéger le firewall lui-même Nous créons trois chaı̂nes : une par interface : # iptables -N bad-if # iptables -N dmz-if # iptables -N good-if Nous insérons les trois règles de saut correspondantes : # iptables -A INPUT -d $IF BAD -j bad-if # iptables -A INPUT -d $IF DMZ -j dmz-if # iptables -A INPUT -d $IF GOOD -j good-if JJ II J I Retour Fermer 46/53 L’interface vers l’extérieur Protection contre l’IP spoofing : # iptables -A bad-if -i ! $BAD INT -j LOG # iptables -A bad-if -i ! $BAD INT -j DROP Z L’IP correspond à l’extérieur mais vient d’une autre interface ! Accepter les réponses aux ping que nous pourrions faire : # iptables -A bad-if -p icmp --icmp-type pong -j ACCEPT Règles habituelles pour ICMP, sinon rejet : # iptables -A bad-if -p icmp -j icmp-acc # iptables -A bad-if -j LOG # iptables -A bad-if -j DROP JJ II J I Retour Fermer 47/53 L’interface vers la DMZ Protection contre l’IP spoofing (à compléter) : ... Laisser passer les réponses DNS en UDP provenant du serveur DNS : # iptables -A dmz-if -p udp -s $DMZ DNS domain -j ACCEPT Accepter les réponses aux pings, politique ICMP habituelle, et noter et interdire le reste (à compléter) : ... JJ II J I Retour Fermer 48/53 L’interface vers le réseau privé Protection contre l’IP spoofing (à compléter) : ... Accepter les pings et les réponses aux pings : ... Noter et interdire le reste : ... JJ II J I Retour Fermer 49/53 Règles pour les paquets émis du firewall Autoriser ping vers tout réseau ... Autoriser les requètes DNS vers tous les réseaux sauf privé (TCP et UDP) ... JJ II J I Retour Fermer 50/53 Références et liens Notre firewall est maintenant opérationnel. Voici des références documentaires sur le sujet : La page de manuel d’iptables : man iptables ! Le site principal de netfilter : http://netfilter.samba.org/ Des ressources sur netfilter : http://www.linuxguruz.org/iptables/ La page sécurité de Linux Weekly News, cf. http://lwn.net/ JJ II J I Retour Fermer 51/53 La détection d’intrusion Des outils permettent d’être averti en cas d’intrusion potentielle. Par analyse en temps réel du trafic réseau entrant, comme snort Par détection de changements suspects dans le système de fichier, comme tripwire JJ II J I Retour Fermer 52/53 Snort Détecte les scans de ports TCP et UDP Règles pour détecter des tentatives d’intrusion : Par exemple : tentative de connexion FTP en tant que root : alert tcp any any -> 192.168.1.0/24 21 \ (content : "USER root" ; nocase ; \ msg : "FTP root user access attempt" ;) Snort est fourni avec des règles de surveillance pour beaucoup de services réseau SMTP, Telnet, Netbios, DNS, Web, X11, RPC, etc. L’outil snort-stat génère un rapport envoyé par mail à l’administrateur (une fois par jour typiquement). http://www.snort.org/ JJ II J I Retour Fermer 53/53 Tripwire Tripwire analyse le système de fichier pour détecter une éventuelle intrusion réussie. Détecte les changements suspects dans les droits d’accès (en particulier le bit suid) Détecte les modifications douteuses de contenus de fichiers À lancer périodiquement en période de faible charge (gros consommateur de ressource) Version libre : http://www.tripwire.org/, version commerciale : http: //www.tripwire.com/ JJ II J I Retour Fermer