Sueurs froides
Hier, j'étais très très inquiète pour mes ressources informatiques pendant quelques heures – les joies de les gérer soi-même au lieu de sous-traiter au Cloude. En voici l'histoire et son dénouement heureux (pour une fois).
Un observateur attentif de mes machines aura remarqué que beaucoup d'entre elles fonctionnent avec FreeBSD. Et en fait même la totalité de celles que j'utilise régulièrement depuis des années.
FreeBSD a la bonne idée de fournir par défaut un système nommé periodic, qui lance à intervalles régulier des scripts et envoie par e-mail l'éventuelle sortie de ces scripts.
C'est ainsi que tous les jours je reçois un rapport, qui ne contient généralement rien d'intéressant (ce qui est une bonne chose), mais que je lis quand même soigneusement, au cas où.
Une des raisons pour lesquelles j'aime beaucoup cet e-mail est qu'il quitte le serveur qui l'a généré juste après sa génération, de sorte que des éventuels indices d'un piratage (qui auraient subsisté jusqu'à la génération du rapport) ne puissent plus être effacés ou maquillés (à moins de pirater en plus le serveur mail, ou la machine où je les lis, rien n'est infaillible mais ça aide à rendre l'attaque trop chère pour mes ennemis).
Hier, j'ai eu la malheureuse idée de dépiler mes e-mails à une heure déraisonnablement tardive, mais j'ai quand même lu soigneusement le rapport de la veille (mercredi, donc).
Quelle ne fut pas ma surprise de trouver, au milieu des banalités habituelles, les lignes suivantes :
rebma login failures:
Jun 22 20:07:05 rebma sshd[1023]: error: PAM: authentication error for root from ███.███.███.███
Jun 22 20:07:08 rebma sshd[1023]: error: PAM: authentication error for root from ███.███.███.███
En réalité, ce n'est pas tout à fait ça que j'ai vu, il y avait une vraie
adresse IP numérique à la place de ███.███.███.███
, mais je préfère ne
pas la publier.
Que quelqu'un cherche à se connecter sur le compte root de mon serveur dédié Rebma ne m'étonne pas plus que ça, ma première réaction a plutôt été l'étonnement de ne pas en voir d'habitude.
Cependant, je me suis rapidement rendue compte que l'adresse IP numérique (que j'ai censuré ici) me disait quelque chose. Après vérification, il s'agit bien d'une machine que je contrôle.
Ou du moins, que je croyais contrôler, parce que je suis certaine de ne pas avoir essayé de me connecter où que ce soit mercredi soir vers 22h (le log de Rebma est en UTC).
Par acquis de conscience, j'ai quand même vérifié, des fois qu'un Alzheimer ou un coup à la Medivh me guette, et les logs sont formels, je ne me suis connectée nulle part mercredi soir.
Donc pour résumer, quelqu'un qui n'est pas moi a essayé de se connecter par
SSH au compte root de Rebma, depuis une machine que devrais être la seule
à contrôler, et sur laquelle il y a un .ssh/config
qui décrit le compte
root de Rebma et la clef (chiffrée) pour s'y connecter. Je vois
difficilement plus clair comme symptôme qu'on s'est fait trouer.
Et évidemment, ça ne peut pas arriver un jour où on est en forme et où on a du temps. Il faut que ça arrive à 1h du matin, alors qu'on est ivre de fatigue depuis au moins 22h, et que le moral n'est pas vraiment à son maximum.
J'ai quand même fait le tour des processus et des logs locaux, sans rien trouver d'anormal. J'ai remonté quelques jours dans le passé, toujours rien.
Donc non seulement je me suis fait trouer, mais en plus par un ennemi qui nettoie bien. Sans la tentative de connexion sur Rebma, je n'aurais rien remarqué.
Alors je me sous avouée vaincue, et je suis partie au lit, après avoir un
peu hésité à éteindre la machine, mais ce sera plus facile de la passer
au napalm réinstaller si elle est allumée, et ce que l'Ennemi en fait
pendant ce temps ne doit pas être tellement grave si c'est si bien caché.
Aller au lit, c'est une chose, mais ensuite, comment dormir juste après s'être pris un truc comme ça sur la figure ?
Quand j'en ai eu marre de gaspiller du temps à vainement essayer de dormir, je me suis relevée pour inspecter les logs plus en profondeur.
Et cette fois, j'ai regardé les logs de Rebma, des fois que d'autres indices y soient restés. Mais sur Rebma, aucune trace de ces tentatives de connexion.
Évidemment, je me dis tout de suite que Rebma aussi s'est fait trouer. Il va falloir une plus grosse bouteille de napalm.
Mais avant de céder à la panique, j'ai quand même trouvé étonnant qu'un
ennemi capable de trouer deux machines et de tout nettoyer derrière se
fasse avoir par un pauv' script periodic
qui est activé par défaut.
Surtout avec sept heures entre les tentatives ratées de connexion et
l'envoi du rapport, largement plus de temps qu'il n'en faut pour nettoyer,
ou au moins retarder periodic
.
Je ne sais pas trop ce qui m'a pris, mais du coup j'ai regardé le script
periodic
, pour voir où exactement aurait dû être ces informations si bien
nettoyées.
J'y trouve find ${LOG} -name 'auth.log.*' -mtime -2
et $LOG/auth.log
,
avec LOG
qui a gardé sa valeur par défaut, /var/log
. Alors que ça fait
des années que mes logs sont rangés dans
/var/log/${host}/${year}/${month}/
. Cela dit il reste bien un
/var/log/auth.log
d'avant cette "nouvelle" organisation des logs.
J'y trouve aussi un egrep -ia "^$yesterday…
, avec
yesterday=`date -v-1d "+%b %e "`
. Donc avec le jour et le mois, mais
pas l'année.
Et effectivement, il y a bien des tentatives de connexion dans
/var/log/auth.log
, datant du 22 juin… 2011.
Autant j'ai les idées très claires sur ce que j'ai fait dans la soirée du 22 juin 2016, autant les détails de la soirée du 22 juin 2011 m'échappent un peu.
Donc finalement, ce n'est pas un indice de compromission d'un de mes systèmes. On peut garder le napalm en stock pour le prochain barbecue récalcitrant.
J'ai pu me recoucher avec plus de sérénité.
Mais ça veut quand même dire que ça fait cinq ans que dans chaque rapport du 23 et 24 juin il y a ces mêmes lignes, et ce n'est que maintenant que je le remarque. Tu parles de lire soigneusement les rapports…
Au moins ça relance la question des logs distants inaltérables, et du monitoring (genre un SMS à chaque connexion root).
Commentaires
1. Le samedi 25 juin 2016 à 11:52, par _FrnchFrgg_ :
En fait c'est un hacker très doué qui t'a piraté... C'est toi depuis le passé. Bon normalement dans les histoires c'est le toi du futur qui invente la machine à remonter le temps, sinon c'est un peu plus dur pour l'effet de surprise. Mais tu as le droit d'innover, hein.
2. Le samedi 25 juin 2016 à 11:58, par _FrnchFrgg_ :
À noter que j'utilise "hacker" pour "brillant informaticien" et pas "cracker" comme "pirate" même si tout le monde confond les deux. Et aussi je garde tout au masculin (indéterminé en fait) parce que je déteste les écritures du style informaticien-ne-s chevroné-e-s qui me paraissent tellement dérisoires par rapport aux vrais problèmes.
3. Le samedi 25 juin 2016 à 11:59, par _FrnchFrgg_ :
Ou docteure ahhhrg comme c'est moche. (et j'arrête le multipost maintenant).
Poster un commentaire
Autour de cette page
Autour de cet article
Weblog
Derniers commentaires
- Natacha dans Blogoversaire
- Jean Abou Samra dans Blogoversaire
- Jean Abou Samra dans Blogoversaire
- Natacha dans Blogoversaire
- Gro-Tsen dans Blogoversaire
- Balise dans Blogoversaire
- Gro-Tsen dans Mon deuxième carton
- Barakoma dans Requiescat
- joanna dans Évolution des commentaires
- Natacha dans Évolution des commentaires
Tags
- (Sans tag) (6)
- Appel au public (17)
- Autoexploration (60)
- BSD (6)
- Boulot (30)
- Création (12)
- En vrac (11)
- Évènement (59)
- Geek (48)
- Goûts (10)
- Humeur (18)
- Inventaire (9)
- Jeux (7)
- Jouets (36)
- Lecture (10)
- Réflexion (23)
- Site (22)
- Social (26)
- Société (14)
- Suite (15)
- Vision atypique (30)
- Vœux (8)
Archives
- 2024 (12)
- 2023 (14)
- 2022 (14)
- 2021 (15)
- 2020 (14)
- 2019 (12)
- 2018 (12)
- 2017 (13)
- 2016 (16)
- Décembre 2016 (2)
- Novembre 2016 (1)
- Octobre 2016 (1)
- Septembre 2016 (1)
- Août 2016 (1)
- Juillet 2016 (1)
- Juin 2016 (2)
- Mai 2016 (2)
- Avril 2016 (2)
- Mars 2016 (1)
- Février 2016 (1)
- Janvier 2016 (1)
- 2015 (12)
- 2014 (13)
- 2013 (15)
- 2012 (18)
- 2011 (18)
- 2010 (20)
- 2009 (45)