Trong thời đại Internet phát triển, bảo mật thông tin cá nhân ngày càng trở nên quan trọng. HTTPS và SSL là hai công nghệ giúp bảo vệ dữ liệu của bạn khi truy cập và quản lý website.
Đặc biệt, nếu bạn sở hữu một trang web WordPress xử lý thông tin nhạy cảm như dữ liệu khách hàng hoặc thanh toán, việc cấu hình HTTPS và SSL là điều bắt buộc. Hãy cùng tìm hiểu cách thiết lập HTTPS và SSL cho trang WordPress của bạn một cách chi tiết, đảm bảo an toàn cho cả bạn và người dùng!
Contents
HTTPS và SSL là gì?
Chắc chắn bạn đã từng nghe qua hai từ viết tắt này. Nếu chưa, rất có thể bạn cũng đã thấy chúng hoạt động ở đâu đó.
Bạn có thể nhận thấy rằng bất cứ khi nào bạn tương tác với một trang web an toàn (chẳng hạn như cổng ngân hàng trực tuyến), địa chỉ trong thanh trình duyệt của bạn có dạng // thay vì thông thường là //.
Ngoài ra, hầu hết các trình duyệt hiện đại sẽ hiển thị một biểu tượng ổ khóa nhỏ trong thanh trình duyệt khi bạn đang kết nối với một trang web như vậy.
Trong một số trường hợp, bạn thậm chí có thể thấy tên đầy đủ của công ty được hiển thị.
Đây là những dấu hiệu cho thấy trang web bạn đang truy cập đã thực hiện các biện pháp bảo vệ lưu lượng truy cập và quyền riêng tư của khách truy cập.
Công cụ để làm điều đó chính là HTTPS và SSL. Chúng giúp giao tiếp trên Internet an toàn hơn.
HTTPS là viết tắt của HyperText Transport Protocol Secure. Nó khác với HTTP thông thường ở chỗ nó sử dụng một chứng chỉ SSL (Secure Socket Layer) để thiết lập kết nối giữa trình duyệt và máy chủ.
Giao thức này thiết lập kết nối giữa hai bên, nơi mà khi mối quan hệ được thiết lập thành công, chỉ thông tin được mã hóa mới được truyền đi.
Điều đó có nghĩa là tất cả thông tin dạng văn bản dễ đọc mà bất kỳ ai cũng có thể xem được sẽ được thay thế bằng các chuỗi chữ cái và số ngẫu nhiên mà con người không thể đọc được.
Nếu một hacker nào đó can thiệp vào quá trình trao đổi thông tin, việc mã hóa sẽ khiến việc hiểu dữ liệu trở nên khó khăn hơn rất nhiều. Thật tuyệt, đúng không?
Chứng chỉ SSL được sử dụng cho kết nối này được gắn liền với trang web. Các chứng chỉ được cấp bởi một cơ quan chứng nhận (Certificate Authority – CA) và là duy nhất cho trang web sử dụng nó.
Mặc dù về mặt lý thuyết, bất kỳ ai cũng có thể cấp chứng chỉ SSL, nhưng các trình duyệt chỉ coi những chứng chỉ từ các cơ quan đã được biết đến là đáng tin cậy. Do đó, CA đóng vai trò như một người đảm bảo rằng bạn đang truy cập một trang web hợp pháp.
Hầu hết các trình duyệt hiện đại sẽ cảnh báo bạn nếu chứng chỉ không khớp vì kết nối sẽ được coi là không an toàn.
Chú thích kỹ thuật: các tiêu chuẩn mã hóa
SSL và HTTPS đi kèm với các tiêu chuẩn mã hóa khác nhau. Tiêu chuẩn cũ nhất gọi là SHA0 và hiện không còn được sử dụng. Người kế nhiệm của nó, SHA1, mặc dù vẫn đang được lưu hành, nhưng hiện đang bị loại bỏ dần.
Ví dụ, Google Chrome sẽ bắt đầu cảnh báo đối với các trang web sử dụng tiêu chuẩn này từ đầu năm 2016.
Tiêu chuẩn mã hóa hiện tại cho các giao thức SSL là SHA2. Tuy nhiên, tại một thời điểm nào đó, nó sẽ nhường chỗ cho SHA3, hiện đang được phát triển.
Tại sao bạn cần SSL và HTTPS?
Học cách thêm HTTPS và SSL vào WordPress là hoàn toàn cần thiết nếu bạn vận hành một trang thương mại điện tử và chấp nhận thanh toán. Thông tin tài chính của khách hàng không phải là thứ để đùa giỡn.
Tuy nhiên, giao thức này cũng có thể được sử dụng để bảo vệ các thông tin khác như thông tin đăng nhập, dữ liệu địa chỉ và các thông tin tương tự mà mọi người muốn giữ riêng tư.
Là một chủ sở hữu trang web, bạn cũng có thể cân nhắc thêm HTTPS vì lý do cá nhân, vì nó đã trở thành một yếu tố xếp hạng trên Google và các công cụ tìm kiếm khác.
Mặc dù hiệu ứng chưa lớn, nhưng Google đã công bố rằng sự tăng cường này sẽ tăng lên theo thời gian.
Ngoài ra, HTTPS còn giúp bạn xếp hạng cao hơn vì nó tải nhanh hơn. Bạn không tin tôi ư? Hãy thử kiểm tra ngay. Chắc tôi không cần nói thêm rằng tốc độ tải trang cũng là một yếu tố xếp hạng.
Chuyển đổi sang HTTPS
Bước đầu tiên để chuyển trang web của bạn sang HTTPS là mua một chứng chỉ SSL. Chứng chỉ này có thể được lấy từ nhiều nguồn khác nhau.
Một điểm bắt đầu tốt là công ty lưu trữ web của bạn, vì họ thường cung cấp chứng chỉ SSL như một phần của gói lưu trữ hoặc thêm vào.
Tuy nhiên, cũng có rất nhiều nhà cung cấp bên thứ ba khác. Để biết nên chọn ai, bạn có thể kiểm tra danh sách các cơ quan cấp chứng chỉ được bao gồm trong trình duyệt Mozilla Firefox.
Chi phí có thể dao động rất lớn tùy thuộc vào nhà cung cấp, số lượng (sub)domain và các yếu tố khác. Đáng tiếc là, đặc biệt nếu bạn đang quản lý nhiều trang web, chi phí có thể tăng lên khá nhanh.
Yếu tố chi phí cũng là một trong những lý do tôi chờ đợi Let’s Encrypt, một cơ quan cấp chứng chỉ miễn phí và mã nguồn mở sắp ra mắt (Automattic là một trong những nhà tài trợ).
Sau khi chọn được chứng chỉ phù hợp, bạn sẽ cần làm theo hướng dẫn của nhà cung cấp. Quy trình này sẽ khác nhau tùy từng nhà cung cấp, nên tôi không thể chỉ rõ cách thực hiện tại đây.
Sau đó, bạn cần liên hệ với nhà cung cấp dịch vụ lưu trữ để triển khai chứng chỉ và chuyển sang HTTPS trên phía máy chủ. Đây cũng là lý do tại sao việc chọn chứng chỉ từ nhà cung cấp lưu trữ của bạn có thể là lựa chọn dễ dàng nhất.
Xong rồi chứ? Tốt, bây giờ đến phần của bạn và thực hiện các thay đổi cần thiết trên WordPress.
Cách cấu hình WordPress cho HTTPS và SSL
Đáng tiếc là chỉ thêm chứng chỉ không đủ. Bạn cần thực hiện một số điều chỉnh bổ sung trên WordPress.
Các bước dưới đây giả định rằng bạn muốn sử dụng HTTPS trên toàn bộ trang web, điều này thường là một ý tưởng tốt. Phòng hơn chữa.
Tuy nhiên, cũng có trường hợp chỉ cần kết nối bảo mật cho một số phần trên trang web của bạn. Chúng ta sẽ đề cập đến điều đó sau.
1. Sao lưu dữ liệu!
Cũng như mọi thay đổi lớn liên quan đến trang web, điều đầu tiên bạn cần làm là tạo một bản sao lưu. Bằng cách đó, nếu có sự cố xảy ra, bạn luôn có thể khôi phục lại trạng thái trước đó. Vì vậy, hãy làm ngay! Tôi sẽ chờ.
2. Thêm SSL vào khu vực quản trị WordPress
Điều đầu tiên chúng ta muốn làm là thêm kết nối HTTPS vào tất cả các trang trong khu vực quản trị của WordPress. Bằng cách này, khi ai đó đăng nhập vào trang web của bạn, tất cả dữ liệu sẽ được trao đổi một cách an toàn.
Để thực hiện điều này, bạn cần thêm dòng mã sau vào tệp wp-config.php:
define('FORCE_SSL_ADMIN', true);
Lưu ý rằng dòng mã này cần được chèn vào trước dòng:
“That’s all, stop editing!”
Nếu không, nó sẽ không được thực thi.
Khi bạn đã thêm dòng mã, lưu tệp và tải lại nó lên máy chủ, hãy thực hiện một thử nghiệm nhanh. Truy cập trang đăng nhập của bạn (ví dụ: //yoursite.com/wp-admin) để kiểm tra xem mọi thứ có hoạt động bình thường không.
Nếu mọi thứ diễn ra suôn sẻ, bạn sẽ có một kết nối an toàn. Tuy nhiên, nếu bạn gặp vấn đề, hãy xóa dòng mã khỏi wp-config.php vì có điều gì đó sai và bạn cần khắc phục sự cố.
Tạm thời, chúng ta sẽ giả định rằng mọi thứ đã ổn và tiếp tục đến bước tiếp theo.
3. Cập nhật địa chỉ trang web
Nếu bạn đã chuyển thành công khu vực quản trị sang HTTPS, đã đến lúc thực hiện điều tương tự cho phần còn lại của trang web. Đầu tiên, chúng ta cần thay đổi địa chỉ trang web.
Việc này rất đơn giản: chỉ cần vào Cài đặt > Tổng quan và thêm // vào cả hai trường “Địa chỉ WordPress” (nơi cài đặt WordPress) và “Địa chỉ trang web” (địa chỉ mà khách truy cập nhập vào trình duyệt).
Lưu lại và hoàn tất. Sau đó, bạn có thể phải đăng nhập lại.
Để đảm bảo khách truy cập có thể duyệt trang web của bạn một cách an toàn, bạn cần thiết lập chuyển hướng trong tệp .htaccess. Hầu hết mọi người đã có tệp này trên máy chủ của mình (đảm bảo rằng FTP của bạn hiển thị các tệp ẩn), nhưng nếu chưa, đây là lúc để tạo nó.
Trong tệp .htaccess, chèn đoạn mã sau:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) //%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule>
Bây giờ, tất cả khách truy cập của bạn sẽ tự động được chuyển hướng đến phần bảo mật của trang web. Tuyệt vời hơn đúng không?
Thiết lập HTTPS chỉ trên một số trang cụ thể
Mặc dù tôi khuyên bạn nên sử dụng SSL trên toàn bộ trang web, nhưng có thể một số bạn chỉ muốn áp dụng nó trên một số trang cụ thể.
Ví dụ, trường hợp sử dụng là khi bạn quyết định chỉ triển khai kết nối bảo mật cho các phần nhạy cảm của trang web như biểu mẫu thanh toán, giỏ hàng hoặc tương tự, và để nguyên các phần còn lại.
Mục tiêu này có thể đạt được bằng plugin WordPress HTTPS (SSL). Plugin này cho phép bạn chọn nơi sử dụng HTTPS trên trang web của mình.
Mặc dù plugin này đã lâu không được cập nhật, nhưng các nguồn đáng tin cậy cho biết nó vẫn an toàn để sử dụng. Nếu gặp vấn đề, bạn có thể sử dụng iThemes Security, một plugin khác có chức năng tương tự.
Xử lý sự cố
Trên lý thuyết, các bước trên là đủ để chuyển toàn bộ trang web sang SSL. Tuy nhiên, vì mọi thứ không phải lúc nào cũng diễn ra suôn sẻ, dưới đây là một số mẹo xử lý sự cố.
1. Cảnh báo nội dung hỗn hợp (Mixed Content)
Nội dung hỗn hợp xảy ra khi một số phần nội dung trên trang web vẫn được tải qua HTTP, trong khi phần còn lại đã chuyển sang HTTPS bảo mật hơn.
Trong trường hợp này, các trình duyệt hiện đại sẽ hiển thị cảnh báo, khiến người dùng coi trang web của bạn là không an toàn. Điều này tất nhiên cần được tránh.
Sử dụng công cụ miễn phí SSL Check để quét toàn bộ trang web, kiểm tra các hình ảnh, script, tệp CSS không an toàn, v.v. Với thông tin này, bạn có thể thực hiện các biện pháp khắc phục.
Một lựa chọn khác để kiểm tra từng trang riêng lẻ là công cụ Why No Padlock?.
Bạn cũng có thể chú ý đến biểu tượng ổ khóa trong thanh trình duyệt khi duyệt trang web của mình. Nếu biểu tượng hiển thị cảnh báo, bạn đang truy cập một phần có nội dung hỗn hợp.
2. Chứng chỉ hết hạn
Khi chứng chỉ của bạn hết hạn, khách truy cập sẽ nhận được cảnh báo nghiêm trọng và được khuyên không nên truy cập vào trang web của bạn. Do đó, bạn không được để điều này xảy ra. Hãy đảm bảo rằng chứng chỉ của bạn được gia hạn kịp thời.
Cảnh báo tương tự cũng có thể xuất hiện đối với chứng chỉ tự cấp mà không được cơ quan bên ngoài xác nhận. Đây là lý do bạn nên chọn nguồn cung cấp chứng chỉ SSL đáng tin cậy.
3. Tên miền của chứng chỉ không khớp với địa chỉ trang web
Đôi khi lý do khiến trang web của bạn không được trình duyệt đánh dấu an toàn là vì tên miền của chứng chỉ và tên miền của trang web không khớp. Nếu đây là trường hợp xảy ra, bạn cần giải quyết với cơ quan quản lý tên miền của mình.
Để biết lỗi này có phải là vấn đề bạn đang gặp phải không, công cụ Why No Padlock? có thể giúp bạn. Một công cụ phân tích máy chủ khác là SSL Server Test của SSL Labs. Đây cũng là công cụ miễn phí và cung cấp rất nhiều thông tin về cấu hình SSL của bạn.
4. CDN không hỗ trợ SSL
Nếu bạn là một trong số nhiều người dùng WordPress sử dụng mạng phân phối nội dung (CDN) để tăng tốc độ trang web, bạn cần đảm bảo rằng CDN của mình hỗ trợ SSL trước khi chuyển đổi.
MaxCDN là một ví dụ được đánh giá cao khi nói về HTTPS. Nếu bạn đang sử dụng nhà cung cấp khác, hãy liên hệ với họ trước.
Nếu bạn quyết định chọn MaxCDN, chúng tôi có mã giảm giá độc quyền giúp bạn được giảm giá 25%.
Tóm lại
Nếu bạn đang điều hành một trang web WordPress xử lý dữ liệu nhạy cảm, việc triển khai HTTPS là không thể tránh khỏi. Không mã hóa lưu lượng truy cập, nguy cơ thông tin của khách hàng bị chặn là quá lớn.
Bên cạnh việc trở thành một nhà cung cấp dịch vụ có trách nhiệm, lớp bảo mật bổ sung này cũng là một tín hiệu tích cực cho các công cụ tìm kiếm. Vì vậy, nếu bạn không làm điều này vì khách hàng của mình, ít nhất hãy làm vì thứ hạng tìm kiếm.
Tuy nhiên, điều quan trọng cần lưu ý rằng HTTPS không phải là tất cả trong bảo mật WordPress. Để thực sự bảo vệ trang web, cần thêm các biện pháp khác.
Một khởi đầu tốt là các plugin bảo mật chất lượng như iThemes Security, WordFence, hoặc All In One WP Security. Xem xét dịch vụ trả phí như Sucuri cũng không phải là một ý tưởng tồi.
Hãy nhớ rằng, “phòng bệnh hơn chữa bệnh.” Hãy nghiêm túc với bảo mật WordPress. Khách truy cập và khách hàng của bạn sẽ biết ơn điều đó.