HSTS (HTTP Strict Transport Security) là một giao thức bảo mật yêu cầu mọi kết nối tới một trang web phải được mã hóa bằng giao thức HTTPS. Hiện nay Google đang áp dụng HSTS cho 45 tên miền cao cấp nhất. Hôm nay, các bạn hãy cùng thủ thuật WordPress tìm hiểu HSTS là gì, cách tối ưu HSTS nhé

HSTS là gì?

hsts là gì


HSTS (HTTP Strict Transport Security) là một giao thức bảo mật yêu cầu mọi kết nối tới một trang web phải được mã hóa bằng giao thức HTTPS. Hiện nay Google đang áp dụng HSTS cho 45 tên miền cao cấp nhất, gồm cả các tên miền có đuôi .google, .how và .soy. HTTPS là một phần thiết yếu để đảm bảo truy cập an toàn vào các trang web. Ngăn chặn các cuộc tấn công bằng cách chặn các yêu cầu, thay đổi hoặc thao túng thông tin giữa người dùng và trang web.

Khi chúng ta truy cập một trang web sử dụng http, dữ liệu đầu tiên được gửi đến máy chủ web không được mã hóa. Nếu trang web đó được bảo mật https. Nó sẽ gửi yêu cầu chuyển hướng ngay lập tức trở lại trình duyệt, đến URL có https://domain.com. Nhưng trước khi chuyển hướng, các yêu cầu được gửi bằng http có thể bị tấn công bằng cách chặn yêu cầu và thay đổi thông tin trong yêu cầu, dẫn đến mất thông tin phiên về lượt truy cập trang web.

HSTS cố gắng chống lại lỗ hổng tiềm ẩn này bằng cách hướng dẫn trình duyệt rằng miền này chỉ có thể được truy cập bằng HTTPS. Khi một trang web được kích hoạt HSTS. Khi truy cập trang web đó qua http, trình duyệt sẽ không gửi yêu cầu đến máy chủ web bằng http nữa. Mà trình duyệt web sẽ tự động chuyển hướng sang https và gửi yêu cầu qua giao thức https đến máy chủ. Đó là đáp án cho câu hỏi HSTS là gì? Ngay bây giờ hãy cùng tìm hiểu cách thức hoạt động của HSTS nhé.

Cách thức hoạt động của HSTS là gì?

hsts hoạt động như thế nào

Khi người dùng truy cập trang web qua https hoặc được chuyển hướng từ http sang https. Máy chủ web sẽ gửi một tiêu đề HSTS đến trình duyệt và lưu tiêu đề này cho các yêu cầu khác. Sau đó, nếu người dùng tiếp tục truy cập vào trang web http://domain.com, trình duyệt sẽ tự động chuyển hướng đến https://domain.com. Và gửi yêu cầu truy cập đến máy chủ web thông qua giao thức bảo mật https. Thay vì http không có HSTS. Vậy các bạn đã biết cách thức hoạt động của HSTS là gì chưa? Hãy tìm hiểu cách tối ưu HSTS nhé.

Tối ưu HSTS

hsts

HSTS có thể tăng tính bảo mật của trang web bằng cách yêu cầu trình duyệt luôn sử dụng https cho trang đó. Tuy nhiên, HSTS không phải là một giải pháp hoàn hảo để giải quyết triệt để vấn đề chiếm quyền điều khiển phiên khi truy cập HTTP. Người dùng vẫn dễ bị tấn công nếu họ truy cập trang web được bảo vệ bằng HSTS qua HTTP khi họ có:

  • Chưa bao giờ truy cập website đó
  • Setup lại trình duyệt
  • Sử dụng một trình duyệt hoặc thiết bị mới
  • Clear cache trình duyệt
  • Dùng trình duyệt ẩn danh

Để giải quyết vấn đề này, Google sử dụng “danh sách tải trước HSTS”. Bồm các miền web và miền phụ sử dụng HSTS và được gửi đến https://hstspreload.appspot.com/. Danh sách các miền này được phân phối và mã hóa cứng vào các trình duyệt web. Người dùng truy cập các miền web trong danh sách này sẽ tự động sử dụng HTTPS. Hoặc được chuyển hướng đến HTTPS nếu truy cập bằng HTTP. Nếu máy chủ web không hỗ trợ HTTPS, yêu cầu truy cập sẽ bị từ chối. Nếu bạn không biết tối ưu HSTS là gì? Thì đừng bỏ qua những thông tin này nhé

Cài đặt HSTS cho Nginx

Thêm header STS (Strict-Transport-Security) vào cài đặt vhost của nginx:

add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always;

Với cài đặt này, chúng ta có:

  • add_header Strict-Transport-Security : Thêm STS vào response header
  • max-age=31536000 : Header STS sẽ expire sau 1 năm
  • includeSubDomains : Áp dụng HSTS cho tất cả các tên miền con

Tham số «always» cho phép đặt tiêu đề cho tất cả các phản hồi, bao gồm các phản hồi lỗi được tạo nội bộ. Các phiên bản NGINX cũ hơn không hỗ trợ tham số «always» và không đặt tiêu đề cho các phản hồi lỗi được tạo nội bộ.

Theo mặc định, HSTS được lưu trong bộ nhớ cache của trình duyệt. Nếu bạn muốn lưu tên miền này trong «HSTS preload lis» tại https://hstspreload.appspot.com/, bạn cần thêm bootstrap vào cài đặt:

add_header Nghiêm ngặt-Vận chuyển-Bảo mật «max -age = 31536000; includeSubDomains »always; preload

Cách tắt HSTS cho Nginx

Để tắt HSTS, chúng ta chỉ cần cài đặt tham số “max-age=0”:

add_header Strict-Transport-Security “max-age=0; includeSubDomains” always;

Xem thêm: Htaccess Wordpess là gì? hướng dẫn tạo file .htaccess đơn giản

Trên đây là tổng hợp các thông tin HSTS là gì, cách tối ưu HSTS. Hãy đón đọc những bài viết tiếp theo của thủ thuật WordPress nhé