Server di bawah serangan DDOS - Bagaimana cara mengetahui IP?

20

Server saya berada di bawah serangan DDOS dan saya ingin memblokir IP yang melakukannya, log apa yang harus saya cari untuk menentukan IP penyerang?

Webnet
sumber
2
Bagaimana Anda menentukan bahwa server sedang diserang? Sepertinya saya bahwa Anda perlu melihat beberapa jenis tabel sesi TCP (netstat pada Windows) untuk membuat penentuan ini dan dengan demikian akan melihat alamat ip dari host yang terhubung ke server Anda, yang akan membuat pertanyaan Anda bisa diperdebatkan.
joeqwerty

Jawaban:

43
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

Lihatlah alamat IP teratas. Jika ada yang menonjol dari yang lain, itu akan menjadi firewall.

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

Ini akan melihat koneksi yang sedang aktif untuk melihat apakah ada IP yang terhubung ke port 80. Anda mungkin perlu mengubah cut -c 45- karena alamat IP mungkin tidak dimulai pada kolom 45. Jika seseorang melakukan banjir UDP untuk server web Anda, ini akan mengambilnya juga.

Jika tidak satu pun dari ini menunjukkan IP yang berlebihan, Anda perlu berasumsi bahwa Anda memiliki botnet yang menyerang Anda dan perlu mencari pola tertentu dalam log untuk melihat apa yang mereka lakukan. Serangan umum terhadap situs wordpress adalah:

GET /index.php? HTTP/1.0

Jika Anda melihat melalui log akses untuk situs web Anda, Anda mungkin dapat melakukan sesuatu seperti:

cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more

yang akan menunjukkan kepada Anda URL yang paling sering ditabrak. Anda mungkin menemukan bahwa mereka memukul skrip tertentu daripada memuat seluruh situs.

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

akan memungkinkan Anda untuk melihat UserAgents umum. Ada kemungkinan bahwa mereka menggunakan UserAgent tunggal dalam serangan mereka.

Caranya adalah menemukan sesuatu yang sama dengan lalu lintas serangan yang tidak ada dalam lalu lintas normal Anda dan kemudian menyaringnya melalui iptables, mod_rewrite atau upstream dengan hosting Anda. Jika Anda mendapatkan hit dengan Slowloris, Apache 2.2.15 sekarang memiliki modul reqtimeout yang memungkinkan Anda untuk mengkonfigurasi beberapa pengaturan untuk melindungi dengan lebih baik terhadap Slowloris.

pengguna6738237482
sumber
Terima kasih banyak, saya pasti akan melihat akhir pekan ini.
Webnet
luar biasa. sangat berguna dan hanya luar biasa .... teruslah dan tuhan memberkatimu. Allinonescript.com ( allinonescript.com ) Seluruh Pengembang Dunia Pengetahuan memperoleh pengetahuan.
Vadivel S
Selama Anda mengatur access_log Anda dengan benar: tail -n 10000 / var / log / httpd / access_log | cut -f 1 -d '' | sort | uniq -c | sort -nr | more Ini seharusnya berfungsi. Bekerja untuk saya,
dustbuster
7

FYI - Anda harus mencoba bekerja dengan ISP Anda untuk melihat apakah mereka dapat memblokirnya di hulu Anda.

mfinni
sumber
4

Beberapa tips bagus di sini. Saya juga menambahkan ini:

netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''

Letakkan ini di bawah alias (nn, misalnya). Ini akan memberi Anda perspektif "grafis" dari ips dengan koneksi yang lebih mapan.

Semoga ini membantu.

Bagi mereka yang tidak bisa menjalankan ini, saya telah memperbaiki sintaksnya sehingga berjalan di Ubuntu:

netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'
Marco Ramos
sumber
3

File log favorit saya untuk memeriksa serangan DOS adalah / var / log / secure (di bawah Redhat / Centos / Fedora ....) dan /var/log/auth.log (di bawah ubuntu, debian ...). Anda akan melihat upaya login gagal yang dilakukan dari IP sumber penyerang, sebagian besar kali serangan berbasis kamus.

Daniel t.
sumber
1

untuk melindungi server saya, saya menggunakan Fail2Ban skrip sederhana

memindai file log seperti / var / log / pwdfail atau / var / log / apache / error_log dan melarang IP yang membuat terlalu banyak kegagalan kata sandi. Ini memperbarui aturan firewall untuk menolak alamat IP.

http://www.fail2ban.org/wiki/index.php/Main_Page

Mirandapablog
sumber
0

Distro yang mana?

Saya pikir log tersebut di bawah /var/log/apache2/access.log dengan Ubuntu ... Mungkin juga Debian.

Jalankan updatedb sebagai sudo kemudian cari access.log dari baris perintah.

EDIT: Saya percaya meskipun ini hanya akan terjadi jika mereka memukul Anda baik dengan meminta halaman atau langsung melalui port 80. Jika mereka memukul port lain Anda tidak akan melihat info yang Anda butuhkan di sana Anda harus memeriksa dan melihat proses mana yang berjalan di port itu dan lihat log koneksi untuk proses itu.


sumber
0

Anda bisa menggunakan tcpdump untuk melihat alamat mana itu $ tcpdump -vv port X jika Anda mencurigai port tertentu

Razique
sumber
0

Jika Anda berada di bawah DOS terdistribusi pasti ada lebih dari satu IP untuk diblokir dan IP mungkin dipalsukan, Anda lebih baik meminta ISP Anda seperti kata mfinni . Juga ini mungkin lebih dari DOS terhadap server Anda, tetapi umpan untuk menyembunyikan serangan nyata dari terdeteksi, jadi periksa bahwa semua layanan Anda yang terbuka dijalankan oleh perangkat lunak terbaru. Anda mungkin juga tertarik dengan mod_dosevasive untuk apache.

Maxwell
sumber
2
IP sangat sulit dipalsukan untuk serangan web. Karena koneksi web yang valid membutuhkan jabat tangan syn / ack, Anda harus cukup beruntung untuk memiliki alamat IP ack yang dipalsukan dengan nomor urut yang tepat untuk muatan Anda dari situs penyerang palsu agar berfungsi. Lalu lintas UDP / ICMP tidak terhubung dan memungkinkan paket palsu, tetapi, sebagian besar host memblokir paket tersebut.
user6738237482
0

Pertama, Anda harus menentukan jenis DOS. Beberapa serangan sangat tersembunyi tetapi efektif (slowloris), beberapa di antaranya sangat berat sehingga dapat menurunkan ISP (ICMP membanjiri dari bandwidth yang lebih tinggi daripada sumber ISP Anda).

Setelah Anda menentukan jenis DOS, hubungi ISP Anda dan tanyakan apakah mereka dapat menyaring lalu lintas.

Saya telah melihat banjir ICMP begitu berat sehingga kami harus meminta ISP hulu untuk menyaring IP tujuan melalui komunitas BGP.

Mircea Vutcovici
sumber