Pour être honnête, je suis pauvre en administration de serveur, mais mon patron m'a demandé de l'aide. Son serveur a une bande passante limitée à 2 Go/jour et aujourd'hui, il a reçu un avertissement de la société qu'il la dépassait et utilisait ... 24 Go.
Comme c'est impossible car il était en chemin, il m'a demandé si je pouvais retrouver le problème. Je n'ai aucune idée par où commencer ni quoi faire.
Toute information serait utile, comment puis-je savoir ce qui ne va pas.
La machine fonctionne sur Ubuntu 12.04. Le plus curieux est que, selon les diagrammes reçus de l'hébergeur, seul le transfert sortant a été utilisé.
MODIFIER
Merci pour les suggestions, je vais lancer tcpdump et essayer d'examiner le résultat
Après avoir cherché pendant un certain temps quel est le problème (plus de 60 Go de bande passante en quelques jours), j'ai découvert que mon serveur était une source d'attaque DDOS.
Tout d'abord, j'ai essayé d'installer Oracle DB dessus, j'ai donc créé Oracle user. Les pirates ont réussi à casser la passe pour cet utilisateur (je suppose que je devrais le rendre plus difficile :(), ils ont créé un répertoire caché sous Oracle home, avec une crontab là-bas, qui a exécuté manuellement certains démons qui ont inondé le serveur cible.
De plus, les pirates ont créé 2 nouveaux utilisateurs sur mon serveur: avahi et colord. Que dois-je faire à leur sujet? J'ai googlé et semble que le logiciel du même nom n'est pas dangereux, mais j'ai supprimé ces utilisateurs (et Oracle aussi).
De plus, j'ai supprimé toute la maison Oracle, avec tout en elle.
Je suppose que je dois sécuriser davantage mon serveur, car il peut être attaqué à nouveau, merci à tous pour votre aide!
Pour une surveillance immédiate, vous pouvez utiliser iftop . Cela vous montrera les connexions actuellement actives et la bande passante qu'elles utilisent. Une fois que vous avez identifié une connexion à fort trafic, recherchez le numéro de port local et utilisez netstat
pour trouver à quel processus la connexion appartient.
Sudo netstat -tpn | grep 12345
Pour une surveillance à plus long terme, je suggérerais quelque chose comme darkstat . Cela peut vous donner une ventilation par hôte et par port, ce qui pourrait vous permettre de comprendre à quoi le trafic est lié.
Je recommanderais d'installer ntop.
Mettez cela sur un emplacement de passerelle/routeur hôte et surveillez le trafic pendant une journée/semaine. Ntop fournit une interface utilisateur Web où vous pouvez obtenir une ventilation par IP/port/protocole.
Le meilleur outil pour cela est probablement iftop , et facilement apt-get'able via Sudo apt-get install iftop. Il affichera la sortie en fonction des IP/noms d'hôte coupables:
191Mb 381Mb 572Mb 763Mb 954Mb
└────────────┴──────────┴─────────────────────┴───────────┴──────────────────────
box4.local => box-2.local 91.0Mb 27.0Mb 15.1Mb
<= 1.59Mb 761kb 452kb
box4.local => box.local 560b 26.8kb 27.7kb
<= 880b 31.3kb 32.1kb
box4.local => userify.com 0b 11.4kb 8.01kb
<= 1.17kb 2.39kb 1.75kb
box4.local => b.resolvers.Level3.net 0b 58b 168b
<= 0b 83b 288b
box4.local => stackoverflow.com 0b 42b 21b
<= 0b 42b 21b
box4.local => 224.0.0.251 0b 0b 179b
<= 0b 0b 0b
224.0.0.251 => box-2.local 0b 0b 0b
<= 0b 0b 36b
224.0.0.251 => box.local 0b 0b 0b
<= 0b 0b 35b
─────────────────────────────────────────────────────────────────────────────────
TX: cum: 37.9MB peak: 91.0Mb rates: 91.0Mb 27.1Mb 15.2Mb
RX: 1.19MB 1.89Mb 1.59Mb 795kb 486kb
TOTAL: 39.1MB 92.6Mb 92.6Mb 27.9Mb 15.6Mb
N'oubliez pas les utilitaires sar et netstat classiques et puissants sur les anciens * nix!
Un autre excellent outil est nload , un excellent outil pour surveiller la bande passante en temps réel et facilement installé dans Ubuntu ou Debian avec Sudo apt-get install nload.
Device eth0 [10.10.10.5] (1/2):
=====================================================================================
Incoming:
. ...|
# ####|
.. |#| ... #####. .. Curr: 2.07 MBit/s
###.### #### #######|. . ## | Avg: 1.41 MBit/s
########|#########################. ### Min: 1.12 kBit/s
........ ################################### .### Max: 4.49 MBit/s
.##########. |###################################|##### Ttl: 1.94 GByte
Outgoing:
########## ########### ###########################
########## ########### ###########################
##########. ########### .###########################
########### ########### #############################
########### ###########..#############################
############ ##########################################
############ ##########################################
############ ########################################## Curr: 63.88 MBit/s
############ ########################################## Avg: 32.04 MBit/s
############ ########################################## Min: 0.00 Bit/s
############ ########################################## Max: 93.23 MBit/s
############## ########################################## Ttl: 2.49 GByte
Jetez un oeil à tcpdump . Il peut vider tout le trafic réseau (pas seulement TCP comme son nom l'indique), que vous pouvez ensuite lire avec une application comme Wireshark. Dans Wireshark, il est très facile de filtrer certains types de données et même de tracer des graphiques des E/S réseau.
Un autre outil utile pourrait être netstat qui affiche une liste des connexions réseau en cours. Il y a peut-être des connexions qui ne devraient pas exister. Tcpdump est beaucoup plus utile (capturez quelques minutes, puis vérifiez si vous pouvez déjà voir la source), mais netstat peut vous donner un aperçu rapide.
En lisant ce propos, mes premières réflexions sont que vous avez un malware sur votre serveur ou qu'il est utilisé pour des attaques d'amplification. Mais pour examiner cela, vous devez d'abord exécuter tcpdump.
Edit: Notez que tcpdump doit probablement être exécuté en tant que root, vous devrez peut-être utiliser Sudo tcpdump
.
Un autre montage: comme je ne trouve pas vraiment une bonne page Web pour faire un lien sur les attaques d'amplification en général, voici une version courte:
Des protocoles comme DNS s'exécutent sur UDP. Le trafic UDP est sans connexion et vous pouvez donc très facilement usurper l'adresse IP de quelqu'un d'autre. Parce qu'une réponse DNS est généralement plus grande que la requête, cela peut être utilisé pour une attaque DoS. L'attaquant envoie une requête demandant tous les enregistrements du serveur DNS sur un nom donné, et indique au serveur DNS que la demande provient de X. Ce X est la cible que l'attaquant veut faire. Le serveur DNS répond alors gentiment, envoyant la réponse (grosse, disons 4 Ko) à X.
Il s'agit d'une amplification car l'attaquant envoie moins de données que X n'en reçoit réellement. DNS n'est pas le seul protocole avec lequel cela est possible.
Eh bien, une capture de paquets est généralement le premier point de départ dans des situations comme celles-ci. Assurez-vous que tcpdump est installé ($ Sudo apt-get install tcpdump
), puis exécutez ce qui suit:
$ Sudo tcpdump -w packet.log
Cela va écrire un journal de tous les paquets dans packet.log
. Laissez-le fonctionner pendant quelques minutes, puis téléchargez ce fichier et inspectez-le à l'aide de Wireshark . Si le trafic mystère est toujours en cours, il devrait être assez évident avec un coup d'œil rapide à travers les données de capture de paquets.
Capturer tous les paquets envoyés en une journée lorsque vous dépassez votre quota de bande passante n'est probablement pas l'approche la plus judicieuse - comment allez-vous obtenir les données du système pour analyse?
Quel accès avez-vous sur la box? Quels ports sont ouverts? Avez-vous vérifié les journaux des services en cours d'exécution? Quelque chose comme awstats résumera les journaux FTP, HTTP et SMTP (en supposant que ces serveurs sont configurés pour enregistrer les données dans les journaux). OTOH mrtg enregistrera et suivra l'utilisation du réseau par point d'extrémité/port.
si vous pensez que votre porc de bande passante est Apache, j'ai eu du succès avec cet outil dans le passé
Haut Apache