Bagaimana mencari tahu apa atau siapa yang menggunakan bandwidth saya?

17

Sejujurnya, saya miskin dalam administrasi server, tetapi bos saya meminta bantuan saya. Servernya memiliki bandwidth terbatas 2GB / hari dan hari ini ia menerima peringatan dari perusahaan bahwa ia melebihi itu dan menggunakan ... 24GB.

Karena tidak mungkin karena dia jalan, dia bertanya padaku apakah aku bisa melacak masalahnya. Saya tidak tahu harus mulai dari mana atau apa yang harus dilakukan.

Setiap informasi akan sangat membantu bagaimana saya bisa menemukan kesalahan.

Mesin berjalan di Ubuntu 12.04. Yang paling aneh adalah bahwa, menurut diagram yang diterima dari hoster, hanya transfer keluar yang digunakan.

EDIT

Terima kasih atas sarannya, saya akan menjalankan tcpdump dan mencoba memeriksa hasilnya

kamil
sumber
Silakan kirim komentar Anda sebagai komentar, bukan di tubuh pertanyaan Anda.
EEAA
Inilah pertanyaan saya, dapatkah saya menjalankan tcpdump di latar belakang, sehingga akan mengumpulkan data dari katakanlah sehari?
kamil
Anda bisa, ya. Anda harus menjalankannya dari dalam sesi layar atau semacamnya. Namun berhati-hatilah ... Anda perlu memastikan bahwa Anda memiliki cukup disk untuk menyimpan semua data yang diambil. Anda mungkin harus membaca tcpdumphalaman manual dan melihat cara mengkonfigurasinya untuk hanya menangkap header TCP / IP, membuang sisa data paket.
EEAA

Jawaban:

18

Untuk pemantauan langsung, Anda dapat menggunakan iftop . Ini akan menunjukkan kepada Anda koneksi yang sedang aktif dan bandwidth yang mereka gunakan. Setelah Anda mengidentifikasi koneksi lalu lintas tinggi, cari nomor port lokal dan gunakan netstatuntuk menemukan proses milik koneksi itu.

sudo netstat -tpn | grep 12345

Untuk pemantauan jangka panjang, saya akan menyarankan sesuatu seperti darkstat . Ini dapat memberi Anda rincian per host dan port yang memungkinkan Anda mengetahui apa yang terkait dengan lalu lintas.

Mgorven
sumber
1
iotop? Atau apakah Anda memikirkan iftop ?
EEAA
@ErikA Eh, ya .. itu yang saya katakan!
mgorven
7

Saya akan merekomendasikan menginstal ntop.

http://www.ntop.org/

Letakkan itu di lokasi host gateway / router dan perhatikan lalu lintas selama satu hari / minggu. Ntop menyediakan UI web tempat Anda bisa mendapatkan rincian berdasarkan IP / port / protokol.

dmourati
sumber
2

Nah, penangkapan paket biasanya merupakan tempat pertama untuk memulai dalam situasi seperti ini. Pastikan tcpdump diinstal ( $ sudo apt-get install tcpdump), dan kemudian jalankan yang berikut ini:

$ sudo tcpdump -w packet.log

Ini akan menulis log semua paket packet.log. Biarkan itu berjalan selama beberapa menit, lalu unduh file itu dan periksa menggunakan Wireshark . Jika lalu lintas misteri masih terjadi, itu harus cukup jelas dengan pandangan sepintas melalui data paket capture.

EEAA
sumber
Menggunakan wireshark use menu Statistics - Endpoints. Anda kemudian dapat memilih IP atau TCP atau daftar lainnya dan mengurutkan berdasarkan jumlah yang diterima / dikirim oleh setiap titik akhir. Di mana titik akhir akan menjadi alamat IP atau mesin. Tetapi beberapa titik akhir mungkin gateway atau switch sehingga harus melakukan tcpdump dan wireshark lain pada gateway itu untuk melacak pengguna bandwidth.
gaoithe
2

Lihatlah tcpdump . Itu dapat membuang semua lalu lintas jaringan (tidak hanya tcp seperti namanya), yang dapat Anda baca dengan aplikasi seperti Wireshark. Di Wireshark sangat mudah untuk memfilter tipe data tertentu dan bahkan memplot grafik jaringan I / O.

Alat lain yang bermanfaat mungkin netstat yang menampilkan daftar koneksi jaringan yang sedang berlangsung. Mungkin ada koneksi yang seharusnya tidak ada. Tcpdump jauh lebih berguna (tangkap beberapa menit, lalu periksa apakah Anda sudah bisa melihat sumbernya), tetapi netstat mungkin memberi Anda gambaran umum singkat.

