Taktik untuk berurusan dengan robot yang nakal

9

Saya memiliki situs yang, karena alasan pengaturan, mungkin tidak diindeks atau dicari secara otomatis. Ini berarti bahwa kita harus menjauhkan semua robot dan mencegah mereka dari spidering situs.

Jelas kami sudah memiliki file robots.txt yang melarangnya sejak awal. Namun, mengamati file robots.txt adalah sesuatu yang hanya dilakukan oleh robot berperilaku baik. Baru-baru ini kami memiliki beberapa masalah dengan robot yang berperilaku kurang baik. Saya telah mengkonfigurasi Apache untuk melarang beberapa agen pengguna tetapi cukup mudah untuk menyiasatinya.

Jadi, pertanyaannya adalah, adakah cara untuk mengkonfigurasi Apache (mungkin dengan menginstal beberapa modul?) Untuk mendeteksi perilaku seperti robot dan merespons? Ada ide lain?

Saat ini yang bisa saya lakukan adalah melarang alamat IP berdasarkan inspeksi manual dari log dan itu sama sekali bukan strategi jangka panjang yang layak.

Keris
sumber
Mengingat Anda bertanya tentang modul Apache (lihat mod_evasive) dan solusi Anda mungkin melibatkan beberapa aturan penguraian log dan aturan iptables, topik ini mungkin menjadi kandidat yang lebih baik untuk ServerFault.com jika Anda memiliki pertanyaan tentang memblokir perilaku bot tertentu.
danlefree

Jawaban:

7

Anda dapat menautkan ke halaman tersembunyi yang, ketika dikunjungi, menangkap agen pengguna dan alamat IP dari bot dan kemudian menambahkan satu atau keduanya ke file .htaccess yang memblokirnya secara permanen. Ini otomatis sehingga Anda tidak perlu melakukan apa pun untuk mempertahankannya.

John Conde
sumber
Itu adalah ide yang sangat menarik, walaupun seandainya mereka menggunakan agen-pengguna yang sangat umum, Anda tidak ingin menyelimuti penguncian agen-pengguna secara otomatis.
Kris
Saya akan tetap berpegang pada alamat IP itu. Plus jika Anda menggunakan alamat I dan melihat pola dari blok IP, Anda kemudian dapat dengan mudah memblokir semuanya dengan satu aturan sederhana alih-alih mempertahankan daftar panjang masing-masing IP.
John Conde
3
Anda dapat menggunakan metode yang dideskripsikan untuk menghentikan bot buruk dari merayapi situs Anda. Tapi 1) Dimungkinkan untuk memotong (bot buruk - dan tuannya - dapat belajar bagaimana mengidentifikasi honeypot dan tahu bagaimana menghindarinya); dan 2) Metode ini juga dapat memblokir pengguna manusia yang sah yang telah dialokasikan ulang IP yang telah masuk daftar hitam sebagai milik bot yang nakal. Jika Anda memiliki kewajiban hukum atau peraturan untuk tidak membuat situs Anda diindeks atau disegel secara otomatis, Anda harus menggunakan otentikasi yang benar dan hanya memberikan akses pengguna terotentikasi. Segala sesuatu yang lain tidak aman.
Radikal Gratis
Ide bagus. Tapi, jika saya menerapkannya, saya yakin saya akan terus memukul honeypot saya sendiri dan terus diblokir dari situs saya sendiri.
JW01
@ JW01 Yang harus Anda lakukan agar tidak mengunjungi halaman yang menangani ini. Karena tidak ada konten di dalamnya yang seharusnya mudah dilakukan.
John Conde
2

Anda dapat mendukung pekerjaan yang dilakukan orang lain dalam mengidentifikasi IP buruk dengan menggunakan modul Apache yang berinteraksi dengan daftar hitam IP Project Honeypot . Jika Anda melakukan ini dalam skala besar, mungkin akan sopan menawarkan untuk menjalankan honeypot.

Peter Taylor
sumber
Saya kagum ketika saya menambahkan daftar hitam IP Project Honeypot di situs saya. Tahun-tahun penderitaan berakhir begitu sederhana dengan memblokir penjahat. Saya pikir Anda dapat mendeteksi bot mesin pencari juga. Jadi, tambah 1 untuk itu.
JW01
Tetapi inti masalahnya adalah: Jika Anda memiliki halaman publik, perkirakan mereka akan diindeks. Jadi, beberapa jenis otentikasi diperlukan. Lihat jawaban oleh Michael Hampton .
JW01
2

Seperti yang disebutkan oleh Gisle Hannemyr dalam komentar , cara terbaik untuk melakukan ini adalah dengan meminta login semua pengguna, dan tidak memberikan konten terbatas kepada siapa pun yang tidak masuk.

Jika Anda tidak dapat meminta login karena alasan tertentu, masih ada beberapa fallback yang dapat Anda gunakan (disclaimer: keduanya sebagian atau seluruhnya salah saya):

  1. The OWASP ModSecurity Inti Rule Set berisi sejumlah aturan yang dirancang untuk mendeteksi otomatisasi, bahkan ketika bot telah mengambil langkah-langkah untuk menyamarkan dirinya sebagai browser (misalnya pura-pura User-Agent-nya string). Jika Anda memegang kendali penuh atas server Anda, seperti VPS, dedicated server, atau sesuatu yang lebih besar dari itu, maka Anda dapat menggunakan aturan ini dengan ModSecurity .

    Rangkaian aturan ini juga berisi aturan lain yang dimaksudkan untuk menghentikan berbagai aktivitas yang tidak pantas; jika Anda belum melihatnya, Anda pasti harus.

  2. Jika Anda tidak memiliki kontrol penuh terhadap server Anda (mis. Anda menggunakan web hosting bersama) dan host Anda tidak mengizinkan Anda untuk menggunakan aturan ModSecurity Anda sendiri, Anda dapat mencoba sesuatu di tingkat aplikasi, seperti Bad saya sendiri perilaku . Saya memulai proyek ini pada tahun 2005 untuk memerangi spam blog dan pencakar konten seperti yang Anda khawatirkan. Itu dapat ditambahkan ke situs web berbasis PHP.

    Saya juga harus mencatat bahwa banyak aturan Perilaku Buruk telah dimasukkan ke dalam ModSecurity Core Rule Set, jadi selama Anda mengaktifkan aturan itu, menjalankan keduanya akan agak berlebihan. Aturan-aturan ini dijelaskan dalam Core Rule Set yang berasal dari Perilaku Buruk.

Michael Hampton
sumber