Як дізнатися, що або хто використовує мою пропускну здатність?


17

Якщо чесно, я керую адміністрацією сервера, але мій начальник попросив мене про допомогу. Його сервер має обмежену пропускну здатність 2 Гб / добу, і сьогодні він отримав попередження від компанії, що він його перевищив і використовував ... 24 ГБ.

Оскільки це неможливо, бо він виявився таким чином, він запитав мене, чи можу я віднайти проблему. Я поняття не маю, з чого почати або що робити.

Будь-яка інформація буде корисною, як я можу з’ясувати, що не так.

Машина працює на Ubuntu 12.04. Найцікавіше, що за схемами, отриманими від хостеру, використовувався лише вихідний трансфер.

EDIT

Дякую за пропозиції, я запускаю tcpdump і спробую вивчити результат


Будь ласка, опублікуйте свої коментарі як коментар, а не в тій частині вашого питання.
EEAA

Ось моє запитання, чи можу я запустити tcpdump у фоновому режимі, щоб він збирав дані, скажімо, за день?
kamil

Можна, так. Вам потрібно буде запустити його в межах сеансу на екрані чи щось подібне. Але будьте обережні ... вам потрібно переконатися, що у вас є достатньо диска для зберігання всіх захоплених даних. Ймовірно, вам слід прочитати tcpdumpдовідкову сторінку і побачити, як налаштувати її лише на захоплення заголовків TCP / IP, відкинувши решту даних пакетів.
EEAA

Відповіді:


18

Для негайного моніторингу можна використовувати iftop . Це покаже вам поточні активні з'єднання та пропускну здатність, яку вони використовують. Виявивши високошвидкісний трафік, знайдіть номер локального порту та використовуйте netstatдля пошуку процесу, до якого належить з'єднання.

sudo netstat -tpn | grep 12345

Для довгострокового моніторингу я б запропонував щось на зразок darkstat . Це може дати вам розбивку на хост і порт, що може допомогти вам зрозуміти, з чим пов’язаний трафік.


1
iotop? Або ти думав про іфтоп ?
EEAA

@ErikA Так, це я сказав!
mgorven

7

Я рекомендую встановити ntop.

http://www.ntop.org/

Помістіть це на місце розташування шлюзу / маршрутизатора та спостерігайте за трафіком на день / тиждень. Ntop надає веб-інтерфейс, де ви можете отримати розбивку за IP / портом / протоколом.


2

Ну, як правило, перше місце, яке потрібно починати в таких ситуаціях, є захоплення пакетів. Переконайтесь, що tcpdump встановлений ( $ sudo apt-get install tcpdump), а потім запустіть наступне:

$ sudo tcpdump -w packet.log

Це напише журнал усіх пакетів до packet.log. Нехай це працює кілька хвилин, а потім завантажте цей файл і перевірте за допомогою Wireshark . Якщо таємничий трафік все ще відбувається, це повинно бути цілком очевидним при короткому погляді через дані захоплення пакетів.


Використовуючи дротик, використовуйте меню Статистика - Кінцеві точки. Потім можна вибрати IP або TCP або інші списки та сортувати за кількістю, отриманою / переданою кожною кінцевою точкою. Де кінцевою точкою буде IP-адреса або машина. Але деякі кінцеві точки можуть бути шлюзом або комутатором, тому доведеться зробити ще один tcpdump і wireshark на цьому шлюзі, щоб відстежити користувача пропускної здатності.
gaoithe

2

Погляньте на tcpdump . Він може скинути весь мережевий трафік (не тільки tcp, як підказує назва), який ви зможете прочитати за допомогою програми, наприклад Wireshark. У Wireshark дуже легко відфільтрувати певні типи даних і навіть графічні графіки мережевого вводу-виводу.

Іншим корисним інструментом може бути netstat, який відображає список поточних мережних з'єднань. Можливо, є зв’язки, яких там не повинно бути. Tcpdump набагато корисніший (захопіть кілька хвилин, потім перевірте, чи ви вже можете бачити джерело), ​​але netstat може дати вам швидкий огляд.