Setelah membaca ini, pemikiran pertama saya adalah bahwa Anda memiliki malware di server Anda atau sedang digunakan untuk serangan amplifikasi. Tetapi untuk memeriksa ini, Anda harus menjalankan tcpdump terlebih dahulu.

Sunting: Perhatikan bahwa tcpdump mungkin perlu dijalankan sebagai root, mungkin Anda perlu menggunakannya sudo tcpdump.

Suntingan lain: Karena saya tidak dapat menemukan halaman web yang bagus untuk menautkan serangan amplifikasi secara umum, inilah versi singkatnya:

Protokol seperti DNS dijalankan pada UDP. Lalu lintas UDP tidak terhubung, dan dengan demikian Anda dapat dengan mudah menipu alamat IP orang lain. Karena jawaban DNS biasanya lebih besar dari kueri, ini dapat digunakan untuk serangan DoS. Penyerang mengirimkan permintaan yang meminta semua catatan yang dimiliki server DNS pada nama yang diberikan, dan memberi tahu server DNS bahwa permintaan tersebut berasal dari X. X ini adalah target yang ingin diserang oleh penyerang. Server DNS kemudian membalas dengan ramah, mengirimkan balasan (besar, katakan 4kB) ke X.

Ini adalah amplifikasi karena penyerang mengirimkan lebih sedikit data daripada yang sebenarnya diterima X. DNS bukan satu-satunya protokol yang memungkinkan hal ini.

Luc
sumber
1
Iya. tcpdump -saya -w /tmp/traffic.pcap. Menggunakan wireshark use menu Statistics - Endpoints. Urutkan berdasarkan jumlah yang diterima / dikirim.
gaoithe
2

Alat terbaik untuk ini mungkin iftop , dan dengan mudah apt-get'able via sudo apt-get install iftop. Ini akan menampilkan output sesuai dengan IP pelakunya / nama host:

             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

Jangan lupa tentang utilitas sar dan netstat yang klasik dan kuat di * nix lama!

Alat hebat lainnya adalah nload , alat yang hebat untuk memonitor bandwidth secara real time dan mudah dipasang di Ubuntu atau Debian dengan 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
Jamieson Becker
sumber
1

Setelah mencari cukup lama apa masalahnya (lebih dari 60GB bandwidth dalam beberapa hari) saya menemukan bahwa server saya adalah sumber serangan DDOS.

Pertama-tama, saya mencoba menginstal Oracle DB di atasnya, oleh karena itu saya membuat pengguna oracle. Peretas entah bagaimana berhasil menerobos masuk untuk pengguna itu (saya kira saya harus membuatnya lebih sulit :(), mereka membuat dir tersembunyi di bawah Oracle home, dengan crontab di sana, yang secara manual menjalankan beberapa diaken yang membanjiri server target.

Selain itu, peretas membuat 2 pengguna baru di server saya: avahi dan colord. Apa yang harus saya lakukan terhadap mereka? Saya mencari di Google dan sepertinya perangkat lunak dengan nama yang sama tidak berbahaya, tetapi saya menghapus pengguna tersebut (dan oracle juga).

Lebih lanjut, saya menghapus seluruh rumah oracle, dengan semua yang ada di dalamnya.

Saya kira saya perlu lebih mengamankan server saya, karena dapat diserang lagi, terima kasih semuanya atas bantuannya!

kamil
sumber
4
saya akan menghapus server Anda dan mulai lagi, saya tidak pernah mempercayai server setelah kompromi. nuke situs dari orbit, itu satu-satunya cara untuk memastikan.
The Unix Janitor
Yupp Saya akan melakukan itu, pertama-tama membuat cadangan beberapa data (svn repository, script yang berguna)
kamil
pastikan bahwa data masih memiliki integritas, sudah diketahui bagi penyusup untuk memodifikasi kode sumber dan skrip untuk menempatkan pintu belakang. Saya pasti akan membandingkan sumber svn terbaru dengan versi yang baru saja diperiksa sebelum intrusi masuk.
The Unix Janitor
0

Menangkap semua paket yang dikirim dalam sehari ketika Anda melebihi kuota bandwidth Anda mungkin bukan pendekatan yang paling masuk akal - bagaimana Anda akan mendapatkan data dari sistem untuk analisis?

Akses apa yang Anda miliki di kotak? Port apa yang terbuka? Sudahkah Anda memeriksa log untuk layanan yang sedang berjalan? Sesuatu seperti awstats akan meringkas log FTP, HTTP dan SMTP (dengan asumsi server ini dikonfigurasi untuk merekam data dalam log). OTOH mrtg akan merekam dan melacak penggunaan jaringan dengan endpoint / port.

symcbean
sumber