Điểm:0

"Máy chủ" đáng tin cậy như thế nào trong yêu cầu HTTPS đến?

lá cờ us

Tôi đang cố gắng hiểu mức độ tự tin mà tôi có thể có khi API của tôi hoạt động ở api.foo.com nhận được một yêu cầu POST từ một trang có foo.com được chỉ định là của nó chủ nhà giá trị trong tiêu đề.

Cụ thể - đây có phải là thứ có thể bị làm giả (thậm chí có thể dễ làm giả bằng cách nào đó?) hay khó (không thể?) để ai đó gửi thứ gì đó tới api.foo.com từ một số vị trí hoàn toàn thay thế và giả mạo trong tiêu đề rằng máy chủ lưu trữ foo.com?

Nếu nó không khó hoặc không thể thì cơ chế tiêu chuẩn của ngành để xác minh rằng yêu cầu đến từ một nơi đáng tin cậy là gì?

Điểm:2
lá cờ us

Các Chủ nhà tiêu đề là một phần của yêu cầu HTTP chỉ định máy chủ ảo nào trên máy chủ web mà yêu cầu được thực hiện.

Nó không liên quan gì đến nguồn của yêu cầu. Bất kỳ ai cũng có thể thực hiện yêu cầu HTTP/HTTPS tới máy chủ web của bạn và chỉ định google.com bên trong Chủ nhà tiêu đề. Sau đó, máy chủ web của bạn sẽ quyết định xem nó muốn làm gì với yêu cầu.

Các trình duyệt thường thêm HTTP người giới thiệu tiêu đề cho yêu cầu, cho biết trang nguồn đã cung cấp URL cho yêu cầu này là gì. Tuy nhiên, người giới thiệu trường này cũng là thông tin đầu vào của người dùng không đáng tin cậy và có thể dễ dàng làm giả.

Một ví dụ:

Người dùng đang truy cập http://www.example.com/example trang web, trong đó có một siêu liên kết đến http://www.example.org. Người dùng nhấp vào liên kết. Trình duyệt của người dùng gửi yêu cầu đến địa chỉ IP của www.example.org, với các tiêu đề HTTP sau:

Máy chủ: www.example.org
Người giới thiệu: http://www.example.com/example

Gần đây các trình duyệt đã bắt đầu loại bỏ người giới thiệu nội dung tiêu đề để nó chỉ chứa URL gốc: http://www.example.com, khi thực hiện các yêu cầu tên miền chéo.

Nhìn chung, bạn không thể tin tưởng bất kỳ tiêu đề yêu cầu HTTP nào chứa chính xác dữ liệu mà bạn mong đợi, vì đó là đầu vào của người dùng không đáng tin cậy.

Điểm:1
lá cờ cz

Máy chủ: tiêu đề yêu cầu (RFC 7230 § 5.4) Là đầu vào của người dùng không đáng tin cậy. Nó được cung cấp bởi tác nhân người dùng để chỉ ra máy chủ (ảo) mà yêu cầu HTTP liên quan đến. Bất kỳ tác nhân người dùng độc hại nào cũng có thể kết nối với máy chủ của bạn và đưa ra yêu cầu với tiêu đề Host: không hợp lệ.

Bạn phải xác thực rằng nội dung của tiêu đề Host: tương ứng với tên máy chủ thực của bạn trước khi xử lý yêu cầu. Thông thường, máy chủ web (nginx, Apache, v.v.) sẽ đảm nhận việc này cho bạn và sau đó chuyển yêu cầu đến ứng dụng của bạn.Nhưng nếu bạn đưa ứng dụng trực tiếp lên Internet, không phải sau máy chủ web thông thường, thì bạn phải tự xác thực ứng dụng đó.

Yevgeny Simkin avatar
lá cờ us
đợi đã - vậy - máy chủ web * có thể xác thực rằng cuộc gọi thực sự đến từ foo.com chứ không phải từ thứ gì đó khiến foo.com bị mắc kẹt trong tiêu đề không? Bạn có biết nơi tôi có thể đọc về cách thức hoạt động của nó và độ tin cậy của nó không? Hay tôi đang hiểu lầm bạn?
Michael Hampton avatar
lá cờ cz
Đây là một trong những chức năng cơ bản nhất của máy chủ web. Bạn đã thiết lập một cái trước đây chưa? Xem ví dụ https://nginx.org/en/docs/http/request_processing.html
user10489 avatar
lá cờ nc
"có thể xác thực rằng cuộc gọi thực sự đến từ foo.com chứ không phải từ thứ gì đó khiến foo.com bị mắc kẹt trong tiêu đề" Tôi tin rằng máy chủ lưu trữ không ở đâu *từ* mà là từ *đến*... trong nói cách khác, yêu cầu từ xa đang yêu cầu foo.com, đây sẽ là một trong những bí danh máy chủ lưu trữ của bạn (nhưng có thể không).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.