it-swarm-vi.com

Những ưu và nhược điểm của SSL trên toàn trang web (https) là gì?

Những ưu và nhược điểm của việc mã hóa tất cả lưu lượng HTTP cho toàn bộ trang web thông qua SSL, trái ngược với SSL trên trang đăng nhập là gì?

80
Olivier Lalonde

Vì hầu hết các câu trả lời khác ở đây đều giải quyết các nhược điểm của SSL trên toàn trang web (chủ yếu là các vấn đề về hiệu suất - btw chúng có thể dễ dàng được giảm thiểu bằng cách giảm tải chấm dứt SSL, vào hộp proxy SSL hoặc thẻ SSL), tôi sẽ chỉ ra một số vấn đề với việc chỉ có trang đăng nhập qua SSL, sau đó chuyển sang không có SSL:

  • Phần còn lại của trang web không được bảo mật (mặc dù điều này là hiển nhiên, đôi khi sự tập trung quá nhiều vào chỉ mật khẩu của người dùng).
  • Id phiên của người dùng phải được truyền đi rõ ràng, cho phép nó bị chặn và sử dụng, và do đó cho phép kẻ xấu mạo danh người dùng của bạn. (Đây chủ yếu là những gì Firesheep hubbub đã nói về).
  • Do điểm trước đó, cookie phiên của bạn không thể được đánh dấu bằng thuộc tính secure, có nghĩa là chúng có thể được truy xuất theo các cách khác.
  • Tôi đã thấy các trang web chỉ có SSL đăng nhập và tất nhiên bỏ qua việc đưa vào trang Quên mật khẩu, trang Thay đổi mật khẩu và thậm chí trang Đăng ký ...
  • Việc chuyển đổi từ SSL sang không phải SSL thường phức tạp, có thể yêu cầu cấu hình phức tạp trên máy chủ web của bạn và trong nhiều trường hợp sẽ xuất hiện một thông báo đáng sợ cho người dùng của bạn.
  • Nếu nó CHỈ là trang đăng nhập và f.e. có một liên kết đến trang đăng nhập từ trang chủ trang web của bạn - điều gì để đảm bảo rằng ai đó sẽ không giả mạo/sửa đổi/chặn trang chủ của bạn và để nó trỏ đến một trang đăng nhập khác?
  • Sau đó, có trường hợp trang đăng nhập không phải là SSL, mà chỉ có [~ # ~] gửi [~ # ~] là - vì đó là lần duy nhất mật khẩu được gửi, vì vậy sẽ an toàn, phải không? Nhưng trong thực tế, loại bỏ khỏi người dùng khả năng đảm bảo trước thời hạn rằng mật khẩu đang được gửi đến đúng trang web, cho đến khi quá muộn. (Ví dụ: Bank of America và nhiều người khác).
61
AviD

"Chi phí máy chủ" tăng lên như một "con" đáng kể là một huyền thoại phổ biến. Các kỹ sư của Google lưu ý rằng khi chuyển gmail sang SSL 100%, họ đã triển khai không có phần cứng bổ sung nào và SSL đó chỉ tăng ít hơn 1% tải CPU và 2% lưu lượng truy cập mạng. Stack Overflow cũng có một vài câu hỏi liên quan đến vấn đề này: SSL áp đặt bao nhiêu chi phí?hiệu suất HTTP so với HTTPS .

47
user502

Từ mục blog zscaler Tại sao web chưa chuyển sang chỉ SSL?

"Với vấn đề bẻ khóa phiên được nhấn mạnh một lần nữa bởi Firesheep, nhiều người đã hỏi tôi tại sao nhiều trang web hơn, hoặc ít nhất là những người chơi chính (Google, Facebook, Amazon, v.v.) không bật SSL theo mặc định cho tất cả các giao tiếp. , mã hóa là cách duy nhất để đảm bảo rằng các phiên của người dùng không thể bị đánh hơi dễ dàng trên mạng không dây mở.

Điều này nghe có vẻ dễ dàng - chỉ cần thêm một s sau http trong URL! Nó không thực sự dễ dàng. Đây là một số thử thách. "

Tóm tắt các thách thức (khuyết điểm):

  • "chi phí máy chủ"
  • "độ trễ tăng"
  • "thử thách cho CDN"
  • "chứng chỉ ký tự đại diện là không đủ"
  • "hỗn hợp HTTP/HTTPS: vấn đề con gà và quả trứng"
  • "cảnh báo thật đáng sợ!"
25
Tate Hansen

Ars Technica có một bài viết xuất sắc giải thích một số thách thức trong việc triển khai sitewide SSL.

Một vấn đề lớn: hầu hết các mạng quảng cáo không cung cấp bất kỳ cách nào để phân phát quảng cáo qua SSL. Hơn nữa, nếu bạn nhúng quảng cáo (được phân phối qua HTTP) vào một trang chính được phân phối qua HTTPS, các trình duyệt sẽ đưa ra các cảnh báo nội dung hỗn hợp đáng sợ mà bạn không muốn khiến người dùng của mình phải theo dõi. Vì vậy, các trang web hỗ trợ quảng cáo có thể sẽ gặp rất nhiều khó khăn khi chuyển sang sitewide SSL.

Bài viết cũng nêu ra một số thách thức khác, chẳng hạn như các tiện ích của bên thứ ba, phân tích, video được nhúng, v.v.

19
D.W.

OK, đây là một câu hỏi cổ xưa, vì vậy câu trả lời của tôi có thể sẽ mòn mỏi ở đây ở phía dưới. Tuy nhiên, tôi có một cái gì đó để thêm vào khía cạnh 'khuyết điểm'.

Độ trễ HTTPS:

Có độ trễ HTTP từ máy khách đến máy chủ thấp là rất quan trọng để thực hiện tải nhanh, các trang web phản hồi nhanh . Và thời gian tải trang nhanh làm tăng hạnh phúc của người dùng cuối .

Chỉ riêng TCP/IP đã bắt đầu TCP bắt tay 3 bước, tức là thiết lập kết nối ban đầu cho HTTP đơn giản qua TCP yêu cầu 3 gói. Khi SSL/TLS là được sử dụng, thiết lập kết nối có liên quan nhiều hơn, có nghĩa là độ trễ cho các kết nối HTTPS mới cao hơn không thể tránh khỏi so với HTTP văn bản gốc.

Lưu ý rằng tác động của việc này có thể giảm (nhưng không được loại bỏ) bằng cách sử dụng lại kết nối HTTPS nhiều lần, tức là sử dụng các kết nối liên tục và khác tối ưu hóa hiệu suất như SSL Sai Bắt đầ .

Việc mô hình hóa chính xác bao nhiêu HTTPS làm chậm tải trang là phức tạp, bởi vì tất cả các trình duyệt hiện đại tải xuống các đối tượng HTTP song song bất cứ khi nào có thể. Mặc dù vậy, thời gian thiết lập kết nối ban đầu cao hơn là cả đáng kể và không thể tránh khỏi với công nghệ hiện tại; vì vậy độ trễ kết nối mới tăng lên là một cân nhắc quan trọng.

15
Jesper M

Một nhược điểm bị bỏ qua trong các câu trả lời khác ở trên là sự phụ thuộc lớn vào những ngày này trên các mạng phân phối nội dung (ví dụ: Akamai) - nhiều trang web trong việc sử dụng hiện tại lấy nội dung từ nhiều miền khác nhau, vì vậy trình duyệt sẽ cần phải có certs cho mỗi trong số đó hoặc cảnh báo sẽ bật lên. Và dĩ nhiên, nếu kẻ tấn công sử dụng nền tảng CDN mà trình duyệt đã có certs, chúng có thể không nhận được cảnh báo khi cần.

Vấn đề rắc rối với cách các ứng dụng và nội dung hiện đang được phân phối.

12
Rory Alsop

Ưu điểm chắc chắn là tăng tính bảo mật. Nhược điểm có thể là kết nối tương đối chậm hơn, sử dụng CPU chuyên sâu hơn, yêu cầu quản lý chứng chỉ chính xác, một số chi phí cho chứng chỉ (nếu bạn không sử dụng certs tự ký). Nhưng trong thời gian gần đây, có một thực tiễn phổ biến để sử dụng https và những nhược điểm đó xuất hiện do lợi ích cho người dùng cuối và tăng sự tin tưởng đối với một công ty đang cung cấp dịch vụ.

7
anonymous

Các câu trả lời khác đã khẳng định "sự cố gà/trứng" do các cảnh báo có nội dung hỗn hợp khiến việc di chuyển HTTP-> HTTPS trở nên khó khăn. Đây là một vấn đề, nhưng tôi không nghĩ nó khó như họ nghĩ.

Nội dung hỗn hợp có thể được xử lý bằng cách sử dụng RL liên quan đến giao thức và cùng các máy quét mà bạn nên sử dụng để tìm các vấn đề XSS.

RFC 3986 phần 4.2 sử dụng thuật ngữ tham chiếu đường dẫn mạng:

Tham chiếu tương đối bắt đầu bằng hai ký tự gạch chéo được gọi là tham chiếu đường dẫn mạng

Đầu tiên quét các trang của bạn cho đến khi bạn tìm thấy tất cả các sử dụng của http://example.com/ trong cùng một liên kết Xuất xứ, hình ảnh và các tài sản trang web khác và thay thế chúng bằng các URL liên quan đến giao thức (//example.com/...). Điều này cho phép bạn có cùng một HTML được phân phát bất kể bạn đang phục vụ trang thông qua HTTP hay HTTPS và đặt bạn ở vị trí tốt hơn nhiều để quay lại nếu có sự cố xảy ra sau này trong quá trình di chuyển của bạn.

Sau đó, thiết lập chuyển hướng HTTP-> HTTPS vĩnh viễn để các URL hiện có trên các trang web ngoài tầm kiểm soát của bạn tiếp tục hoạt động và bắt đầu phân phối qua HTTPS. Sử dụng chuyển hướng vĩnh viễn với các tiêu đề bộ đệm tích cực sẽ giúp các công cụ tìm kiếm chuyển thứ hạng trang và tăng tốc trang web cho khách truy cập quay lại.

Tất nhiên bạn nên giữ máy quét tìm kiếm nội dung hỗn hợp để bạn bắt được hồi quy.

5
Mike Samuel

Tôi biết đây là một câu hỏi/chủ đề cũ, nhưng tôi chỉ muốn chỉ ra một PRO khổng lồ để thực hiện SSL phụ.

SPDY

Sử dụng mod_spdy trên Apache yêu cầu SSL.

Tôi chưa triển khai SPDY, hãy hoàn thành nó! Cả Chrome và Firefox đều hỗ trợ giao thức, cũng như Opera.

Đó là khoảng một nửa số người dùng của bạn sẽ có thể tận dụng SPDY.

4
Spock

Nhược điểm khác (do người khác chạm vào) là thiếu bộ nhớ đệm rõ ràng sẽ ảnh hưởng đến tốc độ. Ngoài ra, một số biến máy chủ không khả dụng - như HTTP_FORWARDED_FOR tôi nghĩ.

3
Nev Stokes

Tất cả các điểm tốt được đề cập ở đây, tuy nhiên, tôi mis chi phí con! Và theo chi phí, tôi không có nghĩa là chỉ mua certficate, nhưng có cơ sở hạ tầng phù hợp để quản lý chứng chỉ, hủy bỏ, mô-đun mật mã chuyên dụng để giảm tải CPU của máy chủ web, v.v.

3
Henri

Lợi ích của việc giữ toàn bộ trang web được mã hóa:

  • bạn sẽ không chọc giận khách truy cập liên quan đến quyền riêng tư của mình bằng cách gửi cho họ bản rõ sau khi đăng nhập.
  • ít rủi ro hơn cho các lỗi khi chuyển hướng/liên kết giữa các phần http và https của trang web.

Con :?

Đọc lời chứng thực từ google và những người khác. Không cần phải tốn 100% https.

3
MattBianco

Nếu một trang web được quản lý bởi một CMS mà người dùng không có kỹ thuật có thể sử dụng để chỉnh sửa các trang, họ có thể chỉnh sửa HTML để bao gồm các tham chiếu đến các tài nguyên ngoài trang web, chẳng hạn như hình ảnh, qua HTTP. Tôi đã xây dựng một trang web mua sắm chỉ sử dụng SSL khi cần thiết và chuyển hướng các trang khác trở lại HTTP, vì nếu không, bạn sẽ nhận được cảnh báo nội dung hỗn hợp do tất cả các hình ảnh bên ngoài mà chủ sở hữu đã mắc kẹt vào trang web.

2
TRiG