Чи можна IP-адресу для HTTP-запиту підробляти?


26

На веб-сайті, який я будую, я планую реєструвати IP-адреси подань, про всяк випадок, якщо це необхідно. Я не проти проксі, але відверта підробка вашої IP-адреси переможе мету.

Щоб виконати повну дію GET (незалежно від того, отримали ви чи пройшли чи ні), потрібна законна IP-адреса? Або веб-сайт спамується повідомленнями з випадкових підроблених IP-адрес?

(Чи відрізняється POST?)


2
Інший підхід полягає в тому, що застосовується DuckDuckGo: вони не відстежують IP-адреси, на всякий випадок, якщо вони їх запитують. Дивіться їх політику конфіденційності на сайті duckduckgo.com/privacy.html#s3 . Ви кажете "на всякий випадок, коли це потрібно" - чи є у вас хороші ідеї, чому це може знадобитися?
Ренді Оррісон

Відповіді:


30

Ні. Так, так. Або можливо. Це залежить від того, звідки ви отримуєте дані "IP-адреси" та від того, чи довіряєте ви їм.

Якщо ви берете адресу з самих IP-пакетів, то ви можете довіряти, що той, хто надсилає пакети, має доступ до пакетів, надісланих на цю IP-адресу. Це може означати, що це законний користувач цієї IP-адреси (для належно обмежених значень слова "легітимний", в цьому віці ботнетів, відкритих проксі-серверів і Tor), або той, хто надіслав пакети, має доступ до проміжної системи та може бачити пакети, які ви надсилаєте, коли вони проходять повз.

Однак, при широкій поширеності зворотних проксі-серверів, IP-пакет часто може неправильно представляти джерело з'єднання, і тому різні заголовки HTTP були введені, щоб дозволити проксі-сервер надавати "фактичну" початкову IP-адресу. Проблема тут полягає в тому, що ви повинні довіряти тому, хто надсилає заголовок, щоб надати точну інформацію. Крім того, конфігурації за замовчуванням (або неправильно налаштовані копії-паста) легко можуть залишити вас відкритими для підробки цих заголовків. Отже, ви повинні визначити, чи будь-які зворотні проксі-файли законно залучені до ваших запитів, і переконатися, що вони (та ваш веб-сервер) належним чином налаштовані та захищені.


23

Немає.

TCP-з'єднання (які використовує HTTP) потребують двонаправленого зв’язку. Хоча ви можете SYNлегко SYN-ACKпідробити вихідний IP- пакет пакету, відповідь від сервера буде перенаправлена ​​на той IP, який ви підробляли в початковому пакеті - ви не зможете завершити з'єднання, якщо не зможете побачити відповідь від сервера.

Однак анонімні інструменти, що наближаються, як Tor, можуть легко забезпечити анонімність джерела з'єднання - майте на увазі, що це може перемогти контроль спаму шляхом заборони IP-адреси.


12

Коротка відповідь .. не сьогодні ви не можете.

У минулому комп'ютери були дуже передбачуваними в порядкових номерах для трафіку TCP. Це означає, що зловмисник просто надсилатиме законний трафік, поки не з’ясує порядкові номери та зможе досить гадати, що буде далі. Тоді він посилатиме трафік TCP, щоб імітувати підроблену IP-адресу, і хост з іншого боку повірив би. Так ви могли підробити тристоронній рукостискання .

Сьогодні, і я б сказав, 10+ років .. комп'ютери набагато краще, щоб рандомізувати це, так що це досить важко, якщо не неможливо. На мою думку, це було б марною тратою часу для зловмисника.


8

HTTP працює через TCP. Для того, щоб TCP працював, вам потрібне повне трехсторонне рукостискання SYN / ACK, перш ніж дістатися досить далеко, щоб надіслати запит GET або POST, тому просте підроблене джерело не зробить багато. Інші більш вдосконалені форми підробки (MitM) все ще будуть ефективними.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.