Jak dowiedzieć się, co lub kto wykorzystuje moją przepustowość?


17

Szczerze mówiąc, jestem kiepski w administrowaniu serwerami, ale mój szef poprosił mnie o pomoc. Jego serwer ma ograniczoną przepustowość 2 GB / dzień, a dziś otrzymał od firmy ostrzeżenie, że przekroczył go i użył ... 24 GB.

Ponieważ jest to niemożliwe, ponieważ był dobry, zapytał mnie, czy mogę wyśledzić problem. Nie mam pojęcia, od czego zacząć i co robić.

Wszelkie informacje byłyby pomocne, jak mogę dowiedzieć się, co jest nie tak.

Maszyna działa na Ubuntu 12.04. Najciekawsze jest to, że zgodnie ze schematami otrzymanymi od hosta wykorzystano tylko transfer wychodzący.

EDYTOWAĆ

Dzięki za sugestie, uruchomię program tcpdump i spróbuję sprawdzić wynik


Prześlij swoje komentarze jako komentarz, a nie w treści pytania.
EEAA

Oto moje pytanie, czy mogę uruchomić tcpdump w tle, aby zbierał dane z powiedzmy dzień?
kamil

Możesz, tak. Musisz uruchomić go z sesji ekranowej lub czegoś takiego. Uważaj jednak ... musisz upewnić się, że masz wystarczającą ilość miejsca na dysku do przechowywania wszystkich przechwyconych danych. Prawdopodobnie powinieneś przeczytać tcpdumpstronę man i zobaczyć, jak ją skonfigurować, aby przechwytywała tylko nagłówki TCP / IP, odrzucając resztę danych pakietu.
EEAA

Odpowiedzi:


18

Do natychmiastowego monitorowania możesz użyć iftop . To pokaże aktualnie aktywne połączenia i przepustowość, z której korzystają. Po zidentyfikowaniu połączenia o dużym natężeniu ruchu znajdź numer portu lokalnego i użyj, netstataby znaleźć proces, do którego należy połączenie.

sudo netstat -tpn | grep 12345

Do długoterminowego monitorowania sugerowałbym coś w rodzaju darkstat . Może to dać podział na hosta i port, co może pozwolić ci dowiedzieć się, z czym związany jest ruch.


1
iotop? A może myślałeś o iftop ?
EEAA

@ErikA Uh, tak .. tak powiedziałem!
mgorven

7

Polecam instalację ntop.

http://www.ntop.org/

Umieść to w lokalizacji bramy hosta / routera i obserwuj ruch przez dzień / tydzień. Ntop zapewnia internetowy interfejs użytkownika, w którym można uzyskać podział według adresu IP / portu / protokołu.


2

Przechwytywanie pakietów jest zazwyczaj pierwszym miejscem, w którym można rozpocząć w takich sytuacjach. Upewnij się, że tcpdump jest zainstalowany ( $ sudo apt-get install tcpdump), a następnie uruchom następujące czynności:

$ sudo tcpdump -w packet.log

Spowoduje to zapisanie dziennika wszystkich pakietów packet.log. Pozwól mu działać przez kilka minut, a następnie pobierz ten plik i sprawdź za pomocą Wireshark . Jeśli nadal występuje tajemniczy ruch, powinno to być dość oczywiste, pobieżne spojrzenie na dane przechwytywania pakietów.


Korzystanie z wireshark użyj menu Statystyka - Punkty końcowe. Następnie możesz wybrać IP lub TCP lub inne listy i sortować według ilości odebranych / przesłanych przez każdy punkt końcowy. Gdzie punktem końcowym będzie adres IP lub komputer. Ale niektóre punkty końcowe mogą być bramą lub przełącznikiem, więc musiałbym wykonać kolejny tcpdump i wireshark na tej bramie, aby wyśledzić użytkownika przepustowości.
gaoithe,

2

Spójrz na tcpdump . Może zrzucić cały ruch sieciowy (nie tylko tcp, jak sugeruje nazwa), który można następnie odczytać za pomocą aplikacji takiej jak Wireshark. W Wireshark bardzo łatwo jest filtrować określone typy danych, a nawet drukować wykresy we / wy sieci.

Innym przydatnym narzędziem może być netstat, który wyświetla listę trwających połączeń sieciowych. Być może istnieją połączenia, których nie powinno być. Tcpdump jest znacznie bardziej użyteczny (przechwyć kilka minut, a następnie sprawdź, czy możesz już zobaczyć źródło), ale netstat może dać ci szybki przegląd.

