Bisakah alamat IP untuk permintaan HTTP dipalsukan?

27

Di situs web yang saya bangun, saya berencana untuk mencatat alamat penyerahan IP, kalau-kalau perlu. Saya tidak keberatan dengan proksi, tetapi langsung memalsukan alamat IP Anda akan mengalahkan tujuannya.

Untuk melakukan tindakan GET lengkap, (terlepas dari apakah Anda menerima atau apakah sudah melalui atau tidak) apakah diperlukan alamat IP yang sah? Atau situs web dibajak dengan posting dari alamat IP palsu palsu?

(Apakah POST berbeda?)

TND
sumber
2
Pendekatan lain adalah yang diambil oleh DuckDuckGo: mereka tidak melacak alamat IP, kalau-kalau mereka diminta. Lihat kebijakan privasi mereka di duckduckgo.com/privacy.html#s3 . Anda mengatakan "kalau-kalau perlu" - apakah Anda punya ide bagus mengapa itu perlu?
Randy Orrison

Jawaban:

31

Tidak. Ya. Atau mungkin. Itu tergantung dari mana Anda mendapatkan data "alamat IP" Anda, dan apakah Anda memercayainya.

Jika Anda sendiri yang mengambil alamat dari paket IP, maka Anda dapat mempercayai bahwa siapa pun yang mengirim paket memiliki akses ke paket yang dikirim ke alamat IP tersebut. Itu mungkin berarti bahwa itu adalah pengguna yang sah dari alamat IP itu (untuk nilai kata "sah" yang dibatasi secara tepat, di zaman botnet ini, proxy terbuka, dan Tor), atau siapa pun yang mengirim paket memiliki akses ke sistem perantara dan dapat melihat paket yang Anda kirim saat melewati.

Namun, dengan prevalensi yang luas dari proxy terbalik, paket IP sering dapat salah menggambarkan sumber koneksi, dan berbagai header HTTP telah diperkenalkan untuk memungkinkan alamat IP asal "sebenarnya" disediakan oleh proxy. Masalahnya di sini adalah Anda harus percaya siapa pun yang mengirim tajuk untuk memberikan informasi yang akurat. Juga, konfigurasi default (atau pasta-salin salah arah) dapat dengan mudah membuat Anda terbuka untuk spoofing header itu. Karenanya, Anda harus mengidentifikasi apakah proxy terbalik terlibat secara sah dalam permintaan Anda, dan memastikan mereka (dan server web Anda) dikonfigurasikan dan diamankan dengan benar.

womble
sumber
23

Tidak.

Koneksi TCP (yang digunakan HTTP) memerlukan komunikasi dua arah. Meskipun Anda dapat mem-spoof IP sumber dari suatu SYNpaket dengan mudah, SYN-ACKrespons dari server akan dialihkan ke IP yang Anda spoof dalam paket awal - Anda tidak akan dapat menyelesaikan koneksi kecuali Anda dapat melihat respons dari server.

Namun, alat proxy anonim seperti Tor dapat menyediakan cara untuk menganonimkan sumber koneksi dengan mudah - perlu diingat bahwa ini dapat mengalahkan kontrol spam dengan IP dengan mudah dicekal.

Shane Madden
sumber
12

Jawaban singkat .. bukan hari ini kamu tidak bisa.

Di masa lalu komputer sangat mudah diprediksi dalam nomor urut untuk lalu lintas TCP. Itu berarti seorang penyerang hanya akan mengirimkan lalu lintas yang sah sampai menemukan nomor urut dan bisa menebak dengan baik apa yang akan terjadi selanjutnya. Maka itu akan mengirim lalu lintas TCP untuk meniru alamat IP palsu dan tuan rumah akan percaya. Jadi Anda bisa memalsukan jabat tangan tiga arah .

Hari ini dan saya akan mengatakan 10+ tahun .. komputer jauh lebih baik dalam pengacakan sehingga sangat sulit jika bukan tidak mungkin. Akan membuang-buang waktu menurut saya bagi penyerang untuk melakukan itu.

Mike
sumber
8

HTTP berjalan di atas TCP. Agar TCP dapat bekerja, Anda memerlukan jabat tangan SYN / ACK 3-arah penuh sebelum Anda cukup jauh untuk mengeluarkan permintaan GET atau POST, sehingga sumber spoofed sederhana tidak akan berbuat banyak. Bentuk spoofing (MitM) lain yang lebih maju masih akan efektif.

techieb0y
sumber