Comment savoir quoi ou qui utilise ma bande passante?


17

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é.

ÉDITER

Merci pour les suggestions, je vais lancer tcpdump et essayer d'examiner le résultat


Veuillez poster vos commentaires en tant que commentaire, pas dans le corps de votre question.
EEAA

Voici ma question, puis-je exécuter tcpdump en arrière-plan, afin de collecter des données de disons un jour?
kamil

Vous le pouvez, oui. Vous devez l'exécuter à partir d'une session d' écran ou quelque chose comme ça. Attention, cependant ... vous devez vous assurer que vous disposez de suffisamment de disque pour stocker toutes les données capturées. Vous devriez probablement lire la tcpdumppage de manuel et voir comment la configurer pour capturer uniquement les en-têtes TCP / IP, en éliminant le reste des données par paquets.
EEAA

Réponses:


18

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 netstatpour 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é.


1
iotop? Ou pensiez-vous à iftop ?
EEAA

@ErikA Euh, oui .. c'est ce que j'ai dit!
mgorven

7

Je recommanderais d'installer ntop.

http://www.ntop.org/

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.


2

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 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, cela devrait être assez évident avec un coup d'œil rapide à travers les données de capture de paquets.


À l'aide de Wireshark, utilisez le menu Statistiques - Points de terminaison. Vous pouvez ensuite sélectionner IP ou TCP ou d'autres listes et trier par quantité reçue / transmise par chaque point de terminaison. Où le point final sera l'adresse IP ou la machine. Mais certains points de terminaison peuvent être des passerelles ou des commutateurs, il faudrait donc effectuer un autre tcpdump et wirehark sur cette passerelle pour retrouver l'utilisateur de la bande passante.
gaoithe

2

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 pourrait 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 devrez 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 peux pas vraiment trouver une bonne page Web pour établir 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.


1
Oui. tcpdump -i any -w /tmp/traffic.pcap. À l'aide de Wireshark, utilisez le menu Statistiques - Points de terminaison. Trier par montant reçu / transmis.
gaoithe

2

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

1

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'y installer Oracle DB, j'ai donc créé un utilisateur Oracle. Les pirates ont réussi à casser la passe pour cet utilisateur (je suppose que je devrais rendre les choses plus difficiles :(), 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 d'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!


4
je voudrais effacer votre serveur et recommencer, je ne fais jamais confiance à un serveur après un compromis. neutraliser le site depuis l'orbite, c'est le seul moyen d'en être sûr.
The Unix Janitor

Oui, je vais le faire, tout d'abord la sauvegarde de certaines données (référentiel svn, scripts utiles)
kamil

assurez-vous que les données ont toujours l'intégrité, il est connu que les intrus modifient le code source et les scripts pour placer des portes dérobées. Je comparerais certainement la dernière source svn avec une version récemment vérifiée avant que l'intrusion n'entre.
The Unix Janitor

0

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.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.