it-swarm-vi.com

HSTS bảo mật thêm trên HTTPS

HSTS có tốt để sử dụng ngay cả khi máy chủ của tôi được định cấu hình để sử dụng HTTPS (khi HTTP được sử dụng, quy tắc viết lại trong Apache biến nó thành HTTPS)?

Ngoài ra HSTS nên được sử dụng ngay cả trên các tài nguyên như CSS và hình ảnh, hoặc chỉ khi loại nội dung là văn bản/html?

28
Novice User

Có, nếu bạn đang sử dụng SSL sitewide, thì tôi chắc chắn khuyên bạn nên bật HSTS .

HSTS là một biện pháp bảo mật quan trọng để đánh bại các cuộc tấn công trung gian nhằm chuyển người dùng sang http và sau đó tấn công người dùng. Ví dụ, sslstrip là một công cụ nổi tiếng để thực hiện một cuộc tấn công như vậy. Để biết thêm chi tiết về loại tấn công này, hãy xem các câu hỏi sau: Làm cách nào để ngăn chặn cuộc tấn công sslstrip? , Tùy chọn khi phòng thủ chống lại SSLstrip? , và câu trả lời này .

HSTS nói với trình duyệt: không bao giờ sử dụng HTTP với trang web này. Chỉ truy cập nó qua HTTPS. Vì vậy, để kích hoạt HSTS, bạn phải đảm bảo rằng trang web của bạn hoạt động với HTTPS và chỉ HTTPS. Điều này bao gồm mọi thứ: HTML, CSS, Javascript, mọi thứ. Đảm bảo rằng tất cả CSS và Javascript trên trang web của bạn đều có sẵn trên HTTPS. Ngoài ra, tôi khuyên bạn nên chuyển đổi các trang của mình để tham chiếu mọi thứ qua HTTPS (Tôi khuyên các trang của bạn tránh tải bất kỳ tài nguyên Javascript hoặc CSS nào khác qua HTTP, vì điều đó có thể gây ra cảnh báo hoặc sự cố bảo mật cho một số trình duyệt).

Ví dụ: giả sử trang web của bạn là www.example.com và bạn có một trang https://www.example.com/buy.html bao gồm một số Javascript từ trang web của bạn. Bạn phải đảm bảo rằng tệp Javascript của bạn có sẵn trên URL HTTPS (ví dụ: https://www.example.com/library.js). Tôi khuyên bạn nên tải nó qua URL HTTPS (ví dụ: <SCRIPT SRC="https://www.example.com/library.js">).

P.S. Tôi cũng khuyên bạn nên đặt cờ secure trên tất cả các cookie bạn sử dụng.

15
D.W.

, bảo mật giao thông nghiêm ngặt mang lại lợi ích thực sự.

HSTS yêu cầu trình duyệt chỉ giao tiếp với máy chủ thông qua HTTPS. Lần đầu tiên trình duyệt nhìn thấy tiêu đề HSTS từ máy chủ, nó sẽ nhớ nó. Khi người dùng truy cập lại trang web, trình duyệt sẽ thực thi rằng tất cả các giao tiếp được thực hiện thông qua HTTPS. Điều này sẽ hoạt động miễn là kẻ tấn công không tước tiêu đề trong lần truy cập đầu tiên vào trang web.

Điều này ngăn chặn các cuộc tấn công tước SSL, một hình thức tấn công trung gian nhằm cung cấp cho người dùng một tài nguyên văn bản rõ ràng thay vì SSL. Thông thường, người dùng sẽ không được cảnh báo và hầu hết người dùng "trung bình" sẽ không phát hiện ra rằng khóa SSL hoặc tô sáng xanh/xanh không được hiển thị trong thanh URL. Trong trường hợp của HSTS, trình duyệt sẽ ngay lập tức cảnh báo người dùng rằng trình duyệt đang cố vi phạm chính sách bảo mật của chính họ.

  1. Máy khách tạo một kết nối văn bản rõ ràng đến máy chủ.
  2. Máy chủ phản hồi với chuyển hướng đến địa chỉ HTTPS, với bộ tiêu đề HSTS.
  3. Máy khách và máy chủ liên lạc qua SSL.
  4. Phiên kết thúc.
  5. Khách hàng quay lại sau, trình duyệt đã lưu trữ cờ HSTS cho miền này.
  6. Kẻ tấn công cố gắng thực hiện tấn công dải SSL và cung cấp văn bản rõ ràng cho khách hàng.
  7. Khách hàng nhận ra rằng chính sách HSTS không cho phép điều này và cảnh báo cho người dùng.

Để bảo mật hơn, một số người đang đề xuất rằng HSTS được triển khai như một tùy chọn trong DNSSEC, để tiêu đề HSTS được đặt làm một phần của tra cứu DNS. Do DNSSEC cung cấp bảo mật mạnh mẽ thông qua các chứng chỉ ủy quyền được phân phối trước, điều này sẽ khiến kẻ tấn công cực kỳ khó khăn trong việc đánh bại cơ chế HSTS, ngay cả khi chúng đang tích cực cố gắng mở dải SSL trong lần truy cập đầu tiên vào trang web.

22
Polynomial