Прочитавши це, до речі, мої перші думки полягають у тому, що у вас на сервері є зловмисне програмне забезпечення або що воно використовується для атак посилення. Але для вивчення цього вам потрібно спочатку запустити tcpdump.

Редагувати: Зауважте, що tcpdump, ймовірно, потрібно запустити як root, можливо, вам потрібно скористатися sudo tcpdump.

Ще одна редакція: Оскільки я не можу знайти хорошу веб-сторінку, яка б посилалася на те, які атаки посилення взагалі є, ось коротка версія:

Такі протоколи, як DNS, працюють на UDP. Трафік UDP не пов'язаний, і тому ви можете дуже легко підробити IP-адресу когось іншого. Оскільки відповідь DNS зазвичай більша за запит, це може використовуватися для DoS-атаки. Зловмисник надсилає запит, у якому запитує всі записи, на яких DNS-сервер має вказане ім'я, і ​​повідомляє серверу DNS, що запит походить від X. Цей X є ціллю, яку зловмисник хоче DoS. Потім сервер DNS люб'язно відповідає, надсилаючи відповідь (великий, скажімо, 4 кБ) на X.

Це посилення, оскільки нападник надсилає менше даних, ніж насправді отримує X. DNS - не єдиний протокол, з яким це можливо.


1
Так. tcpdump -i будь-який /w /tmp/traffic.pcap. Використовуючи дротик, використовуйте меню Статистика - Кінцеві точки. Сортувати за отриманою / переданою кількістю.
gaoithe

2

Найкращим інструментом для цього є, мабуть, iftop , і легко apt-get'able через sudo apt-get install iftop. Він буде відображати вихід відповідно до імен винуватця IP / хостів:

             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

Не забувайте про класичні та потужні утиліти sar і netstat на старих * nix!

Ще одним чудовим інструментом є nload , чудовий інструмент для моніторингу пропускної здатності в режимі реального часу, який легко встановлюється в Ubuntu або Debian з 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

Протягом довгого пошуку в чому проблема (пропускна здатність понад 60 Гб за кілька днів) я виявив, що мій сервер був джерелом DDOS-атаки.

Перш за все, я спробував встановити на нього Oracle DB, тому створив користувача Oracle. Хакерам якимось чином вдалося пробити пропуску для цього користувача (я думаю, що мені слід зробити це складніше :(), вони зробили прихований режисер під будинком Oracle, там було встановлено crontab, який вручну запускав деякі діамони, які заполонили цільовий сервер.

Більше того, хакери створили на моєму сервері 2 нових користувачів: avahi та colord. Що мені робити з ними? Я гугл і здається, що програмне забезпечення з такою ж назвою не є небезпечним, але я видалив цих користувачів (і оракул теж).

Крім того, я видалив цілий оракул додому, з усім, що в ньому.

Я думаю, мені потрібно більше захистити свій сервер, оскільки він може бути атакований знову, дякую всім за допомогу!


4
Я б стер ваший сервер і запустив заново, я ніколи не довіряю серверу після компромісу. ядерний сайт з орбіти, це єдиний спосіб бути впевненим.
Двірник Unix

Yupp, я збираюся це зробити, по-перше, резервне копіювання деяких даних (сховище svn, корисні сценарії)
kamil

переконайтеся, що дані все ще мають цілісність, для зловмисників було відомо про зміну вихідного коду та скриптів для розміщення задніх дверей. Я, безумовно, порівняю останнє джерело svn з нещодавно перевіреною версією до вторгнення.
Unix Janitor

0

Захоплення всіх пакетів, відправлених за день, коли ви перевищуєте квоту пропускної здатності, мабуть, не найрозумніший підхід - як ви збираєтеся отримати дані системи для аналізу?

Який у вас доступ до коробки? Які порти відкриті? Ви перевірили журнали для запущених служб? Щось на зразок астатів буде узагальнено журнали FTP, HTTP та SMTP (якщо припустимо, що ці сервери налаштовані для запису даних у журнали). OTOH mrtg буде записувати та відстежувати використання мережі по кінцевій точці / порту.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.