Bảo mật trang web bằng HTTPS

HTTPS (Giao thức truyền siêu văn bản an toàn) là một giao thức truyền tải trên Internet, có khả năng bảo vệ dữ liệu toàn vẹn và bảo mật giữa máy tính của người dùng và trang web. Khi sử dụng một trang web, người dùng mong đợi có được một trải nghiệm bảo mật và riêng tư trên mạng. Bạn nên dùng HTTPS để bảo vệ kết nối giữa người dùng và trang web của bạn, bất kể nội dung trên trang web là gì.

Dữ liệu gửi qua HTTPS được bảo mật bằng giao thức Bảo mật tầng truyền tải (TLS), gồm có ba lớp bảo vệ chính:

  1. Mã hóa: Mã hóa dữ liệu được trao đổi để chống theo dõi lén. Điều đó nghĩa là trong lúc người dùng duyệt trang web, không ai có thể "nghe" các cuộc hội thoại của họ hay theo dõi hoạt động của họ trên nhiều trang hoặc đánh cắp thông tin của họ.
  2. Tính toàn vẹn của dữ liệu: Dữ liệu không thể bị sửa đổi hay làm hỏng trong lúc truyền, dù là cố ý hay theo cách nào khác, mà không bị phát hiện.
  3. Xác thực: Chứng minh rằng người dùng của bạn đang giao tiếp với đúng trang web. Giao thức này giúp chống lại các cuộc tấn công xen giữa và xây dựng niềm tin nơi người dùng, qua đó đem lại những lợi ích kinh doanh khác.

Các phương pháp hay nhất khi triển khai HTTPS

Dùng các chứng chỉ bảo mật mạnh

Bạn phải lấy chứng chỉ bảo mật để có thể bật HTTPS cho trang web của mình. Chứng chỉ này do một tổ chức phát hành chứng chỉ(CA) cấp thông qua một số bước để xác minh rằng địa chỉ web của bạn thực sự thuộc về tổ chức của bạn, qua đó bảo vệ khách hàng của bạn khỏi các cuộc tấn công xen giữa. Khi thiết lập chứng chỉ, hãy chọn khóa 2048-bit để đảm bảo chứng chỉ của bạn có mức bảo mật cao. Nếu bạn đã có một chứng chỉ với loại khóa yếu hơn (1024-bit), hãy nâng cấp lên 2048 bit. Khi chọn chứng chỉ cho trang web của bạn, hãy ghi nhớ một số điều sau:

  • Lấy chứng chỉ từ một tổ chức phát hành chứng chỉ (CA) đáng tin cậy có cung cấp dịch vụ hỗ trợ kỹ thuật.
  • Xác định loại chứng chỉ bạn cần:
    • Chứng chỉ đơn cho mỗi nguồn gốc bảo mật (ví dụ: www.example.com).
    • Chứng chỉ đa miền cho nhiều nguồn gốc bảo mật phổ biến (ví dụ: www.example.com, cdn.example.com, example.co.uk).
    • Chứng chỉ ký tự đại diện cho một nguồn gốc bảo mật có nhiều miền con động (ví dụ: a.example.com, b.example.com).

Dùng lệnh chuyển hướng vĩnh viễn phía máy chủ

Hãy chuyển hướng người dùng và công cụ tìm kiếm đến trang HTTPS hay tài nguyên của bạn bằng lệnh chuyển hướng vĩnh viễn phía máy chủ.

Xác minh rằng Google có thể thu thập dữ liệu và lập chỉ mục các trang HTTPS của bạn

  • Hãy dùng Công cụ kiểm tra URL để kiểm tra xem Googlebot có thể truy cập vào các trang của bạn hay không.
  • Đừng dùng tệp robots.txt để chặn các trang HTTPS.
  • Đừng đưa thẻ noindex vào các trang HTTPS.

Hỗ trợ HSTS

Các trang web HTTPS nên hỗ trợ HSTS (Bảo mật truyền tải nghiêm ngặt HTTP). HSTS cho trình duyệt biết rằng phải tự động yêu cầu trang HTTPS, ngay cả khi người dùng nhập http trong thanh địa chỉ của trình duyệt. HSTS cũng yêu cầu Google phân phối URL bảo mật trong kết quả tìm kiếm. Tất cả những điều này giúp giảm thiểu nguy cơ phân phối nội dung không bảo mật đến người dùng của bạn.

Để hỗ trợ HSTS, hãy dùng một máy chủ web có hỗ trợ HSTS và bật chức năng đó.

