Se connecter

Informatique

Linux

Sujet : [CRASH] Serveur Debian
1
Adghgfjgcdfe
Niveau 6
10 janvier 2022 à 19:25:55

Depuis hier 20h, mon serveur Debian (vps chez Digital Ocean) crash. Je n'ai rien fait dessus samedi pourtant mais mes sites ne sont plus accessibles et je ne peux plus me connecter en ssh.

Une activité anormale y est corrélée car depuis (enfin j'imagine, je me suis rendu compte du problème plus tard), il y a une écriture en boucle mais je ne sais pas du tout à quoi ça peut correspondre et je n'arrive pas à établir un diagnostic.

https://image.noelshack.com/fichiers/2022/02/1/1641838414-serveur.png https://image.noelshack.com/fichiers/2022/02/1/1641838414-serveur-2.png

Digital océan me donne accès à un boot recovery from ISO et un terminal en ligne, donc je peux toujours accéder au serveur pour taper des commandes :

df -h m'indique que j'ai 8.8 Go d'occupé et 9.8 Go de libre donc pas un problème de mémoire a priori

top https://image.noelshack.com/fichiers/2022/02/1/1641838691-7558-noelpush.png

ps -o pid,user,%mem,command ax | sort -b -k3 -r https://image.noelshack.com/fichiers/2022/02/1/1641839063-ps.png

Je m'y connais pas en administration de serveur, j'ai toujours bricolé dessus sans avoir de problème... donc toute aide sera la bienvenue.

Oiseldkfdnfx
Niveau 2
10 janvier 2022 à 20:24:42

Pour les options de démarrage que j'évoquais : https://image.noelshack.com/fichiers/2022/02/1/1641842012-4370-noelpush.png

Les problèmes de perf plus haut sont sur le hard drive et je n'arrive pas à reproduire sur le ISO (voir entre 19h et 20h, puis j'ai reboot sur le hard drive). Ça s'annonce coton cette affaire.

https://image.noelshack.com/fichiers/2022/02/1/1641841670-0111-noelpush.png

gunrell
Niveau 19
10 janvier 2022 à 20:25:32

Si tu es en mode recovery alors tu as boot sur un linux en mode non persistent qui te permet de mount ta partition root afin de procéder au debug. C'est donc normal que tu n'ai pas accès à tes sites quand tu es dans ce mode. Normalement tu devrais avoir un truc dans /mnt

Suggestion :

Pour connaitre quel process utilise l'IO de ton disque y'a plusieurs outils, comme pidstat, iotop ... Par contre il faut lancer cette commande quand tu as boot sur ton system et pas le recovery.

Si tu n'as pas accès à ton system alors il faut que tu planifie l'execution de la commande via crontab par exemple.

Oiseldkfdnfx
Niveau 2
10 janvier 2022 à 21:42:07

D'acc, j'ai vu passer des mentions de iotop mais je me demandais comment faire. Donc la technique c'est un cron et je mets en sortie de commande un fichier ?

Et dans le même temps, c'est possible d'installer iotop sur une partition montée ?

Oiseldkfdnfx
Niveau 2
11 janvier 2022 à 20:12:25

Il n'y a pas des logs d'activité sur Linux ? Une sorte d'observateur d'évènements ?

Airiebslcmzmzbd
Niveau 7
12 janvier 2022 à 17:13:08

Merci. Je vais regarder ça !

En lançant mon serveur sur le hard disk et en lançant la console de Digital Océan, j'ai eu droit à une nouveauté : une succession de out of memory du process php-fpm.

https://image.noelshack.com/fichiers/2022/02/3/1642003733-out-memory.png

Je mets ce screen ici pour m'en souvenir, peut-être que ça vient de là et que je dois configurer le process pour ne pas qu'il excède un certain nombre d'instances / consommation de ram.

deepblue
Niveau 13
12 janvier 2022 à 22:39:04

Extrait les logs présents dans le /var/log de ton serveur. Ensuite il faut les analyser.

Auseiodflvkl
Niveau 7
16 janvier 2022 à 18:33:47

Merci, j'ai peut-être raté des choses mais l'analyse des logs ne m'a pas éclairé.

Bon, c'est une tragédie.

Je vais essayer de programmer un cron qui se chargera d'uploader un fichier tar.gz sur un autre serveur. Si je peux récupérer mes sources, ce sera déjà pas mal. Faudrait que je récupère mes tables SQL ensuite mais je suis moins serein pour cette partie.

RegleGraduee
Niveau 50
19 janvier 2022 à 12:27:31

On dirait que l'un de tes sites bouffes tout le CPU/Ram de ton serveur :(

Airiebslcmzmzbd
Niveau 7
19 janvier 2022 à 12:41:08

Je pense pas que ce soit un site car j'ai renommé tous leurs dossiers, genre www en www2, monsite en monsite2 etc pour ne plus qu'ils soient traités par Apache et que d'éventuels cron que j'aurais loupé soient désactivés par la force des choses.

Ardfhgjgcfs
Niveau 6
20 janvier 2022 à 10:17:54

En fait le cron ne se lance même pas, je pense pas pouvoir récupérer mes sources. Faut que je règle le problème ou je perds tout. u_U

