Địa chỉ IP cho yêu cầu HTTP có thể bị giả mạo không?


27

Trên một trang web tôi đang xây dựng, tôi dự định đăng nhập địa chỉ IP của các bài nộp, trong trường hợp cần thiết. Tôi không bận tâm đến proxy, nhưng việc giả mạo hoàn toàn địa chỉ IP của bạn sẽ đánh bại mục đích.

Để thực hiện một hành động GET hoàn chỉnh, (bất kể bạn có nhận được hay không hoặc có đi qua hay không) có phải là một địa chỉ IP hợp pháp không? Hoặc một trang web bị spam với các bài đăng từ các địa chỉ IP giả mạo ngẫu nhiên?

(POST có khác nhau không?)


2
Một cách tiếp cận khác được thực hiện bởi DuckDuckGo: họ không theo dõi địa chỉ IP, chỉ trong trường hợp họ yêu cầu họ. Xem chính sách quyền riêng tư của họ tại duckduckgo.com/privacy.html#s3 . Bạn nói "chỉ trong trường hợp cần thiết" - bạn có ý tưởng hay tại sao nó lại cần thiết không?
Randy Orrison

Câu trả lời:


31

Không, vâng. Hoặc có thể. Nó phụ thuộc vào việc bạn lấy dữ liệu "địa chỉ IP" của mình từ đâu và bạn có tin tưởng chúng không.

Nếu bạn đang tự lấy địa chỉ từ các gói IP, thì bạn có thể tin tưởng rằng bất kỳ ai đã gửi các gói đều có quyền truy cập vào các gói được gửi đến địa chỉ IP đó. Điều đó có thể có nghĩa là đó là người dùng hợp pháp của địa chỉ IP đó (đối với các giá trị giới hạn của từ "hợp pháp", trong thời đại botnet, proxy mở và Tor) hoặc bất kỳ ai gửi các gói đều có quyền truy cập vào hệ thống trung gian và có thể thấy các gói bạn đang gửi khi chúng đi qua.

Tuy nhiên, với sự phổ biến rộng rãi của các proxy ngược, gói IP thường có thể trình bày sai nguồn gốc của kết nối và do đó, các tiêu đề HTTP khác nhau đã được giới thiệu để cho phép địa chỉ IP gốc "thực tế" được cung cấp bởi proxy. Vấn đề ở đây là bạn phải tin tưởng bất cứ ai gửi tiêu đề để cung cấp thông tin chính xác. Ngoài ra, các cấu hình mặc định (hoặc sao chép sai mục đích) có thể dễ dàng khiến bạn mở để giả mạo các tiêu đề đó. Do đó, bạn phải xác định xem có bất kỳ proxy ngược nào có liên quan hợp pháp đến các yêu cầu của bạn hay không và đảm bảo chúng (và máy chủ web của bạn) được cấu hình và bảo mật đúng cách.


23

Không.

Các kết nối TCP (sử dụng HTTP) yêu cầu giao tiếp hai chiều. Mặc dù bạn có thể giả mạo IP nguồn của SYNgói một cách dễ dàng, SYN-ACKphản hồi từ máy chủ sẽ được chuyển đến IP mà bạn giả mạo trong gói ban đầu - bạn sẽ không thể hoàn thành kết nối trừ khi bạn có thể thấy phản hồi từ máy chủ.

Tuy nhiên, các công cụ ủy quyền ẩn danh như Tor có thể cung cấp một phương tiện để ẩn danh nguồn kết nối một cách dễ dàng - hãy nhớ rằng điều này có thể đánh bại kiểm soát thư rác bằng cách cấm IP một cách dễ dàng.


12

Câu trả lời ngắn .. không phải hôm nay bạn không thể.

Trước đây, các máy tính rất dễ đoán trong số thứ tự cho lưu lượng TCP. Điều đó có nghĩa là kẻ tấn công sẽ chỉ gửi lưu lượng truy cập hợp pháp cho đến khi tìm ra số thứ tự và có thể đoán khá chính xác những gì sẽ xảy ra tiếp theo. Sau đó, nó sẽ gửi lưu lượng TCP để bắt chước một địa chỉ IP giả mạo và máy chủ ở đầu bên kia sẽ tin tưởng. Vì vậy, bạn có thể giả mạo bắt tay ba chiều .

Hôm nay và tôi đã nói hơn 10 năm qua .. máy tính tốt hơn rất nhiều trong việc ngẫu nhiên hóa nên điều đó khá khó nếu không muốn nói là không thể. Nó sẽ là một sự lãng phí thời gian theo ý kiến ​​của tôi cho một kẻ tấn công để làm điều đó.


8

HTTP chạy trên TCP. Để TCP hoạt động, bạn cần bắt tay SYN / ACK 3 chiều đầy đủ trước khi bạn đủ xa để đưa ra yêu cầu GET hoặc POST, vì vậy một nguồn giả mạo đơn giản sẽ không làm được gì nhiều. Các hình thức giả mạo nâng cao khác (MitM) vẫn có hiệu quả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.