HSTS là giao thức an toàn hơn nhưng lại khiến chiến lược khôi phục của bạn trở nên phức tạp hơn. Bạn nên bật HSTS theo cách sau:

  1. Trước tiên, triển khai trang HTTPS mà không sử dụng HSTS.
  2. Bắt đầu gửi tiêu đề HSTS bằng một max-age ngắn. Theo dõi lưu lượng truy cập vào trang web của bạn từ cả người dùng và các ứng dụng khác, đồng thời theo dõi hiệu suất của các phần phụ thuộc, chẳng hạn như quảng cáo.
  3. Tăng dần max-age cho HSTS.
  4. Nếu HSTS không ảnh hưởng tiêu cực đến người dùng và công cụ tìm kiếm, bạn có thể thêm trang web của mình vào danh sách tải trước HSTS mà đa số các trình duyệt lớn đang sử dụng. Cách làm này giúp tăng cường bảo mật và cải thiện hiệu suất.

Tránh các lỗi thường gặp

Trong quá trình bảo mật trang web của bạn bằng TLS, hãy tránh những sai lầm sau:

Sai lầm phổ biến và giải pháp khắc phục
Chứng chỉ hết hạn Đảm bảo chứng chỉ của bạn luôn cập nhật.
Chứng chỉ được đăng ký với tên trang web không chính xác Kiểm tra xem bạn đã lấy chứng chỉ cho mọi tên máy chủ mà trang web của bạn phân phát hay chưa. Ví dụ: nếu chứng chỉ của bạn chỉ áp dụng cho www.example.com, thì khi một khách truy cập chỉ dùng example.com (không có tiền tố www.) để tải trang web của bạn, họ sẽ bị chặn vì lỗi tên chứng chỉ không trùng khớp.
Không hỗ trợ Chỉ báo tên máy chủ (SNI) Về cơ bản, hãy đảm bảo rằng máy chủ web của bạn có hỗ trợ SNI và đối tượng người dùng của bạn sử dụng trình duyệt được hỗ trợ. Mặc dù tất cả trình duyệt hiện đại đều hỗ trợ SNI, nhưng bạn sẽ cần IP riêng nếu bạn muốn hỗ trợ các trình duyệt cũ hơn.
Vấn đề về quá trình thu thập dữ liệu Đừng dùng robots.txt để chặn quá trình thu thập dữ liệu trên trang web HTTPS của bạn. Tìm hiểu thêm
Vấn đề về quá trình lập chỉ mục Hãy cho phép các công cụ tìm kiếm lập chỉ mục trang của bạn nếu được. Đừng dùng thẻ noindex.
Phiên bản giao thức cũ Phiên bản giao thức cũ có nhiều lỗ hổng; hãy đảm bảo rằng bạn có phiên bản mới nhất và cập nhật nhất của thư viện TLS và triển khai phiên bản giao thức mới nhất.
Các phần tử bảo mật bị sử dụng lẫn lộn Chỉ nhúng nội dung HTTPS trên các trang HTTPS.
Các nội dung khác nhau trên HTTP và HTTPS Đảm bảo rằng nội dung trên trang web HTTP và HTTPS của bạn giống nhau.
Lỗi mã trạng thái HTTP trên HTTPS Kiểm tra xem trang web của bạn có trả về mã trạng thái HTTP thích hợp hay không. Ví dụ: 200 OK đối với các trang có thể truy cập, hoặc 404 hoặc 410 đối với các trang không tồn tại.

Di chuyển từ HTTP sang HTTPS

Nếu bạn di chuyển trang web từ HTTP sang HTTPS, Google sẽ xử lý quá trình này giống như quá trình di chuyển trang web kèm theo thay đổi URL. Quá trình này có thể có ảnh hưởng tạm thời đến một vài số liệu về lưu lượng truy cập. Hãy tìm hiểu thêm về nội dung đề xuất cho mọi hình thức di chuyển trang web.

Đừng quên thêm tài sản HTTPS mới vào Search Console. Search Console xử lý HTTP và HTTPS độc lập với nhau, các tài sản trong Search Console không dùng chung dữ liệu với nhau.

Để biết thêm mẹo về cách sử dụng các trang HTTPS trên trang web của bạn, hãy xem Câu hỏi thường gặp về việc di chuyển sang HTTPS.

Các tài nguyên khác về cách triển khai TLS

Dưới đây là một số tài nguyên khác về việc triển khai TLS trên trang web của bạn: