Protéger
et surveiller son serveur
|
Portsentry
|
Plan 2- Récupération et installation le produit
|
Portsentry est un qui permet de détecter
les attaques de type scan de façon active, c'est à dire
qu'en plus de la détection, il va pouvoir entreprendre certaines
actions :
2-Récupérer et installer le produit Ici je décris ce que j'ai fait sur ma machine : j'ai récupérer portsentry-1.1-fr5.i386.rpm sur le site rpmfind.net. Sinon voir au paragraphe liens Pour l'installation : # rpm -Uvh portsentry-1.1-fr5.i386.rpm et c'est tout. Les fichiers de configuration se trouvent dans /etc/portsenty, le binaire dans /usr/bin et il se lance en tant que service (/etc/rc.d/init.d/portsentry), il est remis à jour dans /tec/cron.d/portsentry.
C'est le fichier principal de configuration que l'on va éditer : # vi /etc/portsentry/porstentry.conf ###################### On vérifie que les chemins sont bons.
# ipchains support for linux KILL_ROUTE = "/sbin/ipchains -I input -s $TARGET$ -j DENY -l On décommente cette ligne qui ajoute une règle à ipchains pour refuser l'accés à la machine "attaquante" et un message sera écrit dans /var/log/message ############### La machine qui a tenté une attaque, sera inscrite dans le fichier /etc/hosts.deny (attention si vous faites des tests depuis un client de votre réseau, vous riquez de ne plus pouvoir disposer des ressources du serveur comme par exemple l'accés à internet ou à la messagerie mais on ne s'inquiète pas, on va voir plus loin comment remédier à cela ...) ################### # Si on dispose d'une connection via un modem. Ou alors on dé-commente la ligne KILL_RUN_CMD_FIRST="0" Si on veut recevoir un mail sur le compte de root en cas d'attaque, il faut modifier les lignes # KILL_RUN_CMD_FIRST="0" ainsi : KILL_RUN_CMD_FIRST="0" De cette façon, root reçoit un message avec pour sujet : Tentative de scan de IP-de-l'attaquant Ou encore mieux, si on a installé logcheck, on peut lui demander d'être exécuté en cas d'attaque : KILL_RUN_CMD=".usr/bin/logcheck.sh" Malin, non ? ;)) Ici on définit comment va fonctionner portsentry : Portsentry peut utiliser six modes différents,
selon l'option choisie au démarrage. Là on décommente les options que l'on souhaite utiliser : # This is the modes files for Portsentry. Uncomment the modes you want to run portsentry to run in #.For information about each mode, please see the Portsentry docummentation. tcp udp #stcp #sudp atcp audp Ici, il faut placer les adresse IP des machines que vous autorisez à scanner le serveur. Aux lignes : 127.0.01 Rajouez par exemple 172.16.0.200 (l'ip de la machine qui servura pour vos tests) Pour lancer portsentry : #portsentry -[ option] ou alors, si on a renseigné le fichier portsentry.mode : # service portsentry start Pour un démarrage automatique au boot de la machine, j'ai ajouté cette ligne dans /etc/rc.local Un scan : Un deuxième scan : Ici, on n'a plus d'info., de plus, si on n'a renseigné le fichier portsentry.conf avec l'IP du client, on voit dans les messages de log : Jan 4 04:45:27 e-smith portsentry[2714]: attackalert:
Connect from host: pc-00200.nunux.dyndns.org/172.16.0.200 to TCP port:
110 Jan 4 04:48:36 e-smith kernel: Packet log: input DENY
eth0 PROTO=6 172.16.0.200:3382 172.16.0.1:110 L=40 S=0x00 I=25450 F=0x4000
T=128 (#1)
Pour récupérer le produit : www.psionic.com/abacus/portsentry pour la tarbal www.e-smith.org/contrib/rpm-index/ pour le rpm Pour plus de détails théorique : L'excellent site Funix : à la section détecter les attaques en temps réel En plus, ici, les installations de Tcplogd et de Portsentry depuis les tarbals sont décrites. l'article de Georges Tarbouriech sur linuxfocus.org
|