Si quelqu'un voit quelque chose d'étrange dans ces logs...
La seule chose qui m'intrigue c'est les 500Mo de RAM à 99%. Je peux resize mon VPS à 1Go ou 2Go mais c'est con de payer plus cher si ça ne corrige rien au bout du compte.

https://image.noelshack.com/fichiers/2022/03/4/1642670072-log.png

godrik
Niveau 22
20 janvier 2022 à 13:06:48

Tu sais que tu as xmrig qui tourne?
C'est un crypto miner a ce que je sache.

Airiebslcmzmzbd
Niveau 7
20 janvier 2022 à 14:20:53

Non, je ne connaissais même pas de nom. :peur:

Bon ben voilà ça doit être ça, merci pour ton observation. Putain comment ce truc a pu s'installer. Je suis pas expert en sécurité mais j'ai normalement que des pages statiques, pas de formulaires et de XSS potentielles. En tout cas c'est pas moi, pas volontairement du moins. :doute:

Je vais regarder ça de plus près...

Ardfhgjgcfs
Niveau 6
20 janvier 2022 à 15:20:37

Avec find, j'ai cherché xmrig et monero dans tous mes dossiers à la racine.
J'ai retrouvé dans mon dossier /home ce qui correspond à ce tuto, le fichier de conf, un miner.sh, un fichier xmrig :
https://goopensource.fr/miner-du-monero-sur-debian-via-xmrig/
J'ai supprimé. Mais c'est toujours là au lancement du serveur.
Maintenant je remarque bien au démarrage du serveur durant la fenêtre de 300ms où ces logs apparaissent un « Started Monero miner service ».

https://image.noelshack.com/fichiers/2022/03/4/1642687614-monero.png

Quelqu'un a une idée de comment mettre la main dessus ? Les programmes au démarrage sont configurés soit dans /etc/init.d (j'ai pas de Monero ou de Xmrig dedans), soit dans un cron non ? Y'a une troisième voie ?

godrik
Niveau 22
20 janvier 2022 à 15:57:30

Ca veut dire que la machine a ete corrompu. Donc personnellement, ej ne ferais confiance a aucune donnee qui soit sur la machine.
Apres des vecteurs d'attaque il y en a plein:
-ssh mal configure
-cle ssh qui a leake
-l'hote de la VM a ete compromis
-une faille dans apache ou nginx
-lors de l'installation de la machine tu as peut etre copie un script qui etait verole
-une des sources de paquet a ete compromise

Ardfhgjgcfs
Niveau 6
20 janvier 2022 à 16:32:10

Le 20 janvier 2022 à 15:38:43 :
Réinstalle tout ce sera infiniment plus simple

J'ai ce vps depuis 2014 donc j'ai plusieurs sites personnels dessus, des BDDs avec du contenu important, j'aimerais bien au moins réussir mon dump avant de tout bazarder. J'ai pas fait de sauvegarde récente con de moi.

Bon c'est une catastrophe. Merci pour ces éclaircissements déjà, au moins je sais ce que je combats.

Ardfhgjgcfs
Niveau 6
20 janvier 2022 à 18:12:41

J'ai finalement trouvé, il restait un /etc/systemd/system/moneroocean_miner.service. Le monero miner ne semble plus se lancer - je n'en trouve plus de trace dans les logs - mais le problème d'I/O sur mon serveur est toujours là donc fausse joie.

Apache et ssh ne se lancent pas à cause d'une erreur 127 sinon. Si ça se trouve ça n'a même pas de rapport direct avec cette suractivité. Bref c'est un bordel complet, c'est sûrement au delà de mes compétences.

https://image.noelshack.com/fichiers/2022/03/4/1642698440-ssh.png

Ardfhgjgcfs
Niveau 6
22 janvier 2022 à 20:38:24

En fait le cron ne se lance même pas, je pense pas pouvoir récupérer mes sources. Faut que je règle le problème ou je perds tout. u_U

Bon bonne nouvelle, j'ai trouvé une option pour que ma partition recovery puisse avoir accès à internet et faire des requêtes (avant ça aucun ping ne marchait). Du coup j'ai pu sauver toutes mes sources en me connectant à un sftp distant, fabuleux. ♡

Reste mes données sql (MariaDb). Quelqu'un sait si je reprends un fichier quelconque et que je le remets sur un autre serveur, je retrouverai mes databases ? Ou c'est plus compliqué ?

Ardfhgjgcfs
Niveau 6
22 janvier 2022 à 20:56:42

Bon j'imagine que je dois récupérer l'ensemble de /var/lib/mysql, je retrouve mes db dedans
Et peut-être les fichiers de configuration de /etc/mysql/mariadb
Je croise les doigts

Auseiodflvkl
Niveau 7
24 janvier 2022 à 23:11:47

C'est bon, on peut copier le dossier sur le nouveau serveur. :fier:
https://serverfault.com/questions/659048/can-i-copy-the-entire-var-lib-mysql-folder-to-a-different-server-mysql-vs-mar

J'ai tout récupéré, merci à chacun.

1
Sujet : [CRASH] Serveur Debian
   Retour haut de page
Consulter la version web de cette page