| 1 | % Gestion des journaux - 2ème partie: utilisation de Tenshi |
|---|
| 2 | % |
|---|
| 3 | % Gestion & Supervision des Réseaux |
|---|
| 4 | |
|---|
| 5 | # Notes |
|---|
| 6 | |
|---|
| 7 | * Les commandes précédées de "$" signifient que vous devez exécuter |
|---|
| 8 | la commande en tant qu'utilisateur général - et non en tant |
|---|
| 9 | qu'utilisateur root. |
|---|
| 10 | |
|---|
| 11 | * Les commandes précédées de "#" signifient que vous devez travailler |
|---|
| 12 | en tant qu'utilisateur root. |
|---|
| 13 | |
|---|
| 14 | * Les commandes comportant des lignes de commande plus spécifiques |
|---|
| 15 | (par exemple "RTR-GW>" ou "mysql>") signifient que vous exécutez |
|---|
| 16 | des commandes sur des équipements à distance, ou dans un autre |
|---|
| 17 | programme. |
|---|
| 18 | |
|---|
| 19 | |
|---|
| 20 | # Exercices |
|---|
| 21 | |
|---|
| 22 | D'abord assurez vous que vos routeurs sont configurés pour envoyer les |
|---|
| 23 | logs (journaux) à votre serveur - ceci doit avoir été fait au cours |
|---|
| 24 | de l'exercice précédent. |
|---|
| 25 | |
|---|
| 26 | ## Mettre à jour la configuration de syslog-ng |
|---|
| 27 | |
|---|
| 28 | Si vous ne l'avez pas encore fait, loggez vous sur votre machine |
|---|
| 29 | virtuelle et devenez l'utilisateur root: |
|---|
| 30 | |
|---|
| 31 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 32 | $ sudo -s |
|---|
| 33 | # |
|---|
| 34 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 35 | |
|---|
| 36 | Configurer syslog-ng pour qu'il réception et sauvegarde les journaux |
|---|
| 37 | de tout routeur dans un seul fichier, pour faciliter l'inspection et |
|---|
| 38 | l'analyse: |
|---|
| 39 | |
|---|
| 40 | Éditer `/etc/syslog-ng/conf.d/10-network.conf`, |
|---|
| 41 | |
|---|
| 42 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 43 | # cd /etc/syslog-ng/conf.d/ |
|---|
| 44 | # editor 10-network.conf |
|---|
| 45 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 46 | |
|---|
| 47 | ... et ajouter ceci avant la dernière accolade fermante ( }; ): |
|---|
| 48 | |
|---|
| 49 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 50 | file("/var/log/network/everything", owner(root) group(root) perm(0644)); |
|---|
| 51 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 52 | |
|---|
| 53 | Au final, le contenu de ce fichier doit ressembler à: |
|---|
| 54 | |
|---|
| 55 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 56 | filter f_routers { facility(local0); }; |
|---|
| 57 | |
|---|
| 58 | log { |
|---|
| 59 | source(s_src); |
|---|
| 60 | filter(f_routers); |
|---|
| 61 | destination(routers); |
|---|
| 62 | }; |
|---|
| 63 | |
|---|
| 64 | destination routers { |
|---|
| 65 | file("/var/log/network/$YEAR/$MONTH/$DAY/$HOST-$YEAR-$MONTH-$DAY-$HOUR.log" |
|---|
| 66 | owner(root) group(root) perm(0644) dir_perm(0755) create_dirs(yes) |
|---|
| 67 | template("$YEAR $DATE $HOST $MSG\n")); |
|---|
| 68 | |
|---|
| 69 | file("/var/log/network/everything", owner(root) group(root) perm(0644)); |
|---|
| 70 | |
|---|
| 71 | }; |
|---|
| 72 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 73 | |
|---|
| 74 | Ceci activera la collecte de TOUT messages syslog qui correspond à la |
|---|
| 75 | catégorie (facility) local0 et le stockage dans un seul fichier, afin |
|---|
| 76 | que nous puissions lancer un script de supervisision sur ces messages. |
|---|
| 77 | |
|---|
| 78 | Assurez-vous d'avoir sauvé le fichier et quittez l'éditeur. |
|---|
| 79 | |
|---|
| 80 | Redémarrez syslog-ng afin qu'il charge la nouvelle configuration |
|---|
| 81 | |
|---|
| 82 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 83 | # service syslog-ng restart |
|---|
| 84 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 85 | |
|---|
| 86 | ## Rotation des journaux |
|---|
| 87 | |
|---|
| 88 | Créez un script qui effectuera la remise à zéro du fichier des journaux |
|---|
| 89 | afin qu'il ne devienne pas trop gros (copier & coller). |
|---|
| 90 | |
|---|
| 91 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 92 | # editor /etc/logrotate.d/everything |
|---|
| 93 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 94 | |
|---|
| 95 | Ajouter ce qui suit dans le fichier |
|---|
| 96 | |
|---|
| 97 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 98 | /var/log/network/everything { |
|---|
| 99 | daily |
|---|
| 100 | copytruncate |
|---|
| 101 | rotate 1 |
|---|
| 102 | postrotate |
|---|
| 103 | /etc/init.d/tenshi restart |
|---|
| 104 | endscript |
|---|
| 105 | } |
|---|
| 106 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 107 | |
|---|
| 108 | Puis sauvez le fichier et quitter l'éditeur. |
|---|
| 109 | |
|---|
| 110 | |
|---|
| 111 | ## Installation de tenshi |
|---|
| 112 | |
|---|
| 113 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 114 | # apt-get install tenshi |
|---|
| 115 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 116 | |
|---|
| 117 | |
|---|
| 118 | ## Configuration de tenshi |
|---|
| 119 | |
|---|
| 120 | Configuration de Tenshi pour que celui-ci vous envoie des alarmes |
|---|
| 121 | par mail quand le routeur est reconfiguré (copier & coller): |
|---|
| 122 | |
|---|
| 123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 124 | # editor /etc/tenshi/includes-available/network |
|---|
| 125 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 126 | |
|---|
| 127 | Ajouter ce qui suit dans le fichier |
|---|
| 128 | |
|---|
| 129 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 130 | set logfile /var/log/network/everything |
|---|
| 131 | set queue network_alarms tenshi@localhost sysadm@localhost [*/1 * * * *] Log check |
|---|
| 132 | |
|---|
| 133 | group_host 10.10 |
|---|
| 134 | network_alarms SYS-5-CONFIG_I |
|---|
| 135 | network_alarms PRIV_AUTH_PASS |
|---|
| 136 | network_alarms LINK |
|---|
| 137 | group_end |
|---|
| 138 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 139 | |
|---|
| 140 | Puis sauvez le fichier et quitter l'éditeur. |
|---|
| 141 | |
|---|
| 142 | Créer un lien symbolique pour que le fichier de configuration de Tenshi |
|---|
| 143 | soit chargé (copier & coller): |
|---|
| 144 | |
|---|
| 145 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 146 | # ln -s /etc/tenshi/includes-available/network /etc/tenshi/includes-active |
|---|
| 147 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 148 | |
|---|
| 149 | Enfin, redémarrer Tenshi: |
|---|
| 150 | |
|---|
| 151 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 152 | # service tenshi restart |
|---|
| 153 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 154 | |
|---|
| 155 | |
|---|
| 156 | ## Tester Tenshi |
|---|
| 157 | |
|---|
| 158 | Loggez vous sur votre routeur, et effectuez des commandes "config" |
|---|
| 159 | diverses (Exemples ci-dessous): |
|---|
| 160 | |
|---|
| 161 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 162 | $ ssh cisco@rtrX [où "X" est le numéro de votre routeur] |
|---|
| 163 | rtrX> enable |
|---|
| 164 | Password: <password> |
|---|
| 165 | rtrX# config terminal |
|---|
| 166 | rtrX(config)# int FastEthernet0/0 |
|---|
| 167 | rtrX(config-if)# description Description Change for FastEthernet0/0 for Tenshi |
|---|
| 168 | rtrX(config-if)# ctrl-z (combinaison de clavier) |
|---|
| 169 | rtrX# write memory |
|---|
| 170 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 171 | |
|---|
| 172 | Ne vous déconnectez pas immédiatement - comme dans les exercices |
|---|
| 173 | syslog-ng précédemment, effectuez un shutdown / no shutdown de |
|---|
| 174 | l'interface loopback: |
|---|
| 175 | |
|---|
| 176 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 177 | rtrX# conf t |
|---|
| 178 | rtrX(config)# interface Loopback 999 |
|---|
| 179 | rtrX(config-if)# shutdown |
|---|
| 180 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 181 | |
|---|
| 182 | attendre quelques secondes |
|---|
| 183 | |
|---|
| 184 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 185 | rtrX(config-if)# no shutdown |
|---|
| 186 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 187 | |
|---|
| 188 | Finir et sauvez la config ("write mem"): |
|---|
| 189 | |
|---|
| 190 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 191 | rtrX(config-if)# CTRL-z (équivalent à 'exit' 2 fois) |
|---|
| 192 | rtrX# write memory |
|---|
| 193 | rtr1# exit |
|---|
| 194 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 195 | |
|---|
| 196 | Vérifiez que vous recevez des mails de la part de Tenshi pour l'utilisateur |
|---|
| 197 | sysadm. Une méthode de vérification rapide est de regarder dans le répertoire |
|---|
| 198 | du mail: |
|---|
| 199 | |
|---|
| 200 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 201 | $ ls -l /var/mail |
|---|
| 202 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 203 | |
|---|
| 204 | * Note: Tenshi inspecte /var/log/network/everything une fois par minute, |
|---|
| 205 | donc vous devrez attendre jusqu'à une minute pour que le mail arrive |
|---|
| 206 | jusqu'à l'utilisateur sysadm. |
|---|
| 207 | |
|---|
| 208 | Assurez vous que vous vous êtes loggés en tant que sysadm (et pas root). |
|---|
| 209 | Soit vous ouvrez une nouvelle session avec ssh sur votre machine virtuelle, |
|---|
| 210 | soit vous quittez l'utilisateur root (exit). |
|---|
| 211 | |
|---|
| 212 | Ensuite, faire: |
|---|
| 213 | |
|---|
| 214 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 215 | $ mutt |
|---|
| 216 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|---|
| 217 | |
|---|
| 218 | Utilisez les flèches pour sélectionner un message envoyé par |
|---|
| 219 | "tenshi@localhost", puis appuyer sur `ENTER` pour le lire, et |
|---|
| 220 | `q` pour revenir à l'index, et `q` à nouveau pour quitter mutt. |
|---|
| 221 | |
|---|
| 222 | Si les mails n'arrivent pas, vérifier alors les choses suivantes: |
|---|
| 223 | |
|---|
| 224 | * Les journaux arrivent-ils dans le fichier `/var/log/network/everything` ? |
|---|
| 225 | |
|---|
| 226 | $ tail /var/log/network/everything |
|---|
| 227 | |
|---|
| 228 | * Ces messages de logs montrent-il bien un nom de machine tel que 'rtr5', |
|---|
| 229 | voire une adresse IP comme 10.10.5.254 ? Souvenez-vous, tenshi est |
|---|
| 230 | configuré de telle façon qu'il ne regarde que les noms de machine |
|---|
| 231 | commençant pas 'rtr ou bien les IP commençant par '10.10' (ceci dépend |
|---|
| 232 | de la façon dont vous avez configuré tenshi) |
|---|
| 233 | |
|---|
| 234 | * Vérifiez la configuration tenshi. Redémarrer tenshi si vous la modifiez. |
|---|
| 235 | |
|---|
| 236 | * Si vous êtes coincé quand même, demander à un instructeur de vous aider. |
|---|
| 237 | |
|---|
| 238 | |
|---|
| 239 | ## Faculcatif: Ajouter une nouvelle règle à Tenshi |
|---|
| 240 | |
|---|
| 241 | Voyez si vous arrivez à ajouter une nouvelle règle à Tenshi pour qu'un |
|---|
| 242 | email soit envoyé si un individu essaye de faire "enable" sur votre |
|---|
| 243 | routeur, avec un mauvais mot de passe. |
|---|
| 244 | |
|---|
| 245 | Indices: |
|---|
| 246 | |
|---|
| 247 | * "PRIV_AUTH_FAIL" est la chaîne que Cisco IOS utilise dans les messages |
|---|
| 248 | dans ce cas. |
|---|
| 249 | * Pour tester votre nouvelle règle, connectez vous à votre routeur, tapez |
|---|
| 250 | "enable" suivi d'un mot de passe incorrect. |
|---|