Gestion et surveillance de réseau Gestion des journaux, partie II: Utilisation Swatch --------------------------------------------------- Notes : ------ * Les commandes précédées de "$" signifient que vous devez exécuter la commande en tant qu'utilisateur général - et non en tant qu'utilisateur root. * Les commandes précédées de "#" signifient que vous devez travailler en tant qu'utilisateur root. * Les commandes comportant des lignes de commande plus spécifiques (par exemple "RTR-GW>" ou "mysql>") signifient que vous exécutez des commandes sur des équipements à distance, ou dans un autre programme. Exercices --------- 0. Ouvrez une session sur votre PC ou ouvrez une fenêtre de terminal en tant qu'utilisateur root : $ sudo bash 1. Activons la journalisation de tous les événements dans un fichier unique : # vi /etc/rsyslog.conf - Localisez la ligne local5.* -?RouterLogs ... ... et ajoutez la nouvelle ligne ci-dessous : local5.* /var/log/network/everything ... Ceci aura pour effet d'activer la journalisation de TOUS les messages dans un fichier unique, de sorte que nous serons en mesure d'exécuter un script de monitoring des messages. - Maintenant, redémarrez rsyslog : # service rsyslog restart 2. Activez un script automatique quotidien pour tronquer le fichier journal afin qu'il ne devienne pas trop gros : # editor /etc/logrotate.d/everything - Dans le fichier ajoutez les lignes suivantes : /var/log/network/everything { daily copytruncate rotate 1 postrotate /etc/init.d/swatch restart endscript } 3. Installez Swatch # apt-get install swatch 4. Créez le fichier /etc/swatch.conf et ajoutez les règles suivantes dans le fichier : # vi /etc/swatch.conf watchfor /PRIV_AUTH_PASS/ mail=sysadm,subject=Enable mode entered threshold type=limit,count=1,seconds=3600 watchfor /CONFIG_I/ mail=sysadm,subject=Router configuration threshold type=limit,count=1,seconds=3600 watchfor /LINK/ mail=sysadm,subject=Link state change threshold type=limit,count=1,seconds=3600 watchfor /SSH/ mail=sysadm,subject=SSH connection threshold type=limit,count=1,seconds=3600 Enregistrez le fichier et quittez 5. Démarrez Swatch : # swatch -c /etc/swatch.conf --daemon -t /var/log/network/everything Vérifiez que Swatch est lancé : # ps ax | grep swatch 6. Connectez-vous à votre routeur, et exécutez quelques commandes "config" (exemple ci-dessous) : # ssh cisco@10.10.0.X [où "X" est le numéro de votre routeur] rtrX.ws.nsrc.org> enable Password: rtrX.ws.nsrc.org# config terminal rtrX.ws.nsrc.org(config)# int FastEthernet0/0 rtrX.ws.nsrc.org(config-if)# description Description Change for FastEthernet0/0 for Swatch rtrX.ws.nsrc.org(config-if)# ctrl-z rtrX.ws.nsrc.org# write memory rtrX.ws.nsrc.org# exit Tout comme dans l'exercice précédent, tentez de fermer / ne pas fermer une interface de bouclage 7. Vérifiez que vous recevez de Swatch les e-mails adressés à l'utilisateur sysadmin $ su - sysadmn $ mutt -f /var/mail/sysadm 8. Ajoutons des ACL au routeur rtrX# conf t rtrX(config)# access-list 123 deny tcp any host 10.10.0.X eq 23 log rtrX(config)# access-list 123 permit ip any any rtrX(config)# interface fastEthernet 0/0 rtrX(config-if)# ip access-group 123 in rtrX(config-if)# exit rtrX(config)# exit (Souvenez-vous que X est le numéro de votre routeur) Explication : nous filtrons maintenant l'accès Telnet au routeur, sur l'interface interne, mais nous autorisons tout le reste. L'instruction "permit" est obligatoire, faute de quoi tous les accès IP au routeur seront désactivés ! 9. Vérifiez que cela fonctionne : Depuis votre PC : $ telnet 10.10.0.X Trying 10.10.0.X... telnet: Unable to connect to remote host: No route to host $ Remarquez que le message dit "No route to host" (hôte introuvable) au lieu de "Connection refused" (Connexion refusée) Ceci est dû au fait que bien que nous ayons déjà désactivé Telnet en activant SSH sur les routeurs, la réponse d'une ACL active est différente de celle d'un port fermé (TCP RST au lieu ICMP Host Unreachable (Hôte ICMP inaccessible)). Regardez maintenant le fichier journal : $ tail /var/log/network/everything Jun 2 13:46:14 rtrX 6133: *Jun 2 15:46:13.552: %SEC-6-IPACCESSLOGP: list 123 denied tcp 10.10.0.Y(43523) -> 10.10.0.X(23), 1 packet Astuce : si votre journal est rempli de messages "SSH-5-*", ignorez-les en procédant comme indiqué ci-dessous : $ grep -v SSH-5 /var/log/network/everything | tail ... ... vous devriez voir des messages SEC-6-IPACCESSLOGP 10. Créez une règle nouvelle Swatch pour détecter ces événements # vi /etc/swatch.conf, et ajoutez ceci : watchfor /SEC-6-IPACCESS/ mail=sysadm,subject=Blocked connection threshold type=limit,count=1,seconds=3600 11. Tuez, puis redémarrez Swatch : # ps ax |grep swatch | grep -v grep 12345 ? Ss 0:00 /usr/bin/swatch -c /etc/swatch.conf --daemon -t /var/log/network/everything Le numéro à GAUCHE est celui que vous devez tuer - ici 12345 # kill 12345 (VOTRE propre numéro !) 12. Redémarrez Swatch # swatch -c /etc/swatch.conf --daemon -t /var/log/network/everything 13. Essayez de vous connecter au routeur en Telnet, et vérifiez votre courrier!