Po przeczytaniu tego, moje pierwsze myśli są takie, że masz na swoim serwerze złośliwe oprogramowanie lub że jest ono wykorzystywane do ataków wzmacniających. Ale aby to sprawdzić, musisz najpierw uruchomić tcpdump.

Edycja: Zauważ, że tcpdump prawdopodobnie musi być uruchomiony jako root, być może trzeba go użyć sudo tcpdump.

Kolejna edycja: Ponieważ naprawdę nie mogę znaleźć dobrej strony, na której można by ogólnie znaleźć informacje o atakach wzmacniających, oto krótka wersja:

Protokoły takie jak DNS działają na UDP. Ruch UDP jest bezpołączeniowy, dzięki czemu można bardzo łatwo sfałszować adres IP innej osoby. Ponieważ odpowiedź DNS jest zwykle większa niż zapytanie, można jej użyć do ataku DoS. Atakujący wysyła zapytanie z żądaniem wszystkich rekordów, które serwer DNS ma dla podanej nazwy, i informuje serwer DNS, że żądanie pochodzi od X. Ten X jest celem, który atakujący chce zrobić. Serwer DNS następnie uprzejmie odpowiada, wysyłając (dużą, powiedzmy 4kB) odpowiedź do X.

Jest to wzmocnienie, ponieważ atakujący wysyła mniej danych niż X faktycznie otrzymuje. DNS nie jest jedynym protokołem, dzięki któremu jest to możliwe.


1
Tak. tcpdump -i any -w /tmp/traffic.pcap. Korzystanie z wireshark użyj menu Statystyka - Punkty końcowe. Sortuj według kwoty otrzymanej / przesłanej.
gaoithe,

2

Najlepszym narzędziem do tego jest prawdopodobnie iftop i łatwo apt-get'able poprzez sudo apt-get install iftop. Wyświetli dane wyjściowe zgodnie z nazwami / hostami IP winowajcy:

             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

Nie zapomnij o klasycznych i potężnych narzędziach sar i netstat na starszych * nix!

Innym doskonałym narzędziem jest nload , świetne narzędzie do monitorowania przepustowości w czasie rzeczywistym i łatwe do zainstalowania w Ubuntu lub Debian z 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

Po dłuższym poszukiwaniu, jaki jest problem (przepustowość ponad 60 GB w ciągu kilku dni), odkryłem, że mój serwer był źródłem ataku DDOS.

Przede wszystkim próbowałem zainstalować na nim Oracle DB, dlatego stworzyłem użytkownika Oracle. Hakerom jakoś udało się przełamać przepustkę dla tego użytkownika (chyba powinienem to utrudnić :(), stworzyli ukryty katalog pod Oracle home, z crontabem, który ręcznie uruchamiał niektóre diamony zalewające serwer docelowy.

Ponadto hakerzy utworzyli 2 nowych użytkowników na moim serwerze: avahi i colord. Co mam z nimi zrobić? Poszukałem i wydaje mi się, że oprogramowanie o tej samej nazwie nie jest niebezpieczne, ale usunąłem tych użytkowników (i również Oracle).

Ponadto usunąłem cały dom wyroczni, ze wszystkim w środku.

Chyba muszę bardziej zabezpieczyć mój serwer, ponieważ może zostać ponownie zaatakowany, dziękuję wszystkim za pomoc!


4
wyczyściłem twój serwer i zacznę od nowa, nigdy nie ufam serwerowi po kompromisie. nuke strony z orbity, to jedyny sposób, aby się upewnić.
The Unix Janitor,

Tak, zamierzam to zrobić, najpierw wykonać kopię zapasową niektórych danych (repozytorium svn, przydatne skrypty)
kamil

upewnij się, że dane są nadal integralne, intruzi znają modyfikacje kodu źródłowego i skryptów, aby umieścić tylne drzwi. Na pewno porównałbym najnowsze źródło svn z ostatnio wypisaną wersją, zanim wtargnął do niego intruz.
The Unix Janitor

0

Przechwytywanie wszystkich pakietów wysłanych w ciągu dnia, gdy przekraczasz limit przepustowości, nie jest prawdopodobnie najbardziej sensownym podejściem - jak zdobędziesz dane systemu do analizy?

Jaki masz dostęp do pudełka? Jakie porty są otwarte? Czy sprawdziłeś dzienniki dla uruchomionych usług? Coś w rodzaju awstats podsumowuje dzienniki FTP, HTTP i SMTP (zakładając, że te serwery są skonfigurowane do rejestrowania danych w dziennikach). OTOH mrtg będzie rejestrować i śledzić wykorzystanie sieci według punktu końcowego / portu.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.